- From: Andrea Perego <andrea.perego@uninsubria.it>
- Date: Thu, 06 Dec 2007 15:24:29 +0100
- To: Public POWDER <public-powderwg@w3.org>
Thanks, Stasinos.
> [snip]
>
> So, having gotten that out of the way, my point was that you can say the
> same thing in various ways, and that if you are using Protege you are
> likely to get longer constructs than absolutely necessary, or different
> than what you might expect. But they all boil down to the same meaning.
>
> Compare (this time getting it right):
>
> <owl:Class rdf:ID="ResourceOnExampleDotOrg">
> <owl:equivalentClass>
> <owl:Class>
> <rdfs:subClassOf>
> <owl:Restriction>
> <owl:onProperty rdf:resource="&wdr;includeHost" />
> <owl:hasValue>example.org</owl:hasValue>
> </owl:Restriction>
> </rdfs:subClassOf>
> </owl:Class>
> </owl:equivalentClass>
> </owl:Class>
>
> with:
>
> <owl:Class rdf:ID="ResourceOnExampleDotOrg">
> <rdfs:subClassOf>
> <owl:Restriction>
> <owl:onProperty rdf:resource="&wdr;includeHost" />
> <owl:hasValue>example.org</owl:hasValue>
> </owl:Restriction>
> </rdfs:subClassOf>
> </owl:Class>
>
> which mean the same. I don't about this particular piece of pompous
> verbosity, but Protege does sometimes name intermediate classes and use
> the name afterwards (only once) and things like that.
Yes, I've some experience with Protégé, and I can confirm this.
Actually, it is important to have clear in mind that, as you point out,
in RDF/OWL you can say the same thing in different ways. So, our problem
must not be to define a sort of template to be filled in, but make clear
which are the RDF/OWL constructs to be used to correctly express the
semantics of the different components of a DR.
So, about this issue, do you confirm that, for the semantics of a DR
scope, we should use owl:equivalentClass to link the "main" owl:Class
construct to its description?
I mean, this should apply also to more complicate scopes, like the
following ("resources hosted by example.org and with a path starting
with foo"):
<owl:Class rdf:ID="ResourceOnExampleDotOrg">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="&wdr;includeHost" />
<owl:hasValue>example.org</owl:hasValue>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="&wdr;includePathStartsWith" />
<owl:hasValue>foo</owl:hasValue>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
For our purposes, I cannot think of any example of DR scope requiring to
use rdfs:subclassOf instead of owl:equivalentClass as follows:
<owl:Class rdf:ID="ResourceOnExampleDotOrg">
<rdfs:subclassOf>
...
</rdfs:subclassOf>
</owl:Class>
Andrea
Received on Thursday, 6 December 2007 14:19:51 UTC