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
- 1. Differenza tra grafico, grafico e grafico
- 2. Database grafico in Java (diverso da Neo4J)
- 3. Database grafico per .NET
- 4. ORM con database grafico come Neo4j in Python
- 5. Mapping da ontologia OWL a database grafico Neo4j
- 6. Differenza tra C7 compatibile e Database programmi
- 7. VISUALIZING database grafico
- 8. Elimina proprietà dal grafico Neo4j
- 9. neo4j: Come cambiare database?
- 10. database grafico in nodejs
- 11. Quale database grafico
- 12. Django e Neo4j senza Neo4Django
- 13. Neo4j invece del database relazionale
- 14. Esportare il database neo4j nel file json
- 15. Differenza tra tratto e riempimento?
- 16. Neo4j vs Apache Giraph nel grafico attraversamento
- 17. dati gerarchici in un database: query ricorsiva vs tabelle di chiusura e database grafico
- 18. Differenza tra strategie di database di troncamento, transazione e cancellazione
- 19. differenza tra cascade e limit? Database SQL DDL
- 20. Qual è la differenza tra dataset e database?
- 21. Mongodb - Differenza tra database "mongo" e "mongod" in esecuzione
- 22. Qual è la differenza tra il database MySQL e MariaDB?
- 23. Differenza tra _id e $ oid; $ date & IsoDate nel database mongo
- 24. È necessario passare da neo4j Community Edition a Enterprise Edition e query sulla creazione di un nuovo database in neo4j
- 25. Differenza tra database MySQL/SQLite/etc?
- 26. Differenza tra Enum.GetValues e Enum.GetNames
- 27. Differenza tra JPA e JDO?
- 28. C'è uno strumento per scaricare un grafico Neo4j come Cypher e ricaricarlo da Cypher?
- 29. Come modellare le relazioni del mondo reale in un database grafico (come Neo4j)?
- 30. Qual è la differenza tra i datastore e i database di grafici?
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