- From: Jonathan Brinley <jonathanbrinley@gmail.com>
- Date: Wed, 22 Jun 2005 08:34:58 -0500
- To: Khalid Latif <klatif@beaconet.net>
- Cc: semantic-web@w3.org
Khalid, The owl:Restriction is useful for instances like this. I would suggest: <owl:Class rdf:ID="Author"> <rdfs:subClassOf rdf:resource="#Association" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#source /> <owl:allValuesFrom rdf:resource="#Person /> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Have a nice day, Jonathan On 6/21/05, Khalid Latif <klatif@beaconet.net> wrote: > > 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? > > > Khalid > > > > -- Jonathan M. Brinley jonathanbrinley@gmail.com http://purl.org/net/brinley
Received on Wednesday, 22 June 2005 13:35:05 UTC