Sparql 属性路径不适用于在Corese中获取最短路径

Sparql 属性路径不适用于在Corese中获取最短路径,sparql,shortest-path,propertypath,Sparql,Shortest Path,Propertypath,我使用查找简单FOAF文件中节点之间的最短路径,如下所示: 但是,当我使用以下查询时,它并没有给出最短路径。由于图具有不同的带循环的路径,因此结果仅包括每个节点的一条路径,而不是最短路径 查询: select ?x ?y (pathLength($path) as ?p) where { ?x s (foaf:knows)+::$path ?y. graph $path {?x foaf:knows ?pd}. ?x foaf:nick "Ali". } 结

我使用查找简单FOAF文件中节点之间的最短路径,如下所示:

但是,当我使用以下查询时,它并没有给出最短路径。由于图具有不同的带循环的路径,因此结果仅包括每个节点的一条路径,而不是最短路径

查询:

select ?x ?y (pathLength($path) as ?p) 
where { ?x s (foaf:knows)+::$path ?y.
        graph $path {?x foaf:knows ?pd}.
        ?x foaf:nick "Ali". }
结果:

...
 source                       target                    shortest path length
<http://www.example.org/Ali> to <http://www.example.org/Yu>    10
...
。。。
源目标最短路径长度
到10
...

正如您所看到的,“Ali”有一条到“Yu”的直接路径,但是查询给出了更长的路径。我在查询中遗漏了什么吗

我不知道Corese,但您发布的查询不是SPARQL,或者至少,
:$path
位不是。某种自定义语言扩展?是的,Corese是SPARQL的扩展,它应该支持SNA分析。另外,SPARQL不支持社交网络分析指标(例如,中心性、最短路径长度等)。