使用三重存储意味着我们将使用一个具有 3 个列和 7 个索引的表的数据库?我的意思是使用三重存储总是与该关系模型相关?
3 回答
来自http://en.wikipedia.org/wiki/Triplestore:
Triplestore 是一个专门构建的数据库,用于存储和检索资源描述框架 (RDF) 元数据。
看起来高性能三元组使用非关系模型:
一些三元存储从头开始构建为数据库引擎,而另一些则构建在现有商业关系数据库引擎之上(即基于 SQL)。4与 OLAP 数据库的早期开发一样,这种中间方法允许在 Triplestore 开发的初始阶段以很少的编程工作量构建大型和强大的数据库引擎。从长远来看,本地三联存储似乎可能具有性能优势。在 SQL 上实现三元存储的一个困难在于,尽管“三元”可能因此被“存储”,但实现将基于图的 RDF 模型(即从 SPARQL 映射)到 SQL 查询的高效查询是困难的。5
不必要。有依赖其他 RDBMS 系统作为后端的三重存储。这种情况的示例是:Jena/SDB、3store 或 Virtuoso。
其他人则实现了他们自己的本机持久性模型,这些模型经过定制以更好地响应 RDF 数据模型,例如 4store、Jena/TDB 或 BigData。这些往往可以更好地扩展。
从概念上讲,是的 - 三元组是与主语、谓语和宾语的二元关系(例如 <JohnSmith--marriedTo->JillSmith>.
在三元组存储中不可能有更高的元数关系,因为它们在普通的 RDBMS 中(尽管您可以通过使用多个三元组来伪造它们)。
但是,正如先前的答案所述,实施方式有所不同。
大多数三元组存储实际上存储四元组,因此它们可以将三元组分组为子集(RDF 中的“命名图”)。
索引当然是可选的,但通常以某种形式出现 - 再次经常修改以适应四边形。