RE: Lang: owl:ontolgy

>
> > DAML+OIL seems to assume that we can hack URIs to see that
> >
> > http://example.org/onto#Potato
> >
> > is defined in
> >
> > http://example.org/onto
>
> I would be interested in seeing how you come up with this conclusion, and
> where in DAML+OIL it is used.

OK.

DAML+OIL appears to be based on the RDF graph, although it has a default
form in XML.

A small ontology looks something like:


<rdf:RDF>
  <daml:Ontology rdf:about="" daml:version="1.0">
     <rdfs:description>
        An ontology about Potatos.
     </rdfs:description>
  </daml:Ontology>
  <daml:Class rdf:ID="Potato" />
</rdf:RDF>

How are we meant to know that the version number has anything to do with the
Potato class?

Particularly if we start with the class ...

(Suppose we have loaded three or four files in).

Well, we have to know which file we loaded "Potato" from, or rather where it
was originally defined. Since we have no explicit information about this, a
moderately robust way to proceed is to look at its URI and remove the
fragment id "#Potato". This will get us down to the document URI, and lo and
behold we can find a version number.

Tracking  "Potato"'s defining file in some other way is awkward given that
it may be merely being mentioned in some other ontology file.

e.g.

<rdf:RDF>
  <daml:Ontology rdf:about="" daml:version="2.0">
     <rdfs:description>
        An ontology about Carrots.
     </rdfs:description>
  </daml:Ontology>
  <daml:Class rdf:ID="Carrot" >
    <daml:disjointWith rdf:resource="&otherFile;#Potato"/>
  </daml:Class>
</rdf:RDF>

The version 2.0 only applies to Carrots not Potatos.

To answer Peter's question.
With this sort of example I can see a means for getting from Potato to
version 1.0 by URI cracking. I don't feel confident that any other method
would be robust in practice.

Jeremy

Received on Friday, 13 September 2002 08:14:56 UTC