Re: F2F5 Agenda

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).

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:39:31 UTC