高效存储和查询RDF三元组

4

对于我的项目,我有一个关系型数据库。经常情况下,我的关系型数据库模式会发生变化。因此最近,我将所有关系数据库表的数据存储到了一个大的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,那么我需要将我的RDF三元组存储为XML格式还是继续使用当前的格式?我该如何使用Jena工具?同时,使用图形数据库而不是Oracle DB是否有帮助?如果是,应选择哪一个?

1个回答

2

http://jena.apache.org/

Jena有两个存储层:SDB,使用SQL数据库和TDB,一种本地存储。TDB更快。SDB使用自己的模式来存储RDF。

您还可以使用Oracle的RDf存储(具有Jena接口)。

在这些方法中,您不需要为RDf存储XML-它会被解析并使用高效的存储方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接