On 06/08/14 11:11, Wang Darrell wrote:
Hello thereI 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
