mysql - Jena SDB(一个关系数据库支持的 RDF 存储)如何处理 SPARQL 查询?

标签 mysql rdf sparql jena ontology

我在 Jena SDB 上研究 SPARQL 查询性能。为了持久化,Jena SDB 将三元组存储在关系数据库(例如 MySQL)中。 Jena SDB 如何处理 SPARQL 查询?是否:

  1. 将MySQL中的所有数据加载到其内存格式中,然后在内存中运行sparql查询;或
  2. 用 SQL 翻译 SPARQL 查询并将其发送到 MySQL?

第二个假设在我看来最有可能,因为这将利用关系数据库提供的索引。有人对此有任何线索,或有关处理 SPARQL 查询的 Jena 内部数据格式的任何引用吗?

最佳答案

  1. 否(它不会将所有内容读入内存)
  2. 是(它生成 SQL)

查看 sdbprint 的输出,其中显示了生成的 SQL。在所有情况下,一个 SPARQL 查询都不是一个 SQL 查询。

Jena TDB 比 Jena SDB 更快,扩展性更好。 SDB 仅应在需要对现有 SQL 部署进行分层的情况下使用。

关于mysql - Jena SDB(一个关系数据库支持的 RDF 存储)如何处理 SPARQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276927/

相关文章:

javascript - 用于 NodeJS 的 N-triples 到 RDF/XML JavaScript 转换器

rdf - 是rdfs :subClassOf really transitive?

mysql - 在sql中查找每个公司最旧的帐户

sparql - 包含 FILTER NOT EXISTS 和 OPTIONAL 的 UNION 案例不会产生结果?

MySQL 根据日期范围生成每月分割

sparql - SPARQL 中不区分大小写的 URI 匹配

sparql - 检索在任意日期之前/之后最后更新的属性

rdf - 使用 SPARQL 定位具有多个相同属性的主题

mysql - 根据tinyint列的值提取MySql ENUM值

mysql - 坚持使用 Mysql IN 运算符