Showing the property named has has multiple domains: Person and Cat Owner


ObjectUnionOf

A key thing to note here is:

ObjectPropertyDomain(:has ObjectUnionOf(:CatOwner :Person))
ObjectPropertyRange(:has ObjectUnionOf(:Cat :Pet))

This shows that a property which has multiple domains is exported as a union of all the domains and ranges.


Ontology(<http://example.com/ontology/Unnamed>
Annotation(rdfs:label "Example"^^xsd:string)

Declaration(Class(:Cat))
Declaration(Class(:CatOwner))
Declaration(Class(:Person))
Declaration(Class(:Pet))
Declaration(ObjectProperty(:has))

############################
#   Object Properties
############################

# Object Property: :has (:has)

ObjectPropertyDomain(:has ObjectUnionOf(:CatOwner :Person))
ObjectPropertyRange(:has ObjectUnionOf(:Cat :Pet))



############################
#   Classes
############################

# Class: :Cat (:Cat)

SubClassOf(:Cat :Pet)

# Class: :CatOwner (Cat Owner)

AnnotationAssertion(rdfs:label :CatOwner "Cat Owner"^^xsd:string)
SubClassOf(:CatOwner :Person)


)