proposed: use abstract syntax notation (asn06)

Coming out of the meeting, it seemed like like we needed a more detailed
abstract syntax for talking about RIF without getting bogged down in
serialization details.  (Also, for talking about serialization details,
without getting bogged down in fundamentals of the language.)

After not finding a good candidate, I put one together, which I call
asn06.  It's a bit like BNF, and a bit like a class hierarchy
declaration.  It's a way for writing down abstract syntaxes, like UML
diagrams (being use for this in Common Logic and OWL 1.1), or the text
diagrams on Harold's last slide at the meeting and Hassan's ACTION-87
e-mail [1].

There's a description of asn06 on the wiki:
   http://www.w3.org/2005/rules/wg/wiki/asn06

Below is a first pass translation of the positive condition syntax [2]
into asn06, which Harold and I just did.  I've put question marks where
role/property names should go.  (They are not in the EBNF.)  Names need
to be made up to go here.

     -- Sandro

[1] http://lists.w3.org/Archives/Public/public-rif-wg/2006Oct/0083
[2] http://www.w3.org/2005/rules/wg/wiki/A.1_Basis%3A_Positive_Conditions

================================================================

Condit
   
   Litform
     
      Atom
        rel: Identifer
        ?: Term

      Equal
         ?: Term
         ?: Term

   Quantif
       ?: Var+
       ?: Condit

       Exists


   And
      ?: Condit*

   Or
      ?: Condit*

Term
  
   Con, inherits Identifier

   Var, inherits Identifier

   Expr
      ?: Identifier
      ?: Term*

Identifier, inherits xsd:string

Received on Thursday, 9 November 2006 17:25:16 UTC