- 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