Qual è la differenza tra questi due database di grafici: Neo4j e AllegroGraph? Quale è meglio per la programmazione Java Web?Differenza tra database grafico: Neo4j e AllegroGraph
risposta
Se non avete alcun motivo per scegliere RDF + SPARQL (che entrambi i prodotti supportano), Neo4j fornisce un'API Java pulita per manipolare un grafico di proprietà (nodi + relazioni + proprietà su entrambi). Per le applicazioni Web, ho scritto uno example utilizzando Spring Framework, che esiste anche in una versione semplificata come workshop.
Disclaimer: Ovviamente sono nella squadra Neo4j e non ho alcuna conoscenza approfondita riguardo AllegroGraph.
AllegroGraph ha una libreria client Java che supporta 2 API semantica Java standard: Jena e Sesame. L'origine del client è EPL su github. AG supporta analisi sparql, transazioni, ragionamento, geospaziale, temporale e grafico. Non ci sono funzionalità extra specifiche per le applicazioni web, ma si inseriscono in qualsiasi framework come una libreria.
(io lavoro per Franz.)
Ho scelto AllegroGraph oltre Neo4j a causa del suo supporto per le query SPARQL. Mi è sembrato che l'approccio Neo4j di attraversare un grafico fosse meno ordinato, specialmente per operazioni di recupero più complesse.
... e no, non ho alcuna affiliazione con nessuna organizzazione.
Un'altra considerazione sono le licenze. La versione gratuita di AllegroGraph può essere utilizzata fino a quando si hanno meno di 50 milioni di triple. Vedi http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j è gratuito finché il progetto utilizza l'edizione della comunità; solo se modifichi il sorgente Neo4j devi aprire le modifiche. I termini di licenza di base possono essere trovati nella loro home page: http://neo4j.org/
Scoperto per un progetto che Neo4j può essere utilizzato anche in progetti closed source, purché non si chiudano le modifiche di origine alla sorgente neo4j stessa (come MySQL e così via ...) –
Sentitevi liberi di modificare questo nella mia risposta. –
Grazie, ho appena accettato la modifica. –
Oltre a SPARQL, AllegoGraph consente di scrivere regole e query Prolog. Per logica di query complessa, è molto più espressivo di SPARQL.
Ci sono alcuni esempi nel client Java Tutorial: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
Neo4j supporta RDF + SPARQL pure. E anche BTW [Gremlin] (http://github.com/tinkerpop/gremlin). – nawroth
Potrebbe, ma non come una funzione principale. Lo spazio vuoto della home page per quel componente parla del livello di supporto. http://components.neo4j.org/neo4j-rdf-sparql/ – David