两个节点之间任意长度的无向属性路径

时间:2016-09-20 10:37:14

标签: sparql rdf

我想制定一个SPARQL查询,询问节点a和d之间是否存在无向路径。

我的数据如下:

<a> <p1> <b>
<c> <p2> <b> 
<c> <p3> <d>

这是相同数据的小ascii图纸

(a) --> (b) <-- (c) --> (d)

我尝试了以下查询:

ASK   
WHERE {
  <a>  (<>|^<>)* <d> .
}

当询问a和d之间是否存在无向路径时,如何生成返回yes的ASK SPARQL查询?

1 个答案:

答案 0 :(得分:2)

您的数据中没有属性<>,因此无法匹配。任何边缘的共同模式&#34;是<>|!<>,即数据中不存在的p的属性not pp

((<>|!<>)|^(<>|!<>))*应该适用于您的示例。