The definition:
fiaf:hasEvent a owl:ObjectProperty ;
rdfs:domain fiaf:Carrier,
fiaf:Item,
fiaf:Manifestation,
fiaf:WorkVariant ;
rdfs:range fiaf:Event .
effectively means that the property can only applied to instances,
that belong to all four classes at once. The domain is to be
interpreted as the intersection of all named classes, see:
https://www.w3.org/TR/owl-ref/#domain-def
This is probably not intended. Please consider a definition along
these lines instead:
fiaf:hasEvent a owl:ObjectProperty ;
rdfs:domain [
owl:unionOf (fiaf:Carrier fiaf:Item fiaf:Manifestation fiaf:WorkVariant)
] ;
rdfs:range fiaf:Event .
Also, since most event types only relate to one or two of the four
classes Carrier, Item, Manifestation and WorkVariant per the
Cataloguing Manual, it would be nice to make this explicit in the
ontology. By transitivity, the same goes for descendant classes like
fiaf:Activities and its subclasses.
There are more properties whose domains are currently defined as
intersection of classes – probably uninteniotnally:
$ grep -e "rdfs:domain.*," ontology.ttl | wc -l
8
For the sake of discussion, I am going to open a pull request dealing
with events and activities. However, most likely all 8 properties and
descending ones need to be addressed, eventually.
The definition:
effectively means that the property can only applied to instances,
that belong to all four classes at once. The domain is to be
interpreted as the intersection of all named classes, see:
https://www.w3.org/TR/owl-ref/#domain-def
This is probably not intended. Please consider a definition along
these lines instead:
Also, since most event types only relate to one or two of the four
classes Carrier, Item, Manifestation and WorkVariant per the
Cataloguing Manual, it would be nice to make this explicit in the
ontology. By transitivity, the same goes for descendant classes like
fiaf:Activities and its subclasses.
There are more properties whose domains are currently defined as
intersection of classes – probably uninteniotnally:
For the sake of discussion, I am going to open a pull request dealing
with events and activities. However, most likely all 8 properties and
descending ones need to be addressed, eventually.