在传递SPARQL查询中检索父级和子级

时间:2017-04-05 15:35:06

标签: sparql jena fuseki transitive-closure

我正在寻找一种在传递SPARQL查询中返回父级和子级的方法,以及仅构成路径的关系。

以下查询返回导致http://example.com/child的父对象和中间对象对,但如果任何?父对象有其他包含语句,那么也会返回这些对象。这可以产生非常大的结果集。

PREFIX  ex:   <http://example.com/>

SELECT ?parent ?child
WHERE {
    ?parent ex:contains+ <http://example.com/child> .
    ?parent ex:contains ?child
}

是否有办法将传递查询中的终端对象绑定到特定资源,并且还返回每个关系中的对象,但不是所有其他ex:包含每个父关系的关系?

例如,使用以下图表:

ex:root ex:contains ex:rootchild1
ex:root ex:contains ex:rootchild2
ex:rootchild1 ex:contains ex:intermed
ex:intermed ex:contains ex:child

结果将是:

ex:root ex:rootchild1
ex:rootchild1 ex:intermed
ex:intermed ex:child

我正在与Jena和Fuseki一起运行此查询。谢谢!

0 个答案:

没有答案