4

对于我的项目,我有一个关系数据库。我的关系数据库模式经常发生变化。所以最近我将所有关系数据库表数据存储到一个大 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 也会有帮助吗?如果是这样,那么选择哪一个?

4

1 回答 1

2

http://jena.apache.org/

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

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

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

于 2013-03-09T11:41:21.927 回答