- 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