我在 Jena SDB 上研究 SPARQL 查询性能。为了持久化,Jena SDB 将三元组存储在关系数据库(例如 MySQL)中。 Jena SDB 如何处理 SPARQL 查询?是否:
- 将MySQL中的所有数据加载到其内存格式中,然后在内存中运行sparql查询;或
- 用 SQL 翻译 SPARQL 查询并将其发送到 MySQL?
第二个假设在我看来最有可能,因为这将利用关系数据库提供的索引。有人对此有任何线索,或有关处理 SPARQL 查询的 Jena 内部数据格式的任何引用吗?
最佳答案
- 否(它不会将所有内容读入内存)
- 是(它生成 SQL)
查看 sdbprint
的输出,其中显示了生成的 SQL。在所有情况下,一个 SPARQL 查询都不是一个 SQL 查询。
Jena TDB 比 Jena SDB 更快,扩展性更好。 SDB 仅应在需要对现有 SQL 部署进行分层的情况下使用。
关于mysql - Jena SDB(一个关系数据库支持的 RDF 存储)如何处理 SPARQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276927/