W3C home > Mailing lists > Public > www-webont-wg@w3.org > February 2003

owl:Ontology and imports

From: Sean Bechhofer <seanb@cs.man.ac.uk>
Date: Thu, 20 Feb 2003 16:24:50 +0000 (GMT Standard Time)
To: WebOnt WG <www-webont-wg@w3.org>
Message-ID: <Pine.WNT.4.44.0302201614410.2400-100000@potato>

To widen the imports discussion a bit, we're a little confused about
what do with the following situations. Remember that what we're
trying to do is build some application support for OWL models,
which effectively involves producing a structure that implements
something that looks very like the abstract syntax. So an ontology
has a bunch of classes, properties and individuals in it and these
have various definitions etc. In order to cope with the fact that
we can have triples that say things like:

x rdf:type owl:Ontology

in an ontology, we also need to record information about
ontologies. So take the following example:

Case 1:

A rdf:type owl:Ontology
B rdf:type owl:Ontology
C rdf:type owl:Ontology
B owl:imports C

What do we do here? Well, I can see that we probably want to record
the fact that A has some reference to the ontologies B and C, and
that within this context there's an assertion that B imports C.
But does it have an operational semantics with respect
to A? Are there any triples that I have to fetch now ?

Case 2:

A rdf:type owl:Ontology
B rdf:type owl:Ontology
C rdf:type owl:Ontology
B imports C
A imports B

According to the specification we will have to import everything that we
can find at B. If we have to import everything that we can find at C as
well (which I assume is the case), then there are some additional
operational semantics here.

There are also some round tripping/import issues connected to the use
of owl:Ontology.

Say I state
<owl:Ontology rdf:about="">
               <owl:imports rdf:resource="X" />

in file A:

after parsing we have a triple saying
<A, rdf:type, owl:Ontology>

Now if I deserialize it again into a new file, say B, what should I do

<A, rdf:type, owl:Ontology>
<B, rdf:type, owl:Ontology>
<owl:Ontology rdf:about="">

There is no way to tell the correct intention. If I change it to B,
the imports breaks since triples are not connected in any way if they
share the same subject. So I might end up with a triple

<A, imports, C>

in file/URL B

The imports problems boil down again to RDF since the file (not the
RDF model) imports another file/URL. So it is meta-information outside
the RDF model which itself constitutes the ontology. The same is true
for the Ontology meta-information, which should talk about the model

In KAON, inclusion was realised a completely different way, by writing
inclusion as a XML preprocessor statement. One can then enforce the
deserialization of imported entities before the particular RDF file is

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE rdf:RDF (View Source for full doctype...)>
  <?model-attribute key="OIModel.version" value="206"?>
  <rdf:RDF xml:base="http://kaon.semanticweb.org/kaon/server/component"


	Sean & Raphael

Sean Bechhofer
Received on Thursday, 20 February 2003 11:25:48 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:56:51 UTC