- From: Frank van Harmelen <Frank.van.Harmelen@cs.vu.nl>
- Date: Fri, 22 Mar 2002 11:07:10 +0100
- To: WebOnt WG <www-webont-wg@w3.org>
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