图数据库:Neo4j 和 Neo4j 的区别快板
Neo4j 和 AllegroGraph 这两个图数据库有什么区别? Java Web 编程哪个更好?
What is the difference between these two graph databases: Neo4j and AllegroGraph? Which is better for Java Web programming?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您没有理由选择 RDF + SPARQL(这两个产品都支持),Neo4j 提供了一个干净的 Java API 来操作属性图(节点 + 关系 + 两者上的属性)。对于 Web 应用程序,我使用 Spring Framework 编写了一个示例,该示例也存在简化版本: 研讨会。
免责声明:显然我是 Neo4j 团队的成员,并且我对 AllegroGraph 没有任何深入的了解。
If you have no reason to choose RDF + SPARQL (which both products support), Neo4j provides a clean Java API for manipulating a property graph (nodes + relationships + properties on both). For web applications, I wrote up an example using Spring Framework, which also exists in a simplified version as a workshop.
Disclaimer: Obviously I'm on the Neo4j team, and I don't have any in-depth knowledge regarding AllegroGraph.
我选择 AllegroGraph 而不是 Neo4j,因为它支持 SPARQL 查询。在我看来,Neo4j 遍历图的方法不太整洁,尤其是对于更复杂的检索操作。
...不,我与这两个组织都没有隶属关系。
I chose AllegroGraph over Neo4j because of its support for SPARQL queries. It seemed to me that the Neo4j approach of traversing a graph is less tidy, especially for more complex retrieval operations.
...and no, I have no affiliation with either organisation.
另一项考虑因素是许可证。只要您的三元组数量少于 5000 万个,就可以使用 AllegroGraph 的免费版本。请参阅http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j是免费的,只要你的项目使用社区版;仅当您修改 Neo4j 源代码时,您才必须将修改开源。基本许可条款可以在其主页上找到:http://neo4j.org/
One other consideration is the licenses. AllegroGraph's free edition can be used as long as you have fewer than 50 million triples. See http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j is free as long as your project uses the community edition; only if you modify the Neo4j source you must open-source the modifications. The basic license terms can be found on their home page: http://neo4j.org/
AllegroGraph 有一个 java 客户端库,支持 2 个标准 java 语义 API:Jena 和 Sesame。客户端源码是github上的EPL。 AG 支持 sparql、事务、推理、地理空间、时间和图形分析。没有专门针对 Web 应用程序的额外功能,但它可以作为库适合任何框架。
(我为弗朗茨工作。)
AllegroGraph has a java client library which supports 2 standard java semantic API's: Jena and Sesame. The client source is EPL on github. AG supports sparql, transactions, reasoning, geospatial, temporal, and graph analysis. There are no extra features specifically for web apps, but it would fit into any framework as a library.
(I work for Franz.)
除了 SPARQL 之外,AllegoGraph 还允许您编写 Prolog 规则和查询。对于复杂的查询逻辑,它比 SPARQL 的表达能力要强得多。
Java 客户端教程中有一些示例: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
In addition to SPARQL, AllegoGraph allows you to write Prolog rules and queries. For complex query logic, it's much more expressive than SPARQL.
There are some examples in the Java client tutorial: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html