Re: [OWLWG-COMMENT] Punning and the "properties for classes" use case

From: "Michael Schneider" <schneid@fzi.de>
Subject: RE: [OWLWG-COMMENT] Punning and the "properties for classes" use case 
Date: Fri, 2 Nov 2007 20:37:16 +0100

> Hi Peter!
> 
> Before I answer to your complete mail, I would like to inquire some
> information about the following point:
> 
> Peter F. Patel-Schneider wrote:
> 
> > I wrote:
> >
> >> Let's regard for example the following situation:
> >> 
> >>   (1) <c1> a owl:Class .
> >>   (2) <p> a owl:ObjectProperty .
> >>   (3) <c1> <p> <x> .
> >
> >In OWL 1.1
> >
> >	Declaration(OWLClass(c1))
> >	Declaration(ObjectProperty(p))
> >	ObjectPropertyAssertion(p c1 x)
> >
> >which should also have
> >
> >	Declaration(Individual(c1))
> >	Declaration(Individual(x))
> >
> >> While OWL-1.0-DL will not allow this combination of axioms, 
> >
> >Not true,
> >
> >	Class(c1)
> >	ObjectProperty(p)
> >	Individual(c1 value(p x))
> >
> >is valid OWL DL abstract syntax.  (It is true that the RDF translation
> >for this OWL DL KB is not defined.)
> 
> If it wasn't you, I would have immediately answered that this is a syntax
> error. But now I am confused. In the above three Abstract Syntax expressions
> you state, the name "c1" appears both in a "Class()" expression and in a
> "Individual()" expression. This is clearly against the "strictly separated
> parts of the OWL universe" semantics in OWL-DL, and Abstract Syntax is not
> used for OWL-Full, so this should definitly not be accepted by an OWL-DL
> parser. 

>From OWL S&AS, Section 4.2

****************************

Definition: A collection of OWL DL ontologies and axioms and facts in
abstract syntax form, O, has a separated vocabulary if

   1. the ontologies in O, taken together, do not use any URI reference
   as more than one of a class ID, a datatype ID, an individual ID, an
   individual-valued property ID, a data-valued property ID, an
   annotation property ID, an ontology property ID, or an ontology ID;
   2. the ontologies in O, taken together, provide a type for every
   individual ID;
   3. the ontologies in O, except as the values of annotations, only use
   the class-only vocabulary as class IDs; only use the datatype-only
   vocabulary as datatype IDs; only use rdfs:Literal in data ranges;
   only use the property-only vocabulary as datavaluedProperty IDs,
   individualvaluedProperty IDs, or annotationProperty IDs; only use the
   built-in classes as class IDs; only use the built-in datatypes as
   datatype IDs; only use the built-in annotation properties as
   annotationProperty IDs; only use the built-in ontology properties as
   ontologyProperty IDs; and do not mention any disallowed vocabulary.

Definition: An RDF graph is an OWL DL ontology in RDF graph form if it
is equal (see below for a slight relaxation) to a result of the
transformation to triples above of a collection of OWL DL ontologies and
axioms and facts in abstract syntax form that has a separated
vocabulary. For the purposes of determining whether an RDF graph is an
OWL DL ontology in RDF graph form, cardinality restrictions are
explicitly allowed to use constructions like "1"^^xsd:integer so long as
the data value so encoded is a non-negative integer. 

**********************************

However, these are not restrictions on OWL DL, per se, just on
translating OWL DL ontologies into RDF.  

> I'm afraid that I do not know any OWL-DL validator for Abstract
> Syntax, otherwise I could easily check. But even if it turned out to be
> allowed, I would rather think that this is a bug in the OWL spec, not an
> intended feature. Or is there some intention behind this?

Well, a simple examination of the section of OWL S&AS on the grammar for
the OWL DL abstract syntax would show that non-separated vocabularies
are allowed.  There was an intention, in my mind at least, to explicitly
allow non-separated vocabularies in OWL DL.  

> Cheers,
> Michael

peter

Received on Sunday, 4 November 2007 13:53:41 UTC