- From: <jos.deroo@agfa.com>
- Date: Sat, 12 Mar 2005 11:56:19 +0100
- To: public-cwm-bugs@w3.org
given
### test-rules.n3
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix : <test#>.
:Z :allOf (:A :B :C).
{?L rdf:first ?I} => {?L :item ?I}.
{?L rdf:rest ?R. ?R :item ?I} => {?L :item ?I}.
###
the query
### test-query.n3
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix q: <http://www.w3.org/2004/ql#>.
@prefix : <test#>.
[] q:select {?I :okFor ?Y}; q:where {?Y :allOf ?L. ?L :item ?I}.
###
gives no answer with cwm
also given
### test-rules.n3
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix : <test#>.
:Z :allOf _:L1.
_:L1 rdf:first :A; rdf:rest _:L2.
_:L2 rdf:first :B; rdf:rest _:L3.
_:L3 rdf:first :C; rdf:rest rdf:nil.
{?L rdf:first ?I} => {?L :item ?I}.
{?L rdf:rest ?R. ?R :item ?I} => {?L :item ?I}.
###
cwm gives no answer
however..
given
### test-rules.n3
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix : <test#>.
:Z :allOf _:L1.
_:L1 :first :A; :rest _:L2.
_:L2 :first :B; :rest _:L3.
_:L3 :first :C; :rest :nil.
{?L :first ?I} => {?L :item ?I}.
{?L :rest ?R. ?R :item ?I} => {?L :item ?I}.
###
cwm gives the very interesting answer
@prefix : <test#> .
:A :okFor :Z .
:B :okFor :Z .
:C :okFor :Z .
The good news is that recursive rules work great with forward chainer
but we use ( ) lists a lot in our work, in many places :)
--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Saturday, 12 March 2005 10:56:59 UTC