- From: Houghton,Andrew <houghtoa@oclc.org>
- Date: Tue, 25 Aug 2009 15:25:24 -0400
- To: <public-owl-dev@w3.org>
I'm trying to build an ontology and am have some trouble trying to figure out how to specify the domain for a property. This property is only available to certain classes in my ontology which are a subclass of another class. In addition, I also want to have this property available to any subclass that is not defined in my ontology. So I have defined the following owl: xml:base="tag:ontology.org,2009:" <owl:Class rdf:about="A" /> <owl:Class rdf:about="B"> <rdfs:subClassOf rdf:resource="A" /> </owl:Class> <owl:Class rdf:about="C"> <rdfs:subClassOf rdf:resource="A" /> </owl:Class> <owl:Class rdf:about="D"> <rdfs:subClassOf rdf:resource="A" /> </owl:Class> <owl:Class rdf:about="E"> <rdfs:subClassOf rdf:resource="A" /> </owl:Class> <owl:DatatypeProperty rdf:about="P"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <!-- These are classes in my ontology that are subclasses of A and should have this property. So far, no problem. --> <owl:Class rdf:about="C" /> <owl:Class rdf:about="E" /> <!-- Now I want any subclass of A that my ontology doesn't specifically subclass to have this property... For example I want any subclass that isn't B, C, D and E. C and E are already included above. So I came up with the following, but I am not sure that this is the correct way to achive what I want... Seems like I should be using some sort of restriction but I don't see how it might be constructed. --> <owl:Class> <rdfs:subClassOf rdf:resource="A" /> <owl:unionOf rdf:parseType="Collection"> <owl:complementOf rdf:about="B" /> <owl:complementOf rdf:about="C" /> <owl:complementOf rdf:about="D" /> <owl:complementOf rdf:about="E" /> </owl:unionOf> </owl:Class> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:DatatypeProperty> So now if someone in a separate namespace declares: xml:base="tag:example.org,2009:" <owl:Class rdf:about="X"> <rdfs:subClassOf rdf:resource="tag:ontology.org,2009:A /> </owl:Class> Instances (individuals) of class X should be able to specify the datatype property P, based on whatever cardinality constraints are defined for datatype property P in X, which I have not shown in the above example. Hope this makes sense... Andy.
Received on Tuesday, 25 August 2009 19:26:03 UTC