tetherless-world / dco-ontology

Deep Carbon Observatory Ontology
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

can there be multiple domains for properties in VIVO? #17

Closed mrpatrickwest closed 8 years ago

mrpatrickwest commented 9 years ago

We have two terms that are specific to project updates. Can we have multiple domains in VIVO? Or does this run into disjointness questions?

This is another case where there's a very general term, though defined to be very specific properties.

dco:modifiedOn
      a       owl:DatatypeProperty ;
      rdfs:domain dco:ProjectUpdateModificationNote ;
      rdfs:label "Modified On"@en-US ;
      rdfs:range xsd:date .

dco:modifiedBy
      a       owl:ObjectProperty ;
      rdfs:domain dco:ProjectUpdateModificationNote ;
      rdfs:label "Modified By"@en-US ;
      rdfs:range foaf:Person ;
      rdfs:subPropertyOf owl:topObjectProperty .
zednis commented 9 years ago

I believe multiple domains would be interpreted as an intersection. Any subject of this predicate in the instance data would be inferred to have both type ex:A and ex:B if the domain was

ex:prop1
  rdfs:domain ex:A, ex:B .

If you want the domain to be a union of multiple classes you would set the domain to be a union class.

Or for the example you have provided we could define dco:modifiedOn and dco:modifiedBy to be annotation properties - in which case they would not have domain, range, or sub-property assertions.

mrpatrickwest commented 8 years ago

To do what we want to do just add a restriction to the class needing the property. This is how it is done in VIVO for other classes.