如何在两个资源之间查找路径



假设我有一个这样的图表:

:a :isConnectedTo :b
:b :isConnectedTo :c
:c :isConnectedTo :d

如果我在我的 Stardog v4.1.3 中运行以下查询,它返回 true

ask {:a :isConnectedTo* :d}

这很好,但我想知道这两种资源之间的路径。请注意,在我的真实案例中,可能有多条路径,但我只需要其中一条,不一定是最短的一条。

有没有办法用 sparql 实现这一目标?

我认为这可能专门适用于您的情况。如果你成功了,请告诉我。

SELECT ?x ?y ?z WHERE {
    :a :isConnectedTo* ?x .
    ?x ?y ?z .
    FILTER(?y = :isConnectedTo)
    ?z :isConnectedTo* :d .
}

相关内容

  • 没有找到相关文章

最新更新