Re: URI groups

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

Received on Friday, 7 December 2007 00:26:46 UTC