Re: LANG: Nested Class definitions and the RDF striped syntax

Jonathan Borden wrote:

> It has been claimed that allowing nested class definitions in OWL would give
> difficulties for tools that wish to roundtrip ontologies. I don't think that
> that alone would be the case for the following reason:
> 
> One of the properties of the RDF/XML syntax is that an OWL class definition
> with nested class definitions can be converted into a form consisting of
> multiple 'top level' classes. [follows example]


It is exactly as you say.

Indeed, tool builders for DAML+OIL
have reported problems with "round tripping": once a "frame-style"
DAML+OIL ontology has been parsed into RDF triples, it is very hard,
if not impossible, to reconstruct the original grouping of the
statements from those statements, causing he "frame-style" to be lost (even
though the formal meaning remains identical), just as happens in
your example.
The point is very well documented in [1].

An important feature of the OWL Light segment is that it's > *only*< syntax is 
  of slots grouped into frames, so it doesn't suffer from the problem of 
flattening grouped definitions into multiple top-level statements.

Frank.
    ----

[1] Sean Bechhofer, Carole Goble, Ian Horrocks. DAML+OIL is not
enough. SWWS-1, Semantic Web working symposium, Stanford (CA), July
29th-August 1st, 2001.
http://potato.cs.man.ac.uk/papers/not-enough.pdf


> 
> <ont:Class rdf:ID="foo">
>     <ont:subClassOf>
>             <ont:Class>
>                     <ont:subClassOf>
>                             <ont:Class>
>                                     <ont:Restriction>
>                                             <ont:onPropery rdf:ID="this"/>
>                                             <ont:toValue>12345</ont:toValue>
>                                     </ont:Restriction>
>                             </ont:Class>
>                     </ont:subClassOf>
>                     <ont:subClassOf>
>                         <ont:Class>
>                                 ...
>                         </ont:Class>
>                     </ont:subClassOf>
>             </ont:Class>
>     </ont:subClassOf>
> </ont:Class>
> 
> each class is labelled with rdf:ID i.e.
> 
> <ont:Class rdf:ID="foo">
>     <ont:subClassOf>
>             <ont:Class rdf:ID="bar">
>                     <ont:subClassOf>
>                             <ont:Class rdf:ID="baz">
>                                     <ont:Restriction>
>                                             <ont:onPropery rdf:ID="this"/>
>                                             <ont:toValue>12345</ont:toValue>
>                                     </ont:Restriction>
>                             </ont:Class>
>                     </ont:subClassOf>
>                     <ont:subClassOf>
>                         <ont:Class rdf:ID="bop">
>                                 ...
>                         </ont:Class>
>                     </ont:subClassOf>
>             </ont:Class>
>     </ont:subClassOf>
> </ont:Class>
> 
> and then the class hierarchy can be flattened:
> 
> <ont:Class rdf:ID="foo">
>     <ont:subClassOf rdf:resource="#bar" />
> </ont:Class>
> 
> <ont:Class rdf:ID="bar">
>        <ont:subClassOf rdf:resource="#baz" />
>        <ont:subClassOf rdf:resource="#bop"/>
> </ont:Class>
> <ont:Class rdf:ID="baz">
>         <ont:Restriction>
>               <ont:onPropery rdf:ID="this"/>
>                <ont:toValue>12345</ont:toValue>
>        </ont:Restriction>
> </ont:Class>
> <ont:Class rdf:ID="bop">
>        ...
> </ont:Class>
> 
> So certainly tools that wish to 'roundtrip' ontologies would use the
> labelled, flattened structure.
> 
> Jonathan
> 
> 

Received on Friday, 22 March 2002 05:08:00 UTC