¿Cuál es la diferencia entre estas dos bases de datos de gráficos: Neo4j y AllegroGraph? ¿Cuál es mejor para la programación web de Java?Diferencia entre la base de datos de gráficos: Neo4j y AllegroGraph
Respuesta
Si no tiene motivos para elegir RDF + SPARQL (que admiten ambos productos), Neo4j proporciona una API limpia de Java para manipular un gráfico de propiedades (nodos + relaciones + propiedades en ambos). Para las aplicaciones web, escribí un example usando Spring Framework, que también existe en una versión simplificada como workshop.
Descargo de responsabilidad: Obviamente estoy en el equipo de Neo4j, y no tengo ningún conocimiento profundo sobre AllegroGraph.
AllegroGraph tiene una biblioteca de cliente java que admite 2 API semánticas java estándar: Jena y Sesame. La fuente del cliente es EPL en github. AG admite sparql, transacciones, razonamiento, análisis geoespacial, temporal y gráfico. No hay características adicionales específicamente para aplicaciones web, pero cabría en cualquier marco como una biblioteca.
(Yo trabajo para Franz.)
Elegí AllegroGraph sobre Neo4j debido a su compatibilidad con las consultas SPARQL. Me pareció que el enfoque Neo4j de atravesar un gráfico es menos ordenado, especialmente para operaciones de recuperación más complejas.
... y no, no tengo ninguna afiliación con ninguna organización.
Otra consideración son las licencias. La edición gratuita de AllegroGraph se puede usar siempre que tenga menos de 50 millones de triples. Consulte http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j es gratuito siempre que su proyecto utilice la edición de comunidad; solo si modifica la fuente Neo4j debe abrir las modificaciones. Los términos de licencia básicos se pueden encontrar en su página de inicio: http://neo4j.org/
Recién descubierto para un proyecto que Neo4j puede usarse también en proyectos de código cerrado, siempre y cuando no cierre las modificaciones de fuente a la fuente neo4j (como MySQL y etc ...) –
No dude en editar esto en mi respuesta. –
Gracias, acabo de aceptar la edición. –
Además de SPARQL, AllegoGraph le permite escribir las reglas y consultas de Prolog. Para la lógica de consulta compleja, es mucho más expresivo que SPARQL.
Hay algunos ejemplos en el tutorial cliente Java: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
- 1. neo4j - base de datos de gráficos junto con una base de datos relacional?
- 2. Base de datos de gráficos para .NET
- 3. neo4j: ¿Cómo cambiar la base de datos?
- 4. Base de datos de gráficos en ruby?
- 5. base de datos de gráficos en nodejs
- 6. ¿Qué base de datos de gráficos
- 7. Base de datos de gráficos y triplestores RDF: almacenamiento de datos de gráficos en python
- 8. Cómo modelar relaciones del mundo real en una base de datos de gráficos (como Neo4j)?
- 9. Almacenamiento de múltiples gráficos en Neo4J
- 10. Modelamiento de Neo4j (o cualquier otra base de datos de gráficos)
- 11. Base de datos de gráficos de código abierto
- 12. Base de datos de gráficos en Java (que no sea Neo4J)
- 13. ¿Cuál es la diferencia entre el conjunto de datos y la base de datos?
- 14. ¿Cómo soltar la base de datos incrustada neo4j con java?
- 15. ¿Convertir la base de datos Neo4j a XML?
- 16. Diferencia entre esto y la base
- 17. ¿Qué puede hacer un RDBMS que Neo4j (y las bases de datos de gráficos) no pueden?
- 18. datos jerárquicos en una base de datos: tablas recursivas de consulta vs. cierre contra base de datos de gráficos
- 19. ¿Cuál es la diferencia entre una base de datos y un depósito de datos?
- 20. Base de datos de gráficos: TinkerPop/Blueprints vs W3C Datos enlazados
- 21. Neo4j y ORM (Hibernate)
- 22. ¿Cuál es la diferencia entre un esquema y una tabla y una base de datos?
- 23. ¿Cuál es la diferencia entre una base de datos basada en archivos y una base de datos basada en servidor?
- 24. ¿Cuál es la diferencia entre las bases de datos basadas en gráficos y las bases de datos orientadas a objetos?
- 25. Principios de diseño de base de datos de gráficos, principios generales y problema de granularidad
- 26. Diferencia entre la sesión en el archivo y en la base de datos
- 27. ORM con bases de datos de gráficos como Neo4j en Python
- 28. diferencia entre rawquery y execSQL en la base de datos sqlite de Android
- 29. Definir reglas para AllegroGraph triplica y la forma de aplicarlos
- 30. ¿Cuál es la diferencia entre NoSQL y una base de datos orientada a columnas?
Neo4j apoya RDF + SPARQL también. Y BTW [Gremlin] (http://github.com/tinkerpop/gremlin) también. – nawroth
Podría, pero no como una función central. El espacio en blanco de la página de inicio para ese componente dice mucho sobre el nivel de soporte. http://components.neo4j.org/neo4j-rdf-sparql/ – David