RE: [OWLWG-COMMENT] ISSUE-55 (owl:class)

Hi, Alan!

>-----Original Message-----
>From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com] 
>Sent: Monday, December 10, 2007 7:24 PM
>To: Michael Schneider
>Cc: Owl Dev; hendler@cs.rpi.edu; boris.motik@comlab.ox.ac.uk; 
>pfps@research.bell-labs.com; ian.horrocks@comlab.ox.ac.uk; 
>dlm@ksl.stanford.edu; hans.teijgeler@quicknet.nl
>Subject: Re: [OWLWG-COMMENT] ISSUE-55 (owl:class)
>
>Here's my understanding of the situation (if I've got it wrong  
>somewhere, please correct me).
>
>On Dec 8, 2007, at 3:20 PM, Michael Schneider wrote:
>
>> But, AFAICS, this would only become a real problem, if in this  
>> ontology some class is used as an individual (metamodelling).
>
>Or if the class has instances that are literals.

Yes.

>> But in such a case, even after changing rdfs:Class to owl:Class,  
>> the resulting ontology would still be an OWL-Full ontology: There  
>> would, for example, be an 'rdf:type' triple with some class being  
>> at the individual position, or a class with an object or 
>data property
>> attached.
>
>The type triple is inferred in OWL Full - it doesn't have to be  
>explicit.

True. In OWL-Full, if I have some class <C>, then I have the implicitly
entailed type triple

  <C> rdf:type owl:Thing

because in OWL-Full owl:Thing equals rdfs:Resource, which is the whole RDF
universe containing everything, including all classes.

But please see my discussion below!

>
>> The OWL-DL reasoner would refuse to work in such a situation, of  
>> course.
>
>Because the triple would sometimes need to be inferred by the  
>reasoner itself, the DL reasoner can't detect the situation in all  
>cases. Strictly speaking, it can only detect the case where it  
>certainly shouldn't work.
>
>> So it looks to me that this recommendation is safe.
>
>I would say, no. However it might be ok if the user was warned, or  
>made an explicit declaration to that effect.
>
>> Or to summarize these recommendations in a simple rule of thumb:  
>> Assume 'rdfs:Class' in RDFS ontologies, assume 'owl:Class' in OWL  
>> ontologies.
>
>How do you tell the difference between and RDFS ontology and and OWL  
>ontology?

Practically, by looking whether there is an OWL ontology header or not (at
least OWL editors should add a header automatically). Or whether there is
other OWL vocabulary used.

Formally, it is not possible to tell the difference: For instance, if I have
an arbitrary OWL ontology and feed its RDF serialization into an RDFS
reasoner, the RDFS reasoner will happily accept this ontology. An RDFS
reasoner works on /every/ RDF graph. Though the result would certainly not
be as /expected/, because the RDFS reasoner only takes RDFS vocabulary and
the respective semantic conditions into account. A OWL axiom like

  <C> owl:equivalentClass <D>

is just an ordinary RDF triple for an RDFS reasoner. From this, all the RDFS
reasoner can deduce are existential statements like

  _:x owl:equivalentClass <D> # "There exists something with the given
property" 

>I think what might "work" is commonly called "duck typing", as in, if  
>it walks like a duck and quacks like a duck, then....

:)

>The application in this case would be to look for an *explicit*  
>mention of something that might be only *inferred* in an OWL Full  
>ontology. Absent the explicit mention, you might assume that that the  
>author did not intend there for such statements to be inferred  
>either. This would be a change from the current semantics, and  
>possibly a reasonable ones, depending, IMO, on how the OWL Full  
>advocates voted.

Looking for explicit information, and making assumptions about the
intentions of the ontology author is probaly the only possibility. Imagine,
one morning, you find the following (RDF-serialized) ontology on your desk 

  { <C> owl:equivalentClass <D> }

together with a note which asks for a list of all entailments from this
ontology. Assume further that you don't have the slightest idea who was the
author of this ontology.

So what are then the entailments? This inherently depends on what ontology
language this ontology belongs to. So what ontology language does this
ontology belong to? This is completely unclear! It might be RDFS, and then
the entailments would just be the existential statements mentioned above.
But the ontology uses OWL vocabulary, so perhaps this is really OWL. But
what dialect of OWL? Is it OWL-DL? Then you would get the following
entailments:

  some OWL-DL entailments:
  ------------------------
   * <C> a owl:Class
   * <D> a owl:Class
   * <C> rdfs:subClassOf <D>
   * <D> rdfs:subClassOf <C> 
   * <D> owl:equivalentClass <C>

But it might also be OWL-Full. Then you would receive all the existential
statements from RDFS entailment, the above OWL-DL entailments, and
additionally (as argued above):

  some additional OWL-Full entailments:
  -------------------------------------
  * <C> a owl:Thing 
  * <D> a owl:Thing

... and more.

Fact is that without knowing what the original author of the ontology had
/intended/, you will not be able to savely answer the question for a list of
all entailments. Only the author knows to which ontology language his
ontology belongs to. If you cannot directly ask the author, then for an
RDF-serialized ontology there will at least always be both RDFS and OWL-Full
as perfectly possible options. And RDFS and OWL-Full have very different
semantics, and thus the set of entailments will always differ significantly.


So what can you do, if you do not have the authorative answer of the
ontology's author himself? All you can do is applying heuristics. And what
information should these heuristics be based on different from what is
explicitly visible in the given ontology? I believe that this is the only
possibility. Trying to do a language classification based on implicit
entailments is not possible, because implicit entailments themself
inherently depend on the ontology language. This looks like a hen-egg
problem.

>
>-Alan
>

Cheers,
Michael

--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

Received on Tuesday, 11 December 2007 13:57:29 UTC