高效存储和查询RDF三元组

时间:2013-03-09 09:09:40

标签: rdf jena triplestore

对于我的项目,我有一个关系数据库。我的关系数据库架构经常发生变化。所以最近我将所有关系数据库表数据存储到一个大的RDF表中。表存储数据为三元组。它有三列Subject,Predicate,Object。以下是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也会有帮助吗?如果是,那么选择哪一个?

1 个答案:

答案 0 :(得分:2)

http://jena.apache.org/

Jena有两个适用于此的存储层:SDB,它使用SQL数据库,TDB是本机存储。 TDB更快。 SDB使用它自己的架构来存储RDF。

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

您不会在任何这些方法中为RDf存储XML - 它会被解析并使用高效的存储空间。