W3C home > Mailing lists > Public > public-powderwg@w3.org > December 2007

Re: URI groups

From: Andrea Perego <andrea.perego@uninsubria.it>
Date: Mon, 10 Dec 2007 10:09:06 +0100
Message-ID: <475D0232.4010701@uninsubria.it>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:42:12 GMT