- 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