Skip to content
This repository was archived by the owner on Jun 8, 2023. It is now read-only.
This repository was archived by the owner on Jun 8, 2023. It is now read-only.

Define global properties only once and make relations more rigorous #21

Description

@EOltmanns

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions