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
>
>

Reply via email to