dini-ag-kim / holding-ontology

Specification of the Holding Ontology
http://purl.org/ontology/holding
2 stars 3 forks source link

Collection of Items #40

Open cKlee opened 5 years ago

cKlee commented 5 years ago

For extending our Hydra-API I'm missing a class to describe a collection of items. We already have Documents and Agents. I like to introduce Items too, but I don't want to link each Item from the Document (holding:exemplar) and each Item from the Agent (holding:holds), because this might not scale.

What I'm missing in the ontology is a collection of Items, e.g. with the type http://purl.org/dc/dcmitype/Collection. Maybe the ontology could provide a class:

holding:Holdings a owl:Class ;
    rdfs:label "Holdings"@en ;
    rdfs:comment "A collection of Items. Use one of bf:Collection, schema:Collection, dctype:Collection, bibo:Collection"@en ;
    owl:unionOf (bf:Collection schema:Collection dctype:Collection bibo:Collection) .

To relate an Agent with the collection, the holding:holds property might be edited:

holding:holds a owl:ObjectProperty ;
    rdfs:label "holds"@en ;
    rdfs:comment "Relates an agent to an item or a collection of items which the agent holds."@en ;
    rdfs:domain holding:Agent ;
    rdfs:range [
      a owl:Class ;
        owl:unionOf (holding:Holdings holding:Item)
     ] ;
    rdfs:seeAlso rdaa:currentOwnerOf ;
    rdfs:seeAlso rdaa:ownerOf ;
    rdfs:subPropertyOf holding:collects ;
    owl:inverseOf holding:heldBy .

With this ontology extension I'm able to make only one link from the Agent to the collection.

Within the collection either links to Items or links to Documents, describing specific holdings, can be provided. To achieve this I like to use the Dublin Core Collection Description Application Profile. Unfortunately they don't provide a property to relate the collection with their Items. So there is definitely missing a property like:

holding:contains owl:ObjectProperty ;
    rdfs:label "contains"@en ;
    rdfs:comment "Relates a collection withs its items or holding descriptions."@en ;
    rdfs:domain holding:Holdings ;
    rdfs:range [
      a owl:Class ;
        owl:unionOf (holding:Document holding:Item)
     ] ;

Do you think, this is a useful extension? Please give me feedback.

@nichtich @jorol

cKlee commented 5 years ago

overview

cKlee commented 5 years ago

see branch collection-branch https://github.com/dini-ag-kim/holding-ontology/blob/collection-branch/holding.md