Thanks you ! I have some concept about list now.
So it looks like I can't count the facts for a rule right? 2014-08-06 18:54 GMT+08:00 Dave Reynolds <[email protected]>: > On 06/08/14 11:11, Wang Darrell wrote: > >> Hello there >> >> I got the link that have many builtin function and I want to use the >> listLength( ?l , ?len) in my own rules. >> >> Here is my rules : >> >> [TestList: ( ?x yago:created ?l) >> listLength(?l, ?len) >> -> >> (?x yago:HasCreated ?len) >> ] >> >> I count it manually , there should be more than ten facts can be triggered >> by this rules. >> >> Can someone give some example to deal with listLength(?l , ?len) >> > > temp.ttl > [[[ > @prefix data: <http://www.openjena.org/tests#> > > data:i data:list (1 2 3). > ]]] > > test.rules > [[[ > @prefix data: <http://www.openjena.org/tests#> > > (?x data:list ?l) listLength(?l, ?len) -> (?x data:listLength ?len) . > ]]] > > Code: > [[[ > Model data = FileManager.get().loadModel("data/temp.ttl"); > List<Rule> rules = Rule.rulesFromURL("file:data/test.rules"); > GenericRuleReasoner reasoner = new GenericRuleReasoner(rules); > InfModel inf = ModelFactory.createInfModel(reasoner, data); > inf.write(System.out, "Turtle"); > ]]] > > Output: > [[[ > data:i data:list ( 1 2 3 ) ; > data:listLength "3"^^xsd:int . > ]]] > > Dave > >
