- 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