- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Thu, 08 May 2008 10:56:05 +0200
- To: Gary Hallmark <gary.hallmark@oracle.com>
- CC: RIF WG <public-rif-wg@w3.org>
- Message-ID: <4822C025.7010904@inf.unibz.it>
Gary Hallmark wrote: > > I'm wondering how to write some simple rules using frames because frames > map to the Java beans that Oracle Business Rules uses as its facts > better than relations. Or so I hoped. The problem I seem to be having > is with frame OIDs. I don't want to have to specify them in a rule > conclusion. For example, consider the simple rule using relations p and q: > > forall(?x) Q(?x) :- P(?x) > > How do I do this using frames instead of relations? I think I want > > forall(?x, ?p) and(exists(?q) ?q#Q[x->?x]) :- ?p#P[x->?x] Frames are quite different from relations, so there is not always a straightforward translation; it would depend on the meaning of the relations. In case you have unary relations and the relations signify something like "class membership" you could write the following: forall ?x ?x#Q :- ?x#P Best, Jos > > Unfortunately this is illegal in BLD because heads cannot be formulas, > only atomic. How can I conclude (assert) that frame a instance exists > without giving its OID? Or do we need some kind of gensym builtin for > this? > -- Jos de Bruijn debruijn@inf.unibz.it +390471016224 http://www.debruijn.net/ ---------------------------------------------- An expert is a person who has made all the mistakes that can be made in a very narrow field. - Niels Bohr
Received on Thursday, 8 May 2008 08:56:22 UTC