Use of rdf:ID in wine.owl and food.owl problematic?

Folks- In taking a look at using OWL we've been trying to experiment
with loading both the food and wine ontologies into a single database in
an RDF storage and query engine. The use of rdf:ID introduces a problem
in that references between the ontologies don't match up. For example,
in wine.owl one defines the class Wine using:

  <owl:Class rdf:ID="Wine">
    <rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
    ...
  </owl:Class>

Given this, the expanded resource URI for the class is
http://www.example.org/wine.owl#Wine (assuming that
http://www.example.org/wine.owl is the where the ontology resides.)

But in food.owl:

  <owl:Class rdf:ID="Wine">
    <owl:sameClassAs rdf:resource="&vin;Wine"/>
  </owl:Class>

In food.owl, &vin;Wine expands to http://www.example.org/wine#Wine,
which is not the same as http://www.example.org/wine.owl#Wine.
Therefore, in our engine, the two ontologies are not correctly linked
up. By rewriting the ontologies to use rdf:about, the problem can be
made to go away, but then the goal of supporting reuse through import
from a third party without modification is violated.

In general, unless I am mistaken, the use of rdf:ID complicates the
aggregation of multiple ontologies. I realize this has been discussed in
the WG and not considered to be a significant problem, but rather a
style issue. I would maintain that it is a real problem and a barrier to
ontology reuse, and that restricting the language to use rdf:about
rather than rdf:ID would make adoption easier. At the very least,
rdf:about should be used in the example ontologies in the Guide instead
of rdf:ID.

Am I missing something here? - cheers, BPA

Received on Wednesday, 27 November 2002 19:54:37 UTC