这两个图形数据库有什么区别:Neo4j和AllegroGraph?哪个更适合Java Web编程?
答案 0 :(得分:8)
如果您没有理由选择RDF + SPARQL(这两种产品都支持),Neo4j提供了一个干净的Java API来操作属性图(两者上的节点+关系+属性)。对于Web应用程序,我使用Spring Framework编写了example,它也以workshop的简化版本存在。
免责声明:显然我是Neo4j团队的成员,而且我对AllegroGraph没有任何深入的了解。
答案 1 :(得分:6)
我选择AllegroGraph胜过Neo4j,因为它支持SPARQL查询。在我看来,遍历图形的Neo4j方法不那么整洁,特别是对于更复杂的检索操作。
......不,我与这两个组织没有任何关系。
答案 2 :(得分:5)
AllegroGraph有一个java客户端库,它支持2个标准的java语义API:Jena和Sesame。客户端源是github上的EPL。 AG支持sparql,事务,推理,地理空间,时间和图形分析。没有专门针对Web应用程序的额外功能,但它可以作为库适用于任何框架。
(我为Franz工作。)
答案 3 :(得分:4)
另一个考虑因素是许可证。只要您的三元组数量少于5000万,就可以使用AllegroGraph的免费版本。见http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
只要您的项目使用社区版,Neo4j就是免费的;只有在修改Neo4j源时,才必须开源修改。基本许可条款可在其主页上找到:http://neo4j.org/
答案 4 :(得分:1)
除了SPARQL之外,AllegoGraph还允许您编写Prolog规则和查询。对于复杂的查询逻辑,它比SPARQL更具表现力。
Java客户端教程中有一些示例:http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html