- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 17 Jul 2002 17:33:02 -0400
- To: connolly@w3.org
- Cc: www-webont-wg@w3.org
From: Dan Connolly <connolly@w3.org> Subject: Re: LANG: new version of abstract syntax/translation document Date: 17 Jul 2002 14:41:20 -0500 > On Sun, 2002-07-07 at 05:45, Peter F. Patel-Schneider wrote: > > Here is a new version of the document. > http://lists.w3.org/Archives/Public/www-webont-wg/2002Jul/att-0031/01-specification.html [...] > == 1.2. Stances Taken on OWL Issues > > "# The document does not include ordered property values, > assuming that issue 2.6 will be resolved against including > ordered property values in OWL." > > Hmmm... I'm pretty fond of the first/rest construct for > ordered values. This produces an ordered list, which is, I believe, different from ordered property values. I believe that ordered property values are something like is possible in XML, with its document ordering. > "# The document does not have a construct for asserting that a name is > the same as another name, assuming that issue 4.6 will be resolved > against including this feature in OWL." > > Wow... no sameClassAs nor samePropertyAs at all? > That seems to conflict with ontology mapping requirements. > no, I see EquivalentClasses and such... even SameIndividual. > I guess I don't understand what you're saying about 4.6. sameClassAs and samePropertyAs do not state that a name is that same as another name, only that their extensions are the same. The document does not have equivalentTo. I will make this clearer. [...] > "* The document assumes that literals can be either typed or untyped." > > Hmm... I don't see what that means... maybe I need to read > closer/again... Typed literals are pairs consisting of a datatype and a lexical representation. Untyped literals are just the lexical representation. From the document: <p> In this syntax data literals consist either of a datatype and the lexical representation of a data value in that datatype (a typed data literal), or just the lexical representation of a data value (an untyped data literal). Allowing untyped data literals introduces some problems to the formalism, and care has to be taken here. In particular, <tt>OneOf</tt> only allows typed data literals. </p> <pre> <dataLiteral> ::= <typedDataLiteral> | <untypedDataLiteral> <typedDataLiteral> ::= <datatypeID> <lexical-form> <untypedDataLiteral> ::= <lexical-form> </pre> This change was made in response to an objection from, I believe, Chris Welty. > <aside> > "The abstract syntax is specified here by means of a version of Extended > BNF." > > It occured to me to try to write it in RELAX-NG's non-XML syntax, > just to see what it would look like... > > for reference: http://www.w3.org/2000/10/swap/relaxNG-gram.html > </aside> > > > == 4. Facts > > I don't see any way to make existentially-quantified claims, > ala "there is a book whose author's name is Fred" > > _:aBook rdf:type :Book. > _:aBook dc:author _:somebody. > _:somebody ex:name "Fred". > > > How is that sort of thing expressed in the abstract syntax? ObjectProperty(dc:author) DatatypeProperty(ex:name) Individual(type=Book (dc:author (Individual (ex:name "Fred")))) > 6. Mapping to the Triple Syntax > > I'm finding this very slow going. How about an example or two? OK, I'll add one or two. <p> The above rules transform </p> <pre> Individual(type=ex:Book (dc:author (Individual (ex:name "Fred")))) </pre> to <pre> _:x rdf:type ex::Book . _:x dc:author _:x 1 _:x1 ex:name "Fred" . </pre> <p> and </p> <pre> Class(ex:Student complete ex:Person restriction(ex:enrolledIn allValuesFrom=ex:School minCardinality(1)) </pre> <p>to</p> <pre> ex:Student rdf:type owl:Class . ex:Student owl:sameClassAs _:x . _:x owl:intersectionOf _:l1 . _:l1 rdf:type owl:List . _:l1 owl:first _:lr . _:l1 owl:rest owl:nil . _:lr owl:intersectionOf _:lr1 . _:lr1 rdf:type owl:List . _:lr1 owl:first _:r1 . _:lr1 owl:rest _:lr2 . _:lr2 rdf:type owl:List . _:lr2 owl:first _:r2 . _:lr2 owl:rest owl:nil . _:r1 rdf:type owl:Restriction . _:r1 owl:onProperty ex:enrolledIn . _:r1 owl:allValuesFrom ex:School . _:r2 rdf:type owl:Restriction . _:r2 owl:onProperty ex:enrolledIn . _:r2 owl:minCardinality "1" . </pre> I also fixed a minor bug (added the "s above) in the transformation. > What is T(x)? T(x) is the transformation of x, i.e., what is being defined by the table. I've added a bit of explantion to make this clearer. > ________________________________________________________________________ > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/ The updated version is available at the usual place. peter
Received on Wednesday, 17 July 2002 17:33:12 UTC