我想制定一个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查询?
答案 0 :(得分:2)
您的数据中没有属性<>
,因此无法匹配。任何边缘的共同模式&#34;是<>|!<>
,即数据中不存在的p
的属性not p
或p
。
((<>|!<>)|^(<>|!<>))*
应该适用于您的示例。