-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
map CCMA IIIF images #12
Comments
I also would be very interested in seeing that stuff get mapped! I had intended IIIF_URL to be a IIIF identifier, but can change that to whatever makes sense for mapping. I also will have presentation manifests for those objects up sometime next week if that's helpful. May I suggest that ImagePath still be mapped as the object of a crm:P138i_has_representation predicate though? In addition to whatever the IIIF mapping turns out to be, I mean. All our objects don't have IIIF-represented images and it'd be a shame to lose representation data about the ones that don't. |
We are building the metadata files for the IIIF mappings, so we will need to figure out how to map and use this data.
… On Mar 10, 2017, at 6:14 AM, charlie butcosk ***@***.***> wrote:
I also would be very interested in seeing that stuff get mapped! I had intended IIIF_URL to be a IIIF identifier, but can change that to whatever makes sense for mapping. I also will have presentation manifests for those objects up sometime next week if that's helpful.
May I suggest that ImagePath still be mapped as the object of a crm:P138i_has_representation predicate though? All our objects don't have IIIF-represented images and it'd be a shame to lose representation data about the ones that don't.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#12 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ABB-qTrs5YjipSJiaJOkqOoK1DzyVhRnks5rkVrdgaJpZM4MZIHn>.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/american-art/ccma","title":"american-art/ccma","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in ***@***.*** in #12: I also would be very interested in seeing that stuff get mapped! I had intended IIIF_URL to be a IIIF identifier, but can change that to whatever makes sense for mapping. I also will have presentation manifests for those objects up sometime next week if that's helpful.\r\n\r\nMay I suggest that ImagePath still be mapped as the object of a crm:P138i_has_representation predicate though? All our objects don't have IIIF-represented images and it'd be a shame to lose representation data about the ones that don't."}],"action":{"name":"View Issue","url":"#12 (comment)"}}}
|
@azaroth42: Do you have written down any of those notes from our discussion about possible ways to map IIIF to the CIDOC-CRM? |
designforcontext/aac_review_tool#51 is the general issue for producing IIIF |
Better lose
Sure, it would be a pity to lose those. I propose the same Europeana mapping as you can see on the bottom left of this image from designforcontext/aac_review_tool#51: <http://data.americanartcollaborative.org/ccma/object/4>
crm:P138i_has_representation
<http://iiif.museum.colby.edu/2013.003_001_cd/full/full/0/default.jpg>.
<http://iiif.museum.colby.edu/2013.003_001_cd/full/full/0/default.jpg> a crm:E38_Image;
svcs:has_service <http://iiif.museum.colby.edu/2013.003_001_cd>.
<http://iiif.museum.colby.edu/2013.003_001_cd> a svcs:Service;
dct:conformsTo <http://iiif.io/api/image>.
## The rest is not needed in the semantic repo, since it's in info.json
doap:implements <http://iiif.io/api/image/2/level2.json> ,
[ iiif:format "webp" , "jpg" , "gif" , "png" ;
iiif:quality "gray" , "default" , "bitonal" , "color" ;
iiif:supports iiif:arbitraryRotationFeature , iiif:sizeAboveFullFeature , iiif:canonicalLinkHeaderFeature , iiif:profileLinkHeaderFeature , iiif:mirroringFeature , iiif:regionSquareFeature] ;
exif:height 3072 ;
exif:width 2308 . For conventional images, it's quite simpler: <http://data.americanartcollaborative.org/ccma/object/4>
crm:P138i_has_representation
<http://iiif.museum.colby.edu/2013.003_001_cd.jpg>.
<http://iiif.museum.colby.edu/2013.003_001_cd.jpg> a crm:E38_Image. |
@bsnikhila To implement this (I use
<$obj> crm:P138i_has_representation <$ImageUrl>.
<$ImageUrl> a crm:E38_Image.
<$obj> crm:P138i_has_representation <$ImageUrl/full/full/0/default.jpg>.
<$ImageUrl/full/full/0/default.jpg> a crm:E38_Image; svcs:has_service <$ImageUrl>.
<$ImageUrl> a svcs:Service; dct:conformsTo <http://iiif.io/api/image>. |
@workergnome Then you can query like this: ?obj crm:P138i_has_representation ?img.
optional {?img svcs:has_service ?iiif. ?iiif dct:conformsTo <http://iiif.io/api/image>.} |
Unsurprisingly, we came up with a simpler approach that treats the Image API endpoint as a CRM Image. Image in CRM is an abstract concept, not necessarily a representation in the web architecture sense, which is fine for the service endpoint from which you can get images. <https://linked.art/example/object/37> a crm:E22_Man-Made_Object ;
rdfs:label "Sculpture" ;
crm:P138i_has_representation <http://iiif.example.org/image/1> ;
crm:P2_has_type <http://vocab.getty.edu/aat/300047090> .
<http://iiif.example.org/image/1> a crm:E38_Image ;
rdfs:label "IIIF Image API for Sculpture" ;
dcterms:conformsTo <http://iiif.io/api/image> . |
We just pushed a bunch of changes to our IIIF setup and our data, the fixed image links are in our most recent commit. The next time @bsnikhila runs the mapping we should be good on our end. Per @VladimirAlexiev 's suggestion, our IIIF IDs now drop the file extension and internal suffix. They also point at larger images where they can, but an "is DZI?"-style flag isn't workable given our implementation. The IIIF endpoint and returns the right sizes/tile where it can so open sea dragon and/or @workergnome 's viewer should be hunky dunky. |
Pragmatically speaking: IMHO restricting crm:P138i_has_representation to actual image URLs will make @workergnome's work simpler.
Following @azaroth42's proposal, he'd need to examine dcterms:conformsTo and then tack Ontologically speaking, an image is different from a server that can return many transformations of that image, including parts thereof. It's true that crm:E38_Image is abstract, so you could interpret it as that whole family of images. But if I return one pixel from Mona Liza, you'd be hard-pressed to call that an image of Mona Liza! |
If the implementation cannot return a JPG, then it's not a valid IIIF implementation as the JPG format is mandatory at all conformance levels. And once you get to adding on parameters, that seems beyond the utility and expectations of modeling in CRM to me. Another suggestion was to give |
I agree that the format is important. Either I should be able to assume that an id linked using Speaking as a client, I'd much rather write switch statements based on results returned in |
There are 2 fields: Image_Path (ends in jpg) and IIIF_URL (does not end in jpg). Which field should I consider for mapping? Or should I use both? Could you please tell me how I should map these and if I should do this for all museums (Note: other museums do not have the IIIF URL). Tagging @jainn3 too because he is using this data. |
image_path should be mapped as a standard image. The one without should be mapped so:
|
The commit I made just now includes a "Label" field in the array of images associated with an object for the |
Discussed with @caknoblock today. We are generating the manifest files for all museums' image data, including for CCMA. Is it required for me to map the IIIF URLs here or will the manifest files do? |
@caknoblock If only CCMA has IIIF (deep zoom) images, why do you need manifests for the other museums? Plain image URLs are enough. @cbutcosk CCMA had manifests (see first URL in this issue) but I can't find them now. checked these URLs |
@VladimirAlexiev Use the updated URLs/Identifiers from the JSON I pushed a few days ago and you should be good, eg:
@bsnikhila & @caknoblock I think it may be useful to map these images the way already outlined in this issue if you're looking to generate Presentation manifests for all museums--resources backed by servers that speak the Image API have a |
Confirming the above work ok. https://iiif.museum.colby.edu/image/2013.003_001 redirects to Charlie, do you mean a manifest describing all the images of a museum? That could be useful to @workergnome. For an example, go to http://projectmirador.org/demo/, click left dropdown, select Yale, click right dropdown, select Gallery, and the result is: |
@VladimirAlexiev: The image API will give us access to metadata that will enable Deep Zoom, and thumbnails, and things like that. Manifests and the Presentation API will give us the ability to associate metadata with the images, to group related images, and to make using and sharing these images more powerful. They're orthogonal, so we can have a presentation API for a non-deep-zoom image, and we can use the Image API without a manifest, but they're most powerful when you have both. |
@bsnikhila—if an institution has their own, published manifests, it's probably best to use those. |
We can extract image_url prefix (https://iiif.museum.colby.edu/image/1995.151_001) from the image url itself (https://iiif.museum.colby.edu/image/1995.151_001/full/full/0/default.jpg) and use it as service id in the manifest file. We will do this using the python script and put in the manifest file. |
http://data.americanartcollaborative.org/page/ccma/object/4 crm:P138i_has_representation
http://iiif.museum.colby.edu/2013.003_001_cd.jpg.
If you click that URL, it returns JSON so there's a live IIIF server underneath. But that URL is not an image (JPEG)
There are two issues here:
The text was updated successfully, but these errors were encountered: