W3C home > Mailing lists > Public > public-rif-wg@w3.org > September 2008

PS syntax - again...

From: Hassan Ait-Kaci <hak@ilog.com>
Date: Mon, 22 Sep 2008 19:28:39 -0700
Message-ID: <9FC9C6B2EA71ED4B826F55AC7C8B9AAB01F336A4@mvmbx01.ilog.biz>
To: "harold boley" <Harold.Boley@nrc-cnrc.gc.ca>
Cc: "RIF WG" <public-rif-wg@w3.org>
Hi Harold,

In http://www.w3.org/TR/rif-bld/#EBNF_for_the_Rule_Language,
you define the following rules:

UNITERM        ::= Const '(' (TERM* | (Name '->' TERM)*) ')'
Name           ::= UNICODESTRING

In that same document, in Example 6 (A RIF condition with named
arguments and its XML serialization),  you give the following
example:

   And (Exists ?Buyer ?P (
                 And (?P#cpt:purchase
                      ?P[cpt:buyer->?Buyer
                         cpt:seller->?Seller
                         cpt:item->cpt:book(cpt:author->?Author cpt:title->bks:LeRif)
                         cpt:price->49
                         cpt:currency->curr:USD]))
        ?Seller=?Author)

where you use CURIE's not UNICODESTRING's.

I first thought that you treat the whole sequence of chars such as
"cpt:author" as a single lexeme, but in fact you don't because the XML
serialization mapping rule uses the structure of the CURIE (e.g.,
<Name>&cpt;author</Name>). In other words, ':' must (and is) considered
a lexical punctuation token (such as we use everywhere else where
CURIE's are expected). However, your grammar does not derive CURIE's for
Name's but UNICODESTRING's; CURIE's are derived from CONSTSHORT's.

Please explain...

Thanks.

-hak
--
Hassan At-Kaci  *  ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci
Received on Tuesday, 23 September 2008 02:30:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:54 GMT