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