属性路径查询Sesame / rdf4j中的SPARQL性能

时间:2019-06-06 15:21:53

标签: sparql sesame rdf4j

假设我要查找通过属性路径与对象连接的所有主题。连接可以表示为:

Subject - prop 1 -> A - prop 2 -> B - prop 3 -> Object

这可以通过非常简单的SPARQL查询来实现:

SELECT ?s WHERE {
    ?s prop1/prop2/prop3 ?o .
    VALUES ?o { <uri1> ... <urin> }
}

但是我也想包含使用A和/或B子类的路径:

Subject - prop 1 -> subclassOfA - prop 2 -> subclassOfB - prop 3 -> Object

为此,我在路径中添加了中间的“ sublassOf”属性:

SELECT ?s WHERE {
    ?s prop1/<subclassOf>*/prop2/<subclassOf>*/prop3 ?o .
    VALUES ?o { <uri1> ... <urin> }
}

这对我在Sesame 2.7.2中的数据集非常有效,但是在迁移到rdf4j 2.5.2之后,此查询只是挂起。问题是这是查询这种方法的正确方法还是效率更高?在新版本中造成如此大幅度性能下降的原因是什么?

0 个答案:

没有答案