Unterschied zwischen graph-Datenbank: Neo4j & AllegroGraph
Was ist der Unterschied zwischen diesen beiden Graphen-Datenbanken: Neo4j und AllegroGraph? Was ist besser für Java-Web-Programmierung -?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie keinen Grund haben, zu wählen RDF + SPARQL (die beiden Produkte unterstützen), Neo4j bietet eine saubere Java-API für die Manipulation einer Eigenschaft graph (Knoten + Beziehungen + Eigenschaften auf beide). Für web-Anwendungen, schrieb ich eine Beispiel mit Spring-Framework, das gibt es auch in einer vereinfachten version als workshop.
Disclaimer: Natürlich bin ich auf die Neo4j team und ich haben keine in-Tiefe Kenntnisse in Bezug auf AllegroGraph.
Wählte ich AllegroGraph über Neo4j wegen seiner Unterstützung für SPARQL Abfragen. Es schien mir, dass die Neo4j Ansatz der Traversierung eines Graphen ist weniger ordentlich, vor allem für komplexe retrieval-Operationen.
...und Nein, ich habe keine Zugehörigkeit zu beiden Organisationen.
AllegroGraph hat eine java-client-Bibliothek, die unterstützt 2 standard-java-semantische API: Jena und Sesame. Der client Quelle EPL auf github. AG unterstützt sparql-Transaktionen, logisches denken, räumliche, zeitliche, und-graph-Analyse. Es gibt keine zusätzlichen Funktionen, die speziell für web-Anwendungen, aber es würde passen in jeden Rahmen, wie eine Bibliothek.
(Ich arbeite für Franz.)
Eine andere überlegung ist die Lizenzen. AllegroGraph die free edition kann verwendet werden, solange Sie weniger als 50 Millionen verdreifacht. Sehen http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j ist kostenlos, solange Ihr Projekt nutzt die community edition; nur, wenn Sie ändern die Neo4j-Quelle müssen Sie open-source-Modifikationen. Die basic-Lizenz-Bedingungen finden sich auf der Homepage: http://neo4j.org/
Neben SPARQL AllegoGraph ermöglicht Ihnen das schreiben von Prolog-Regeln und Abfragen. Für komplexe Abfrage Logik, es ist viel ausdrucksstärker als SPARQL.
Gibt es einige Beispiele in der Java-client-tutorial: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html