繁体   English   中英

triplestores和图形数据库之间有什么区别?

[英]What is the difference between triplestores and graph databases?

有三个商店(语义数据库),还有通用图形数据库。

两者都基于通过关系将一个“项目”链接到另一个“项目”的类似概念。 Triplestores支持RDF并由SPARQL查询,但是这些附加组件也可以(并且)在通用图形数据库的顶部实现。

什么是使您更喜欢语义db / triplestore到neo4j这样的通用图数据库的根本区别?

三元组商店图形数据库。 RDF 一个图表。 当然,三重商店往往不会在内部将信息存储为图表; 这对于查询回答来说是次优的,但它们仍然是图形数据库。

如果你对基于W3C标准的生态系统感兴趣,你会更喜欢neo4j。 与其他基于RDF的系统互操作变得微不足道,它使得拾取所有东西并移动到不同的三重存储非常轻松。

首先,所有数据结构都可以或多或少地投射到任何底层存储引擎(甚至文件系统和文本文件)中。 选择特定数据模型和存储后端的原因是恕我直言:

  • 您的开发和建模首选项
  • 用于插入,存储和查询模型的预期运行时性能。

如前所述,RDBMS和TripleStores在运行时在JOIN或SparQL遍历的“浅层”遍历中往往很有用,并且在缓存或准备好的视图等方面做了很多工作。图形数据库(唯一的Neo4j)实际上将图形结构放到了存储层并在节点记录级别上执行指针追踪(具有许多优化)。 因此,当遍历图形时,您不需要触摸比当前子图更多的内容到存储层,因此能够遍历部分数据而不触及整个图形,从而导致许多有趣场景的持续性能。

我的2美分。

Neo4j属于Property Graph类别。 它们支持有向关系,每个关系只有两个节点; 起始节点和结束节点。 节点和关系可以以键值对的形式存储任意数据。 然而,他们无法支持3-ary关系。 即你不能有一个边连接两个以上的节点,即一种超级范围 但是,您可以通过创建连接节点来模拟属性图中的3元关系。 你可以在这里看到如何在neo4j中实现它

Triplestores以SPARQL的形式具有标准化查询语言,但是还没有用于查询其他图形数据库的标准。 RDF是从triplestores导入/导出的标准。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM