- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Thu, 30 May 2002 15:59:42 -0400
- To: heflin@cse.lehigh.edu
- Cc: www-webont-wg@w3.org
From: Jeff Heflin <heflin@cse.lehigh.edu> Subject: Re: An XML ``presentation'' syntax for OWL Date: Wed, 29 May 2002 16:04:57 -0400 > Peter, > > Thanks for putting this together. This really helps us get a feel for > what OWL is beginning to look like. Because it is easier to focus on > concrete examples, I've commented on the schema-example.text file. > Please see my comments below (prefaced with a "J:"): > > <!-- Examples of OWL XML Syntax --> > > <owl:ontology xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns" > xmlns:owl="http://www.owl.org/owl"> > > J: I'd like to see an example of include here, and the use of a QName to > reference a concept from another ontology somewhere. Good idea. Go ahead! :-) > <!-- Syntax Comments Why --> > <owl:EquivalentClass owl:name="Student"> <!-- Good --> > > J: Is this syntax supposed to be valid RDF? If so, why do you use > owl:name="Student" instead of rdf:ID? Because of Topologi Schematron problems that I encountered. I've since switched to XSV, and fixed this. (Look for an update soon.) > <owl:super owl:resource="Person" /> <!-- OK - resource > questionable --> > <owl:super owl:resource="Thing" /> <!-- OK - resource > questionable --> > <owl:restriction> <!-- Unnecessary > STRIPING,SCHEMA --> > <owl:IndividualRestriction owl:property="child" > owl:atmost="1"> <!-- Good --> > <owl:range> <!-- range="Person" ? > --> > <owl:Class owl:ID="Person" /> <!-- "" > SCHEMA --> > </owl:range> <!-- "" --> > </owl:IndividualRestriction> <!-- OK --> > </owl:restriction> <!-- Unnecessary > STRIPING,SCHEMA --> > > J: Is the above restriction a qualified number restriction? If so, your > latest feature synopsis says these were supposed to be removed due to a > WG decision. No, this is not a qualified number restriction. This is, instead, a combination restriction, which consists of a maximum number restriction as well as an independent range restriction. (That is, here there can be at most on child, and all of them have to belong to Person.) > <owl:description> <!-- Unnecessary > STRIPING,SCHEMA --> > <owl:IndividualRestriction owl:property="advisor" > owl:atleast="1"> <!-- Good --> > <owl:range> <!-- range="Person" ? > --> > <owl:Class owl:ID="Person" /> <!-- "" > SCHEMA --> > </owl:range> <!-- "" --> > <owl:required> <!-- <required > class="Person" /> ? --> > <owl:Class owl:ID="Person" /> <!-- "" > SCHEMA --> > </owl:required> <!-- "" --> > > J: Why both range and required above? Doesn't atLeast=1 and range=Person > mean required=Person? Don't expect this example to make too much sense. Again, feel free to come up with more examples. I believe that you will be able to verify against the updated schema. > </owl:IndividualRestriction> <!-- OK --> > </owl:description> <!-- Unnecessary > STRIPING,SCHEMA --> > > J: What's the difference between wrapping an IndividualRestriction in a > description or restriction? Also see my comment in reply to the abstract > syntax on whether you need both restriction and description here. You are correct in that restriction could be removed here. It is retained for its ``frame-like'' characteristics. [...] > <owl:IndividualProperty owl:name="foo" owl:inverseOf="oof" > owl:functional="true"> > <owl:super owl:resource="bar" /> > <owl:range> > <owl:Class owl:ID="Person" /> > </owl:range> > <owl:domain> > <owl:And> > > J: I assume owl:And takes the place of intersectionOf from the abstract > syntax. I prefer "And." What about using it in the abstract syntax as > well? OK. I'll given in (gladly). :-) Actually, it should probably be put up for the vote. > <owl:class owl:resource="Person" /> > <owl:class owl:resource="Employee" /> > </owl:And> > </owl:domain> > </owl:IndividualProperty> > > <owl:IndividualProperty owl:name="trans" owl:inverseOf="snrat" > owl:transitive="true"> > > J: Why name and not ID, above? I've used name in the top-level constructs, to make them look different from RDF. > <owl:super owl:resource="p2" /> > <owl:super owl:resource="p3" /> > </owl:IndividualProperty> > > <owl:EnumeratedClass owl:name="CSProfessors"> <!-- Good --> > > J: Why name and not ID, above? Ditto. > <owl:member owl:resource="ProfessorFoo" /> <!-- OK - resource > questionable --> > <owl:member owl:resource="ProfessorFoo" /> <!-- OK - resource > questionable --> > </owl:EnumeratedClass> <!-- OK --> > > <!-- RDF-compatible XML-Schema compatible --> > > <owl:Individual owl:name="John"> <!-- Good --> > > J: Why name and not ID? Ditto. ... [...] > J: Wow, the above individual syntax sure is ugly. I like either of the > ones below a lot better, although I think going with the last one (RDF > compatible) is probably best for this effort. The problem with the RDF compatible one is that it is not XML Schema compatible. I'm envisioning a (possible) situation where ontologies are presented in the XML Schema syntax and facts are written in RDF syntax (or, maybe, in the other XML Schema syntax, but I guess that this would be too radical). [...] > J: One final thing, as your comments suggest, the striping really does > seem to get in the way of clean syntax. The striping is really only a separate problem in the individual syntax. In class and property axioms XML Schema has limitations that make the syntax pretty much striped. > Jeff peter
Received on Thursday, 30 May 2002 16:00:30 UTC