Re: OWL DL restriction clarification, please

On 10.06.2004 13:37:41, Danny Ayers wrote:
>I can see why the meta aspects of RDF(S) can prevent a schema being 
>considered OWL DL, but I was wondering about the situation where a 
>class/property is defined using *both* RDFS and OWL constructs. It feels 
>like the inclusion of the OWL definition should apply the required 
>constraints, but my guess is that it doesn't - could someone please 
>clarify?  Example below.
I think the specs are quite clear, the reference for example says:
   "In OWL Lite and OWL DL, owl:Class must be used for all class 
It seems to be more a syntactical than a semantical problem.

>Assuming that  including the RDFS-based definitions does poke a hole in 
>completeness, might it still be possible in practice to apply a 
>remove-if-unknown (no imports) kind of rule to the statements outside of 
>the OWL DL universe, and hence use DL reasoners on combined schemas that 
from a theoretical point of view, I'd say your model is OK, but
in practice it (as usual) depends on the tools you plan to use. If
they provide a "clean-up before reasoning" function, it may well be
OK to have something such as

  <rdfs:Class rdf:ID="MyLittleClass">
   <rdf:type rdf:resource="&owl;Class"/>
   <rdfs:subClassOf rdf:resource="#MyBigClass"/>

A tool could then first read all the triples and then feed only
owl:Classes to a classifier. And pure RDFS tools could simply treat
OWL information like any other vocabulary or ignore it.

But if the tools start screaming as soon as the encounter an 
rdfs:Class, then this approach -pragmatically spoken- just won't
work. Did you already try your example on e.g. protege's OWL 
plug-in? I don't know if it could also happen that OWL-only tools
regard rdfs:Classes as individuals, therefore screaming again 
(classes as individuals issue) or that they rip of the additional
typing info, so that you couldn't re-serialize it this way again..

>The bottom line I guess is close to the (pending?) best practices 
>question - should you define schema against OWL Full or OWL DL or both? 
>Here the question is - if both, do they have to be separate?
I think one of the problems for deployed apps is that even if we had
DL/Lite-onts only, their combination could still result in an OWL Full
model. So I guess the DL stuff is more for specialized apps that use
some kind of manually maintained/controlled set of onts.

I *think* that many deployed vocabularies will be in the style
of the FOAF spec (rdfs:Classes with OWL information on top), maybe
offering a separate OWL DL version for those using DL reasoners.
(That's at least the scenario I'm optimizing my ont editor for.. ;)


Benjamin Nowack

Kruppstr. 100
45145 Essen, Germany

>    xmlns = ""
>    xmlns:rdf  = ""
>    xmlns:rdfs = ""
>    xmlns:owl  =""
>    xml:base   ="">
>  <owl:Ontology rdf:about=""/>
>  <owl:Class rdf:ID="MyLittleClass">
>    <rdfs:subClassOf rdf:resource="#MyBigClass"/>
>  </owl:Class>
>  <owl:Class rdf:ID="MyBigClass">
>  </owl:Class>
>  <rdfs:Class rdf:ID="MyLittleClass">
>    <rdfs:subClassOf rdf:resource="#MyBigClass"/>
>  </rdfs:Class>
>  <rdf:Property rdf:ID="someCharacteristic">
>    <rdfs:domain rdf:resource="#MyBigClass"/>
>    <rdfs:range  rdf:resource="#MyBigClass"/>
>  </rdf:Property>
>  <owl:ObjectProperty rdf:ID="someCharacteristic">
>    <rdfs:domain rdf:resource="#MyBigClass"/>
>    <rdfs:range  rdf:resource="#MyBigClass"/>
>  </owl:ObjectProperty>
>  <rdf:Property rdf:ID="somethingLiteral">
>      <rdfs:domain rdf:resource="#MyBigClass"/>
>      <rdf:range rdf:resource=""/>
>  </rdf:Property>
>    <owl:DatatypeProperty rdf:ID="somethingLiteral">
>    <rdfs:domain rdf:resource="#MyBigClass"/>
>      <rdf:range rdf:resource=""/>
>  </owl:DatatypeProperty>

Received on Thursday, 10 June 2004 08:50:45 UTC