-
Notifications
You must be signed in to change notification settings - Fork 9
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
Add EXIF properties for media objects #498
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jag tycker att det ser bra ut! Bra om @niklasl också kastar ett öga.
ping @niklasl du får gärna kika på detta när du har tid, det är en liten pull-request |
sdo:domainIncludes :MediaObject ; | ||
owl:equivalentProperty exif:colorSpace . | ||
|
||
:dateTimeDigitized a owl:DatatypeProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this be the same as the value of :date
on a :DigitalReproduction
event? I think we need to look at how to harmonize the model around these details. (We may define an owl:propertyChainAxiom
for this shorthand. The important thing is to ensure that we don't have different ways of expressing the same information; to avoid making it hard to know where to put and look for the details.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might be expressing the same value. Meaning, the datetime is the moment in which the digitized image was created and is unchanged by modifications to the image. If it is the the moment in which the camera shot the picture or if it the moment in which the digital time was created, I cannot say for sure. Seems to be hard to differentiate the two in the modern age. But if a DigitalReproduction event is the moment a digital file is made, then we are talking about the same thing.
Is the term 'dateTimeDigitized' superflouous in that case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good reasoning. In principle yes. Although I can see the event on a more general level of abstraction, lacking the timestamp precision expected for files. They should correlate (which is expensive if one is not logically derived from the other), but may be for different uses.
Also, strictly, the Representation is "immutable"; an edited copy would be a new one (derived from or a version of the previous). If that discipline was possible to maintain, kbc:created would be enough (though we'd need to widen its domain a little).
(OTOH, dateTimeDigitized
leaves no room for doubt. It also depends on what consumers would look for and assume given the prescence of either; or worse, both.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the input, it took a bit of time to come back to this but now we have checked with our consumers and seeing they are specifically interested in date of digitisation per image file, I think it is safer to introduce the new term than to introduce possible confusion in the existing one that, as you say, is not as precise in its name.
Would you agree with that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have found ImageBitDepth in vocab/enums.ttl
"""
:ImageBitDepth a owl:Class;
rdfs:label "Image bit depth"@en, "Bildens bitdjup"@sv;
rdfs:subClassOf :DigitalCharacteristic;
owl:equivalentClass bflc:ImageBitDepth .
"""
I am unsure about the domain of the term and whether I need to add something in order for it to also describe MediaObjects now. Help is appreciated @niklasl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping @niklasl :)
Looks valuable. Do you have example descriptions where we will use these? As noted for There are some forms from BIBFRAME which may have been used to capture this (e.g. (Regardless of the normalized form we need to follow, we may still define these as shorthands (using |
An example of this description would be in a FilePackage where the "includes" List for image files could look as follows:
If |
If the data is extracted from the embedded EXIF data as is, that A quick reading of EXIF seems to indicate one of three common values for Is also Given that, I'm leaning on defining all three, as you proposed! (And if there is more EXIF data, just using that namespace (declaring the prefix) to embed what we get as it stands is an option. It's probably never expected to be typed, and is provided for potential machine processing and technical display or filtering; right?) |
@niklasl Glymur is a library we will use for metadata extraction from JP2 files and they have internally coded for the following colorSpaces
I sent this info to the photographer and am waiting for a confirmation from their side so we do not miss a value. After yesterday's meeting we think to have landed in the following model making my changes to the definitions repo unneccessary, but do correct me if we missunderstood. """ |
A quick check indicates (usage aspects aside) that the list of needed color spaces should be finite. They are relevant in determining (BTW, I got the rational number comment wrong, that is for exif:compressedBitsPerPixel.) We don't have a dedicated property for kbv:ImageBitDepth; it is (sparingly) used with kbv:digitalCharacteristic. We could define a new But the amount of "surface properties" we define depends on expected usage. Logically, they're not necessary (general relation and specific type is enough here), but it may facilitate use (search, display, even cataloguing; albeit see next (I can even see us folding colorspace and bits per channel into a set of As a counter-point, we could just "tunnel" EXIF metadata through, and "catalogue" such if it's not provided by the source. This should be fully automated (extracted from images). But that also depends on if its needed; it is already stored in the image ("it knows what it is"). Crucially, what is the expected usage? The answer may be "we don't know, but we don't want to lose the signal value"; then we need to know if that is provided externally or is already embedded in the images. But there should be a perceived need for search and display of what we've got based on these colorspace/bitdepth, facts that would motivate working with such metadata. |
Adding terms extracted from the EXIF tags of image files and added to (image) file descriptions.
Added terms are:
bitsPerSample - The number of bits per image component.
colorSpace - The color space information tag.
dateTimeDigitized - The date and time when the image was stored as digital data.
Terms taken from https://www.w3.org/2003/12/exif/