OWL 2 DL not backward compatible with OWL 1 DL?

Dear OWL working group,

I noticed a subtle issue in the OWL 2 Specs, which would break backward 
compatibility between OWL 1 DL and OWL 2 DL (plus 2 minor editorial 
corrections in the end):

In OWL 2 SS&FSS [1], it is said that:

"""IRIs with prefixes rdf:, rdfs:, xsd:, and owl: constitute the 
reserved vocabulary of OWL 2."""

and that:

"""IRIs from the reserved vocabulary other than owl:Thing and 
owl:Nothing MUST NOT be used to identify classes in an OWL 2 DL ontology."""

but the OWL 1 Specification for the mapping from RDF [2] says:

"""Definition: The class-only vocabulary is rdf:Statement, rdf:Seq, 
rdf:Bag, and rdf:Alt. The datatype-only vocabulary is the built-in OWL 
datatypes. The property-only vocabulary is rdf:subject, rdf:predicate, 
rdf:object, and all the container membership properties, i.e., rdf:_1, 
rdf:_2, ."""

and then follows a definition of "separated vocabulary" which is not 
clear and probably incorrect [5], but it seems to imply that, e.g., the 
"class-only vocabulary" can be used in class definitions, that is, 
rdf:Seq, rdf:Bag, rdf:Alt and rdf:Statement can be defined as owl:Class 
and be further constrained with OWL axioms.
Additionally, as far as I could dig in the OWL 1 specs, it seems that no 
restriction is specified on terms starting with the prefixes mentioned 

The OWL 1 validator [3] validates ontologies using rdf:Seq as a class 
ID, for instance.

The implication of this is that OWL 2 DL is not backward compatible with 
OWL 1 DL. Yet, in the introduction of OWL 2 Mapping to RDF Graphs [4], 
it is said:

"""The mappings presented in this document are backwards-compatible with 
that of OWL 1 DL: every OWL 1 DL ontology encoded as an RDF graph can be 
mapped into a valid OWL 2 DL ontology using the mapping from Section 3 
such that the resulting OWL 2 DL ontology has exactly the same set of 
models as the original OWL 1 DL ontology."""

Additional minor remarks:

1) The example before Section 9.1 in RDF is using owl:subject, 
owl:predicate, owl:object instead of owl:annotatedSource, 
owl:annotatedProperty, owl:annotatedTarget.

2) In the example before Section 9.3, there is "&mdsah;" which is 
obviously a misspelled —.

[1] http://www.w3.org/TR/owl2-syntax/
[2] http://www.w3.org/TR/owl-semantics/mapping.html#4.2
[3] http://www.mygrid.org.uk/OWL/Validator
[4] http://www.w3.org/TR/owl2-mapping-to-rdf/#Introduction_and_Preliminaries
[5] The definition is inconsistent: it is said that a set of ontologies 
has a /separate vocabulary/ if, among other things, it only uses the 
class-only vocabulary as class IDs (i.e., only rdf:Statement, rdf:Seq, 
rdf:Bag, rdf:Alt), and it only uses the built-in classes as class IDs 
(i.e., only owl:Thing and owl:Nothing).

Antoine Zimmermann
Post-doctoral researcher at:
Digital Enterprise Research Institute
National University of Ireland, Galway
IDA Business Park
Lower Dangan
Galway, Ireland

Received on Tuesday, 3 August 2010 10:53:11 UTC