- From: Jonathan Borden <jonathan@openhealth.org>
- Date: Sun, 24 Mar 2002 05:15:57 -0500
- To: "Frank van Harmelen" <Frank.van.Harmelen@cs.vu.nl>, "WebOnt WG" <www-webont-wg@w3.org>
Frank, et al. I have had another go through reworking the abstract syntax (and filling in the terminals). A few points: 1) I have globally replaced productions like "classID" with "Class" where Class ::= "class" classID? ( (super|Slot| DefinedClassDesc)* ) that is to say, if you want to use a classID simply do: class ex:foo or class <#foo> and if you want to create an anonymous class definition simply do class ( subClassOf( class ex:foo) ) or to create a named class definition: class ex:bar (subClassOf( class <#foo>) property <#baz> ( dataValue(xsd:string("a red rope")) ) property <#bop> ( range(class ex:another) ) ) Same for individialID => Individual, propertyID => Property etc. This usage fits nicely with the RDF/XML syntax This feels to me like a 'frame based approach' is this correct? 2) I have moved "cardinality" et al. to the "frame" section. I agree that "required" "singleValued" etc are easy to understand than cardinalities _yet_ cardinalities really aren't that hard ... everyone who uses XML Schema deals with cardinalities etc. The most important reasons are that: a) this issue is orthogonal to frame vs. DL (though is apropos to simple vs. complex) b) the production for "Description" can be greatly simplified 3) Having done (2) it seems that there is still no distinguishing syntax for Primitive vs. Defined in the Frame based syntax -- from your last message I take away that the distinguishing features of a DefinedClass in DAML+OIL are the presence of: oneOf | intersectionOf | unionOf | complementOf Is this true? Since these are only in the DL part, and removing cardinality et al. (which really aren't frame vs. DL) _from a syntactic point of view_ is the presence of one of these the only distinguishing feature of a) frame vs. DL b) primitive vs. defined Please have another look at http://www.openhealth.org/WOWG/OWLnonXMLsyntax.txt other related questions: -what if a class is subclassed from both "oneOf" and slot descriptor e.g. inherits from both a primitive and defined class, is it automatically defined? - the frame part has the EnumeratedClass production, isn't this the same as "oneOf" ? [...] > > All of this is DL-style modelling in its full expressive but hard-to-grasp > glory. Do you see why the frame-style modelling is so much easier to grasp > (but also much less expressive)? And why having only section 4 as OWL (ie > having only DAML+OIL) would make the language very hard to grasp for many people? > Yes I see your point, but I am trying to pin down the essential differences a little better. To say that <Property rdf:ID="foo"> <rdf:value>34</rdf:value> </Property> defines a class of all things that have 'foo=34' is a bit conceptual, but on the other hand: <Class> <Restriction> <onProperty rdf:resource="#foo"> <toValue>34</toValue> </Restriction> </Class> reads to me: a class which has the property of a restriction on the value of the "foo" property to "34" i.e. it is not that hard for me to grasp this -- admittedly it is not an introductory concept. At this point, it is a bit more confusing to me why having the properties "oneOf, intersectionOf ..." make something either description as opposed to frame based, or defined as opposed to primitive... What I would like to do is to present the language in a logical fashion, introduce users to things they need to know, and lead them into more advanced topics. Clearly this is extremely important. (Perhaps the answer is to present the entire language as 'frame based' but with a few advanced topics etc.) > PS: > I'm not sure why you thought it should be different? > I'm guessing now, but the iteration you were looking for happens in the > production DefinedClass and PrimitiveClass: a class is defined as one or more > <description>'s. Yes I see, I missed the second Defined and Primitive class defns. > > Hope this helped. > Very much, I hope I am making sense. Jonathan
Received on Saturday, 23 March 2002 17:10:56 UTC