- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Fri, 15 Feb 2002 09:56:18 -0500
- To: webont <www-webont-wg@w3.org>
Commentary on the Various Layering Possibilities Here are some comments on the various layering possibilities. A) Here is a bit of syntax showing some potential differences between RDF syntax for OWL and an XML syntax for OWL. I will use a fairly simple defined class. A1/ RDF Syntax (roughly DAML+OIL syntax): <rdfs:Class rdf:ID="gop"> <owl:sameClassAs> <owl:intersectionOf> <owl:List> <owl:first rdf:resource="Person" /> <owl:rest> <owl:List> <owl:first> <owl:Restriction owl:onProperty="child" owl:minCardinality="1"/> <owl:List> <owl:Restriction owl:onProperty="child"> <owl:toClass> <owl:Restriction owl:onProperty="child"> <owl:toClass> <owl:unionOf> <owl:List> <owl:first rdf:resource="Doctor" /> <owl:rest> <owl:List> <owl:first rdf:resource="Laywer" /> <owl:rest rdf:resource="owl:nil" /> </owl:List> </owl:rest </owl:List> </owl:unionOf> </owl:toClass> </owl:Restriction> </owl:toClass> </owl:Restriction> </owl:List> </owl:Restriction> </owl:first> <owl:rest rdf:resource="owl:nil" /> </owl:List> </owl:rest> </owl:List> </owl:intersectionOf> </owl:sameClassAs> </rdfs:Class> Not only is this ugly, it is very fragile. A2/ One possible XML Syntax: <owl:definedClass owl:name="gop"> <owl:class owl:name="Person"> <owl:minCardinality owl:onProperty="child" owl:cardinality="1"/> <owl:toClass owl:property="child"> <owl:toClass owl:property="child"> <owl:intersection> <owl:class owl:name="Doctor"> <owl:class owl:name="Lawyer"> </owl:intersection> </owl:toClass> </owl:toClass> </owl:defineClass> This is one of the reasons that I am against using RDF syntax for OWL. B) Now how do the various proposals work on this example? B2/ In a syntactic and semantic extension, the syntax could be like A2/ above. The OWL class "gop" would also be an RDFS class, but the various restrictions would *not* be RDFS classes. In fact, the various restrictions above would not be objects in the domain at all. B3/ In the same-syntax with differing semantics, the syntax would be like A1/ above. The class "gop" would (probably) be an RDFS class. However, the various restrictions and other constructs would *not* be RDFS classes. Similarly, owl:sameClassAs would not be a property. In fact, A1/ would probably generate no triples, even though it looks like RDF. B4/ In a syntactic extension with differing semantics, the syntax could be like A2. The difference from B2/ is that it would be possible that the OWL class "gop" would *not* be an RDFS class. Note: It actually is *possible* to make a semantic extension (i.e., option B2) where "gop" is not an RDFS class. In my mind this is cheating, as it would ignore RDFS classes in favor of some other mechanism for creating classes. Peter F. Patel-Schneider Bell Labs Research
Received on Friday, 15 February 2002 09:57:34 UTC