- From: Andrea Perego <andrea.perego@uninsubria.it>
- Date: Mon, 10 Dec 2007 10:09:06 +0100
- To: public-powderwg@w3.org
Thanks, Stasinos. So, for the moment, we have two different proposals of how a DR scope should be specified: 1. By using class axioms [1] (i.e., by describing the characteristics of a class of resources): <owl:Class rdf:ID="ResourceOnExampleDotOrg"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="&wdr;includeHost" /> <owl:hasValue>example.org</owl:hasValue> </owl:Restriction> </owl:equivalentClass> </owl:Class> 2. By using individual axioms [2] (i.e., by describing the characteristics of the resources which are instances of a possibly undefined class): <owl:Class rdf:ID="ResourceOnExampleDotOrg"> <wdr:includeHost>example.org</wdr:includeHost> </owl:Class> Stasinos, you clearly explained the semantic difference between those two options, but it is not clear to me why you think that option 2 is preferable. Could you please explain this? Andrea [1]http://www.w3.org/TR/owl-ref/#ClassAxioms [2]http://www.w3.org/TR/owl-ref/#Individual Stasinos Konstantopoulos wrote: > On Thu Dec 6 23:32:06 2007 Andrea Perego said: > >>> Or s'thing like declaring an RDF meta-property that has owl:Class as >>> it's domain: >>> >>> <rdf:Property rdf:ID="includesHost"> >>> <rdfs:domain owl:Class"/> >>> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> >>> </rdf:Property> >>> >>> <owl:Class rdf:ID="FOSIchildSafe"> >>> <rdfs:subClassOf wdr:ChildSafe/> >>> <wdr:includeHost>example.org^^xsd:string</includesHost> >>> </owl:Class> >> Well, this allows me to ask you a new question. >> >> In the POWDER vocabulary [1], we have defined the equivalent of the new >> wdr:includeHost: >> >> <owl:DatatypeProperty rdf:about="&wdr;includeHosts"> >> <rdfs:isDefinedBy rdf:resource="&wdr;" /> >> <rdfs:label xml:lang="en">include hosts</rdfs:label> >> <rdfs:comment xml:lang="en">This property ...</rdfs:comment> >> <rdfs:range rdf:resource="&wdrd;uriHostList" /> >> <rdfs:subPropertyOf rdf:resource="&wdr;addressRestriction" /> >> <rdfs:seeAlso rdf:resource="&group;#byURIcomp" /> >> </owl:DatatypeProperty> >> >> The new definition should then be something like what follows: >> >> <owl:DatatypeProperty rdf:about="&wdr;includeHost"> >> ... >> <rdfs:domain rdf:resource="&owl;Class" /> >> <rdfs:range rdf:resource="&xsd;string" /> >> ... >> </owl:DatatypeProperty> > > No nit-picking on whether it's going to be includeHosts (range is RDF > List) or includeHost (range is XML string), come to think of it, I don't > see any reason not to retain the RDF List range. I am not persuaded that > it should be owl:DatatypeProperty in addition to being some > POWDER-specific sub-property of rdf:Property, say > wdr:addressRestriction, but that is a different issue. > > The key difference is that the domain is owl:Class instances, as opposed > to owl:Thing instances. Let me explain: OWL instances and OWL classes > are symbols taken from distinct alphabets, that is, a class symbol > cannot be confused for an instance symbol and vice-versa. But if one > looks under this layer of OWL semantics, they are all RDF instances: OWL > class symbols are instances of the owl:Class class, which is a subclass > of the rdf:Class class and OWL instance symbols are instances of the > owl:Thing class. > > Now, > >> You then say that the DR scope definition can be: >> >> <owl:Class rdf:ID="FOSIchildSafe"> >> <wdr:includeHost>example.org</wdr:includeHost> >> </owl:Class> >> >> My question is: given that the wdr:includeHost property is defined as >> above, is this equivalent or not to writing: >> >> <owl:Class rdf:ID="ResourceOnExampleDotOrg"> >> <owl:equivalentClass> >> <owl:Restriction> >> <owl:onProperty rdf:resource="&wdr;includeHost" /> >> <owl:hasValue>example.org</owl:hasValue> >> </owl:Restriction> >> </owl:equivalentClass> >> </owl:Class> > > Not at all. In the former case includeHost is a property of an owl:Class > instance, whereas in the latter it is a property of all owl:Thing > instances that are members of an owl:Class instance. Huge difference: in > the former case you are saying something about the class (the container, > the box) without saying about its instances (the things in the box). You > might have as well said that this box is shiny, or black, or whatever, > and wouldn't have gotten any wiser about what kinds of things are in the > box. > > In the latter case you are not describing the class (the container), but > rather the things that are in it. By doing so, you are creating the > (false) impression that you have provided a touchstone for membership in > the class. Which it is not, as sample.example.org also belongs in this > class (according to the intended semantics), but you have no means of > expressing in OWL that includeHost X.Y.Z implies includeHost Y.Z. > > OWL with rules might cut it, but then Phil will point out that you have > no standard (or at least W3C recommended) means of expressing rules. > >> In other words, do we really need to use owl:Restriction? > > In my view, we need to avoid it. > > s > > > -- ------------------------------------------- Andrea Perego Dipartimento di Informatica e Comunicazione Universita` degli Studi dell'Insubria Via Mazzini, 5 - 21100 Varese, Italy -------------------------------------------
Received on Monday, 10 December 2007 09:04:36 UTC