RDF和三重存储对Neo4j的优势是什么?

RDF和三重存储对Neo4j的优势是什么?,neo4j,rdf,Neo4j,Rdf,Neo4j是一个非常快速和可扩展的图形数据库,它似乎可以用于商业项目,而且也是免费的 同时,没有RDF三重存储可以很好地处理大数据或提供高速访问。更重要的是,免费RDF三重存储的性能甚至更差 那么RDF和RDF三重存储对Neo4j有什么好处呢?我听说在Neo4j中加载1000万个三重存储需要一整天的时间(实际上这是最慢的一个,因为它主要不是为RDF构建的) Sesame和4Store是速度最快的,但Jena有强大的API。使用RDF而不是Neo4j的三重存储的优势在于它们的设计初衷就是为了这个。

Neo4j是一个非常快速和可扩展的图形数据库,它似乎可以用于商业项目,而且也是免费的

同时,没有RDF三重存储可以很好地处理大数据或提供高速访问。更重要的是,免费RDF三重存储的性能甚至更差


那么RDF和RDF三重存储对Neo4j有什么好处呢?

我听说在Neo4j中加载1000万个三重存储需要一整天的时间(实际上这是最慢的一个,因为它主要不是为RDF构建的)


Sesame和4Store是速度最快的,但Jena有强大的API。

使用RDF而不是Neo4j的三重存储的优势在于它们的设计初衷就是为了这个。Neo4j对于许多用例来说都非常好,但根据我的经验,它加载和查询RDF的性能远远低于所有专用RDF数据库

RDF数据库不能扩展或速度不快是一种谬论。当然,它们的性能和规模还没有达到关系数据库的水平,但它们已经领先了50年。许多triple Store扩展到数十亿个triple,提供“标准”企业特性,并为许多用例提供出色的性能


如果您要在项目中使用RDF,请使用三重存储;它将为使用RDF构建应用程序提供最佳性能和一组功能/API。

RDF和SPARQL是标准,因此您可以选择多种实现,并可以将数据从一个RDF存储迁移到另一个RDF存储


此外,SPARQL查询语言的1.1版非常复杂(比大多数SQL实现更具表现力),可以执行需要大量代码才能用Neo4J编写的各种查询。

如果您打算对三元组进行图形挖掘(例如,图形遍历),Neo4J是一个不错的选择。对于较大的三元组,您可能希望使用其速度相当快的batchInserter

“真的很快”,你能量化这个吗?例如,加载速度。。。每秒有多少顶点|边“真的很快”?“比例图数据库”,你能量化这个吗?例如,有X GB内存的服务器上有多少个顶点|边?@castagna:插入还是检索?使用Pythonic绑定时,与优化的SQLAchemy/SQLite堆栈相比,在三元组插入上使用Pythonic绑定的速度只慢两倍。对于遍历,如果我记得清楚的话,在我的个人机器(6GB RAM)上,它远远超过了1米边/秒,但我认为它可以超越。对于纯关系查询(顶点、关系等),我机器上的no4j服务器处理的事务数超过1k个/s,即使数据库的索引属性接近1M,节点数接近100sk,关系数接近M,no4j支持Sparql和Gremlin:查询语言超越了Neo4j的编程使用,您还可以使用查询语言发出查询。这些是目前支持的选项:SPARQL:Neo4j可以用作三元组或四元组存储,并且有SAIL和SPARQL实现。转到组件站点以了解有关组件的更多信息。Gremlin:一种基于图形的编程语言,目前正在使用不同的后端实现以及支持工具集。你从哪里听到这些谣言的?请提供参考