Skip to content
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

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions source/vocab/files-packages-representations.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix exif: <http://www.w3.org/2003/12/exif#> .
@prefix sdo: <http://schema.org/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix bf2: <http://id.loc.gov/ontologies/bibframe/> .
Expand Down Expand Up @@ -141,3 +142,19 @@
rdfs:label "height"@en, "höjd"@sv ;
sdo:domainIncludes :MediaObject ; # TODO: broaden domain later to also apply on Manifest and physical objects
owl:equivalentProperty sdo:height .

:bitsPerSample a owl:DatatypeProperty ;
rdfs:label "bits per sample"@en "bits per sample"@sv;
sdo:domainIncludes :MediaObject ;
owl:equivalentProperty exif:bitsPerSample .

:colorSpace a owl:DatatypeProperty ;
rdfs:label "color space"@en, "färgrymd"@sv ;
sdo:domainIncludes :MediaObject ;
owl:equivalentProperty exif:colorSpace .

:dateTimeDigitized a owl:DatatypeProperty ;
Copy link
Member

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.)

Copy link
Contributor Author

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?

Copy link
Member

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.)

Copy link
Contributor Author

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?

Copy link
Contributor Author

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping @niklasl :)

rdfs:label "datetime digitized"@en, "digitiseringsdatum"@sv ;
sdo:domainIncludes :MediaObject ;
owl:equivalentProperty exif:dateTimeDigitized ;
rdfs:range xsd:dateTime .