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

Re: Open Issues: DR scope

From: Andrea Perego <andrea.perego@uninsubria.it>
Date: Thu, 06 Dec 2007 15:24:29 +0100
Message-ID: <4758061D.7010504@uninsubria.it>
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 GMT

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