对于我的项目,我有一个关系型数据库。经常情况下,我的关系型数据库模式会发生变化。因此最近,我将所有关系数据库表的数据存储到了一个大的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是否有帮助?如果是,应选择哪一个?