On UCR Document as of May 18 2008 (UC 2.2)

I believe that in the UC 2.2 the following rule is not clear:

Never disclose two different credit cards to the same online shop.

I guess this rule should apply in the context on a customer otherwise 
does not have to much meaning. I suggest

"A customer must not disclose two different credit cards to the same 
online shop"

Then a RIF encoding might be:

release(credential(?C1#<ex:CreditCard>))) :- 
             ?customer#<p:Customer>[<p:creditCards>->?CCards], 
             External(<swrlb:member>(?C1,?CCards)), 
             External(<swrlb:member>(?C2,?CCards)), 
             ?C1 != ?C2,
             not(release(credential(C2#<ex:CreditCard>))).

Two issues here:
- This rule seems to require negation.
- Handling of collections (actually I used an external predicate)

 From my point of view "allow" is an action. I modeled "allow" by means 
of  the existence of a specific fact  i.e.

release(...) 



-Adrian G.

Received on Tuesday, 20 May 2008 11:38:35 UTC