Was ist der Unterschied zwischen diesen beiden Graphdatenbanken: Neo4j und AllegroGraph? Was ist besser für Java Web-Programmierung?Unterschied zwischen Graphdatenbank: Neo4j & AllegroGraph
Antwort
Wenn Sie keinen Grund haben, RDF + SPARQL zu wählen (was beide Produkte unterstützen), bietet Neo4j eine saubere Java-API für die Manipulation eines Eigenschaftendiagramms (Knoten + Beziehungen + Eigenschaften auf beiden). Für Web-Anwendungen habe ich ein example mit Spring Framework geschrieben, das auch in einer vereinfachten Version als workshop existiert.
Haftungsausschluss: Offensichtlich bin ich im Neo4j-Team und habe keine fundierten Kenntnisse in Bezug auf AllegroGraph.
AllegroGraph hat eine Java-Client-Bibliothek, die 2 Standard-Java-Semantik-APIs unterstützt: Jena und Sesame. Die Client-Quelle ist EPL auf GitHub. AG unterstützt Sparql-, Transaktions-, Argumentations-, Geospatial-, Zeit- und Graphenanalysen. Es gibt keine zusätzlichen Funktionen speziell für Web-Apps, aber es würde in jedes Framework als Bibliothek passen.
(Ich arbeite für Franz.)
ich Allegrograph über Neo4j gewählt wegen seiner Unterstützung für SPARQL Abfragen. Es schien mir, dass der Neo4j-Ansatz zum Durchlaufen eines Graphen weniger sauber ist, insbesondere für komplexere Retrieval-Operationen.
... und nein, ich habe keine Verbindung mit beiden Organisationen.
Eine weitere Überlegung sind die Lizenzen. Die kostenlose Ausgabe von AllegroGraph kann verwendet werden, solange Sie weniger als 50 Millionen Tripel haben. Siehe http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j ist kostenlos, solange Ihr Projekt die Community Edition verwendet; Nur wenn Sie die Neo4j-Quelle ändern, müssen Sie die Änderungen öffnen. Die Grundlizenzbedingungen finden Sie auf ihrer Homepage zu finden: http://neo4j.org/
Gerade entdeckt für ein Projekt, dass Neo4j kann auch in geschlossenen Quellprojekten verwendet werden, solange Sie Source-Änderungen an der Quelle neo4j selbst nicht schließen (wie MySQL und so weiter ...) –
Fühlen Sie sich frei, dies in meine Antwort zu bearbeiten. –
Danke, ich habe den Schnitt gerade akzeptiert. –
Neben SPARQL, AllegoGraph können Sie Prolog Regeln und Abfragen schreiben. Für komplexe Abfragelogik ist es viel aussagekräftiger als SPARQL.
Es gibt einige Beispiele in den Java-Client-Tutorial: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
Neo4j unterstützt RDF + SPARQL als auch. Und BTW [Gremlin] (http://github.com/tinkerpop/gremlin) auch. – nawroth
Es könnte, aber nicht als Kernfunktion. Die Leerheit der Homepage für diese Komponente spricht Bände über die Höhe der Unterstützung. http://components.neo4j.org/neo4j-rdf-sparql/ – David