rdf - RDF三元组的高效存储和查询

标签 rdf jena triplestore

对于我的项目,我有一个关系数据库。我的关系数据库模式经常发生变化。所以最近我将所有关系数据库表数据存储到一个大 RDF 表中。表存储数据为三元组。它具有三列主题,谓词,对象。以下是 RDF 表的示例:

Subject->Predicate->Object 

1->name->Center

1->description->sample description

1->data->measure

2->data->parameter

2->relation->1

我将表存储在 Oracle 中,目前使用 SQL 来查询数据库。但是,我的表增长得非常快,它有很多记录和 SQL 查询处理需要时间。我相信在不久的将来,表会增长得更多,查询处理效率会很低。所以,我关心的是效率。

您能否告诉我如何有效地存储 RDF 三元组,这样即使表非常大,查询数据库的时间也会更短。

我对 RDF 数据库和查询语言了解不多。是否可以使 Oracle RDF 表高效?我看到人们在谈论 Apache Jena 工具和 SPARQL 语言。它会解决我的问题吗?如果我使用 Jena,那么我需要以 XML 格式存储我的 RDF 三元组还是我当前的格式可以?如何使用 Jena 工具?使用图形数据库而不是 Oracle DB 也会有帮助吗?如果是这样,那么选择哪一个?

最佳答案

http://jena.apache.org/

Jena 有两个适用于此的存储层:使用 SQL 数据库的 SDB 和原生存储 TDB。 TDB 更快。 SDB 使用它自己的模式来存储 RDF。

您还可以使用 Oracle 赢得的 RDf 存储(它具有 jena 接口(interface))。

在任何这些方法中,您都不会为 RDf 存储 XML - 它是经过解析并使用的高效存储。

关于rdf - RDF三元组的高效存储和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309021/

相关文章:

python - 使用 rdflib 打印出本体中每个概念的个体

sparql - 如果没有匹配的三重模式,Jena ARQ 会为 AVG() 返回非空结果

tomcat - openrdf-sesame database/triplestore 在 eclipse wtp 项目中与 tomcat

graph - 尝试提交事务时,Jena 的 TDB 数据集出现 TDBTransactionException

java - 使用 Jena 迭代 RDF

java - 耶拿 TDB : Nested Transactions

rdf - MarkLogic 8 - 将数据三倍化的首选方式是什么

rdf - 根据本体验证 RDF 三元组以检查正确的结构

sparql - 门生看到了关系,而大师却没有

java - 写入嵌套rdf :Description elements in RDF/XML with Jena