What is the better way of extending (and modifying) properties inherited from the super class? To elaborate my question I present a scenario. Think of a "Person" and "Document" as sub-class of "Entity". Two entities could have associations between each other, being the source and target, modeled as below: <owl:Class rdf:ID="Entity"/> <owl:Class rdf:ID="#Document"> <rdfs:subClassOf rdf:resource="#Entity"/> </owl:Class> <owl:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Entity"/> </owl:Class> <owl:Class rdf:ID="Association"/> <owl:ObjectProperty rdf:ID="source"> <rdfs:range rdf:resource="#Entity"/> <rdfs:domain rdf:resource="#Association"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="target"> <rdfs:range rdf:resource="#Entity"/> <rdfs:domain rdf:resource="#Association"/> </owl:ObjectProperty> So far so simple, and now the problem! What if I want to have a special case for association, Authorship, which says the "source" property MUST only be "Person" instead of any "Entity" <owl:Class rdf:ID="Author"> <rdfs:subClassOf rdf:resource="#Association"/> </owl:Class> How to modify the property "source" for "Author" to have "Person" in its "range" so that it doesn't effect the previous general case? KhalidReceived on Wednesday, 22 June 2005 01:30:32 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:36:07 GMT