- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Sun, 16 Nov 2008 19:47:05 -0500
- To: Stella Mitchell <cleo@us.ibm.com>
- Cc: "Adrian Paschke" <Adrian.Paschke@gmx.de>, gary.hallmark@oracle.com, Harold.Boley@nrc-cnrc.gc.ca, kifer@cs.stonybrook.edu, public-rif-wg@w3.org
On Sun, 16 Nov 2008 18:41:32 -0500 Stella Mitchell <cleo@us.ibm.com> wrote: > Hi Adrian, > > I think that ex:provide("eShop" ?buyer[ex:card->?x ex:addr->?y]) is > allowed in FLD, but not in BLD. > and nested functions (functions within functions) and functions as > frame slots and values are also allowed. This is allowed. michael > The example use to have a frame > as a value of a frame slot, which is not allowed. You imply below that > nested functions might help? > > In current 4.2, in both examples you're missing an "ex:" before name > (slot name) on the ?Street line. > > Stella > > > > > "Adrian Paschke" <Adrian.Paschke@gmx.de> > 11/16/2008 04:15 PM > > To > Stella Mitchell/Watson/IBM@IBMUS, gary.hallmark@oracle.com, > Harold.Boley@nrc-cnrc.gc.ca, kifer@cs.stonybrook.edu > cc > public-rif-wg@w3.org > Subject > [UCR] Review UCR (action-624) > > > > > > > Stella, Gary, (and Michael and Harold), > > I already incorporated most of your comments in the new version of RIF > UCR. > > You both noted for use case 4.2 > > http://www.w3.org/2005/rules/wiki/UCR#Negotiating_eCommerce_Transactions_Through_Disclosure_of_Buyer_and_Seller_Policies_and_Preferences > > > that there are many places that use "nested frame syntax" and that this is > illegal, e.g., ex:provide("eShop" ?buyer[ex:card->?x ex:addr->?y]). > > However, the proposed solution > > And( > ?buyer[ex:card->?x ex:addr->?y] > ex:provide("eShop" ?buyer) > ) > > is incorrect, too. It would mean that we need two facts to fire the rule > (for a production rule) or prove the two goals (for derivation rules). > > Moreover, the formalization of the rules without nested frames (or nested > functions) becomes very verbose, as you can see in 4.2. For instance, the > definition of the customer object "Alice" which becomes a very complicated > rule without nested frames. > > ex:Alice[ex:card -> ?card ex:deliveryAddr -> ?deliveryAddr] :- > ?Date = ex:Date[ex:month -> 12 ex:year -> 2012] > ?Person = ex:Person[ex:lastname -> "Sure" ex:firstname -> "Alice"] > ?Street = ex:Street[name -> "North Street" number -> 111] > ?card= ex:Card[ ex:type -> "Visa" > ex:holder -> ?Person > ex:number -> "123456789" > ex:code -> "123" > ex:expiry -> ?Date > ] > ?deliveryAddr = ex:DeliveryAddress[ ex:name -> ?Person > ex:street -> > ?Street > ex:postal_code -> > "NE3456" > ex:city -> "New > York" > ex:country -> > "USA" > ] > > Any ideas? > > -Adrian > > > >
Received on Monday, 17 November 2008 00:51:36 UTC