- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Tue, 27 Feb 2007 04:43:39 +0000
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- CC: Adrian GIURCA <giurca@tu-cottbus.de>, RIF WG <public-rif-wg@w3.org>
Dave Reynolds wrote: > > I like some of the better names but I don't quite see how this version > of the sort sub-diagram solves the issues. Though that might just be the > lateness of the hour :-) > > First, Constants include things like numbers and dates, so they can't > uniformly have an xs:anyURI id. You could split Constants into Symbols > and Literals (or TypedValues or something) - Symbols could have an id > (xs:anyURI) whereas TypedValues would have a lexicalForm (an xs:string). > > Second, just considering Symbols I don't see how this resolves the > divergence between the metamodel reading and the abstract syntax > reading. Your BNF suggests that you intend this to have an abstract > syntax reading but I don't think we are saying that a Symbol used in a > predicate position (for example) would have an ASort specification > inline in the syntax at the point of use (at least I hope not). Sigh, of course that should have been either function/Asort or predicate/Bsort ... definitely too late ... Dave > > Dave > > Adrian GIURCA wrote: >> Dear F2F participants, >> Find below our proposal for the MOF metamodel of the RIF Core. This >> proposal considers all concepts from the RIF Core Positive Language. >> We try to find good names which are proposed by using /better-name/ >> property. After the MOF/UML class diagram you'll find a proposal for a >> mapping from MOF to (E)BNF. The EBNF conforms to ISO/IEC 14977:1996 >> (similar with OWL abstract syntax). >> >> >> Mapping rules: >> >> 1. Any abstract class (italic name in the diagram) translates into >> EBNF non-terminal using capitals (ex. /Condition /translates into >> CONDITION) >> 2. Any concrete class translates into EBNF terminal (ex. And >> translates into 'And') >> 3. Any composition is captured using round brackets as terminals >> 4. As in OWL abstract syntax using curly brackets { and } denotes 0..* >> 5. Right brackets [ ] are used to indicate 0..1 >> >> According with these rules we obtain the the following EBNF: >> >> CONDITION ::= 'And' '(' {CONDITION} ')' | >> >> 'Or' '(' {CONDITION} ')' | >> >> 'Exists' '(' 'declare('Var {Var}')' CONDITION ')' | >> >> POSITIVE >> >> POSITIVE ::= 'Equal' '(' TERM TERM ')' | 'Uniterm' '(' 'functor' '(' >> Const ')' 'arguments' '(' {TERM} ')' ')' >> >> TERM ::= Var | Const | 'Uniterm' '(' 'functor' '(' Const ')' >> 'arguments' '(' {TERM} ')' ')' >> >> Var ::= 'Var' '(' name ['type' '(' SORT ')'] ')' >> >> Const ::= 'Const' '(' id ['type' '(' SORT ')'] ')' >> >> SORT ::= PSORT | 'ASort' '(' SORT {SORT} ')' | BSort >> >> PSORT ::= xs:integer | xs:decimal | xs:time | xs:dateTime | xs:string >> >> name::= NCNameRef >> >> id ::= URIref >> >> You may notice our proposal for using xs:NCName for local names and >> xs:anyURI for constants. >> Also there is a question which arise: >> Why the symbol set Const is not subclassed by (possibly overlapping) >> subclasses IndividualName, FunctionSymbol and PredicateSymbol? >> >> Looking forward to your comments, >> >> Adrian >> >> Chris Welty wrote: >>> >>> >>> We had to do a little reorganization of the agenda to deal with the >>> problems created by the weather here, and the new agenda for the f2f >>> is now on the wiki. Of course things may change further as we >>> uncover new issues. If someone who plans to attend the meeting >>> remotely is planning on attending for a specific session they should >>> let us know. >>> >>> -CC&S >>> >>> >> >> ------------------------------------------------------------------------ >> > > >
Received on Tuesday, 27 February 2007 04:44:05 UTC