- From: Jonathan Borden <jonathan@openhealth.org>
- Date: Mon, 25 Mar 2002 02:30:51 -0500
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: <Frank.van.Harmelen@cs.vu.nl>, <www-webont-wg@w3.org>
Peter F. Patel-Schneider wrote: > > Each of the above *is* a description, i.e., something that defines a > collection of individuals. A sequence of descriptions wouldn't define > anything. THe intersection of a sequence of descriptions is again a > description. > Right. My confusion resulted from not seeing the _second_ set of definitions for Primitive and DefinedClass's (and note that these definitions do not correspond to prose explanations of the differences between the classes). Sorry. It was not immediately obvious to me what the intended relationship between description and class was. We are speaking at a purely _syntactic_ level, so the production class ::= 'class' '(' description* ')' is close to the intention _from a syntactic point of view_ and is not intended to literally mean that a class is a sequence of descriptions. The intention of the OWL abstract syntax is to organize OWL is a way that is easier to understand, particularly at the entry level. I am suggesting that if this proposition is true (and I believe that it is), the a concrete syntax, closely modelled on the abstract syntax, should be a useful tool for deciding these issues (of course the final XML syntax itself needs to be relatively easy to understand, but along the lines of deciding on the language features, and 'concepts' without needing to parse redundant angle brackets...) In any case the class definition: class ex:foo ( subClassOf ( class ex:bar ) , datatypeProperty ex:prop (xsd:string("1234")), property ex:prop2 (class ex:baz) ) seems reasonably easy to understand, and even: class ex:bar ( oneOf( individual ex:a, individual ex:b, individual ex:c ) ) on the other hand: class ex:baz ( oneOf( property ex:a, property ex:b, property ex:c ) would not _have been_ immediately obvious to me, lacking further explanation. on the other hand, although you may consider the below, something that bangs you on the head: class ex:baz ( oneOf( class ( required property ex:a) class ( required property ex:b), class ( required property ex:c) ) may be a bit easier for to uninitiated to understand. i.e. if a property restriction is being used as a class description, then explicitly label it as such. Of course you may rightly consider this syntactic fluff, however, the main point is that _syntax is critical_ and can successfully make otherwise complicated concepts usable at a much lower point on the learning curve. Jonathan ** along the lines of, if a language feature is not obvious to me, consider it advanced :-)
Received on Sunday, 24 March 2002 14:26:33 UTC