sparql - 属性路径查询中的 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 之后,这个查询就挂了。问题是这是否是以这种方式查询的正确方法,还是有更有效的方法?什么会导致新版本出现如此显着的性能下降?
解决方案
推荐阅读
- c - 检查矩阵是否对称,我总是得到相同的结果
- swift - 无法在 Vapor 项目中连接我的 MySQL 数据库
- ruby-on-rails - 上传压缩文件并解压,同时保持原目录不变
- typescript - 使用 TypeScript 时如何增强 Hapi.js 服务器方法?
- c++ - 如何在 ROS Qt Creator 插件中设置可执行文件?
- mysql - MySQL - 计算表中重置事件以来的累积
- python - 使用 python3 查找空闲的 tcp 端口
- mysql - 如何打开和关闭数据库连接
- amcharts - 在amcharts4上将带有千位分隔符的数字格式化为空字符串
- jquery - 加载addressValue jQuery的特定div