- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Mon, 14 Feb 2011 20:49:33 +0000
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
There is now reworked definitions for :p* and :p+ in rq25. The formatting needs improving but the content is there. 1/ There are specific operators for each case ("ZeroOrMorePath" and "OneOrMorepath") 2/ The main algorithm ALP is path tracing (AKA node tracing for each path possibility) 3/ :p+ is defined as one step of the path, without recording the results, then as :p* Test results that change: pp16 & pp25 pp16:: Got: 16 -------------------------------- ## i.e. new algorithm ------------------- | X | Y | =================== | :a | :a | | :a | :b | | :a | :c | | :a | :c | | :b | :b | | :b | :c | | :c | :c | | :d | :d | | :d | :e | | :d | :f | | :e | :e | | :e | :f | | :f | :e | | :f | :f | | :h | :h | | "test" | "test" | ------------------- There are two (:a :c) results because there are two different routes :a->:b->:c :a->:c Expected: 19 ----------------------------- # test case manifest results ------------------- | X | Y | =================== | :a | :a | | :a | :b | | :a | :c | | :a | :c | | :b | :b | | :b | :c | | :c | :c | | :d | :d | | :d | :e | # Lost - was from * => {0} UNION + | :d | :e | | :d | :f | | :e | :e | | :e | :e | # Lost - was from * => {0} UNION + | :e | :f | | :f | :e | | :f | :f | | :f | :f | # Lost - was from * => {0} UNION + | :h | :h | | "test" | "test" | ------------------- pp25: Got: 4 -------------------------------- ------ | z | ====== | :b | | :z | # because of :a->b->:z | :c | | :z | # because of :a->c->:z ------ Expected: 5 ----------------------------- ------ | z | ====== | :c | # Lost by :a->:c->:z suppressing :c->:c | :c | | :z | | :b | | :z | ------ Andy
Received on Monday, 14 February 2011 20:50:12 UTC