Re: OWL S&AS comment - owl:Ontology mapping to/from RDF triples

Thanks for your comments.  

>   OWL Web Ontology Language Semantics and Abstract Syntax
>   W3C Working Draft 31 March 2003
>   http://www.w3.org/TR/2003/WD-owl-semantics-20030331/
> 
> 
> Firstly a probably editorial thing - what is an OWL Ontology?  In the
> abstract syntax it is defined as an
> 
>   [[ 2.1. Ontologies
> 
>   An OWL ontology in the abstract syntax contains a sequence of
>   axioms and facts.
> 
>   ...
>     ontology ::= 'Ontology(' [ ontologyID ] { directive } ')'
>     directive ::= 'Annotation(' ontologyPropertyID ontologyID ')'
> 	          | 'Annotation(' annotationPropertyID URIreference ')'
>                   | 'Annotation(' annotationPropertyID dataLiteral ')'
>                   | 'Annotation(' annotationPropertyID individual ')'
>                   | axiom
>                   | fact
>   ]]
>   -- http://www.w3.org/TR/2003/WD-owl-semantics-20030331/syntax.html#2.1
> 
> So the definition is rather:
>    1) a named container 
>    2) contains a sequence of (axioms OR annotations OR fact)
> 
> Annotations seem to be missing from the wording.

Annotations are mentioned a couple of sentences further down, as 

	OWL ontologies can also have annotations that can be used to record
	authorship and other information associated with an ontology,
	including imports references to other ontologies.

I've modified the wording near here to make this a bit clearer.

> The more substantive issue is on the mapping of the abstract syntax
> above to RDF triples:
>   [[
>     Abstract Syntax (and sequences)
>        Ontology(O directive1 ... directiven)
> 
>     Transformation
>        O rdf:type owl:Ontology .
>        T(directive1) ... T(directiven)
> 
>     Abstract Syntax (and sequences)
>        Ontology(directive1 ... directiven)
> 
>     Transformation
>        O rdf:type owl:Ontology .
>        T(directive1) ... T(directiven)
>   ]]  --  http://www.w3.org/TR/2003/WD-owl-semantics-20030331/mapping.html#4.1
> 
> These omit both the sequence and the relationship to the contained
> items.  The mappings for Annotation() may make a connection to the
> OntologyID but it is not clear that any of the axioms do.  This
> information thus seems to be lost.

Yes, there is some potential loss of information here.  However, both the
sequence of directives and annotations in an ontology and the containment
of directives in an ontology have no semantic consequences, so there is
actually no loss of information.  I'm not going to propose any editorial
changes here.

> The second transformation T(S) seems to have a bug.  There is no 'O'
> in the Abstract Syntax of the second abstract syntax.

This is covered just above, as 

	Ontologies without a name are given a bnode as their main node;
	ontologies with a name use that name as their main node; in both
	cases this node is referred to as O below.

>   Aside: it would help me if these transformations had had anchors
>   and/or numbers.

Hmm.  Numbers would be a real chore as they would have to be modified by
hand.  Many of the transformations already had anchors, but I added a new
set, with more-or-less consistent names.

> If several OWL Ontologies are in the same RDF graph such as when they
> are taken from multiple sources (such as via owl:import), there will
> be no connection between the OWL Ontology and the components.

Yes, agreed.  I'm not sure what, if any, remedy is possible or desired
here.  I've explained that there are no semantic consequences of this
relationship.  

>   Aside: I found one OWL instance schema that used rdf:isDefinedBy,
>   one of the built in annotations, to perform this at:
>     http://www.aktors.org/ontology/extension
>   But this has no additional OWL semantics.

It is possible to use annotations to make connections between resources and
URI references that point to documents where OWL ontologies can be found.
However, as you point out there is no special meaning given to such
annotations.  To do so would require a much more powerful theory of
annotations in the OWL semantics.  The Web Ontology working group has not
explored this approach, and my feeling is that it would take considerable
time and effort to come up with even an initial solution that works in the
RDF context. 

> Please can you explain why the OWL Ontology container-to-component
> relation in the abstract syntax is not passed through to the OWL
> transfer syntax.

The OWL transfer syntax uses RDF graphs as encoded in RDF/XML.  Currently,
there is no standard mechanism in RDF for representing the context of
information.  However, it is possible in RDF to use properties such as
rdfs:isDefinedBy to achieve part (but only part) of this purpose.  Such
properties can also be used in OWL in annotations.

> Thanks
> 
> Dave

Please reply to this message indicating whether anything more needs to be
done in this area.

Peter F. Patel-Schneider
Bell Labs Research
Lucent Technologies

Received on Friday, 30 May 2003 14:53:11 UTC