Quelle est la différence entre ces deux bases de données graphiques: Neo4j et AllegroGraph? Quel est le meilleur pour la programmation Web Java?Différence entre la base de données graphique: Neo4j & AllegroGraph
Répondre
Si vous n'avez aucune raison de choisir RDF + SPARQL (que les deux produits supportent), Neo4j fournit une API Java propre pour manipuler un graphe de propriétés (nœuds + relations + propriétés sur les deux). Pour les applications web, j'ai écrit un example en utilisant Spring Framework, qui existe également dans une version simplifiée en tant que workshop. Clause de non responsabilité: De toute évidence, je fais partie de l'équipe Neo4j et je n'ai aucune connaissance approfondie de l'AllegroGraph.
AllegroGraph dispose d'une bibliothèque client Java qui prend en charge 2 API sémantiques java standard: Jena et Sesame. La source du client est EPL sur github. AG prend en charge sparql, les transactions, le raisonnement, l'analyse géospatiale, temporelle et graphique. Il n'y a pas de fonctionnalités supplémentaires spécifiquement pour les applications Web, mais il s'intégrerait dans n'importe quel cadre en tant que bibliothèque.
(je travaille pour Franz.)
J'ai choisi AllegroGraph sur Neo4j en raison de son soutien pour les requêtes SPARQL. Il m'a semblé que l'approche Neo4j de la traversée d'un graphe est moins ordonnée, en particulier pour des opérations de récupération plus complexes.
... et non, je n'ai aucune affiliation avec l'une ou l'autre organisation.
Une autre considération est les licences. L'édition gratuite d'AllegroGraph peut être utilisée tant que vous avez moins de 50 millions de triplets. Voir http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
Neo4j est gratuit tant que votre projet utilise l'édition communautaire; Ce n'est que si vous modifiez la source Neo4j que vous devez ouvrir les modifications. Les termes de licence de base peuvent être trouvés sur leur page d'accueil:
Juste découvert pour un projet que Neo4j peut être utilisé aussi dans des projets à source fermée tant que vous ne fermez pas les modifications de source à la source neo4j elle-même (comme MySQL et ainsi de suite ...) –
N'hésitez pas à modifier ceci dans ma réponse. –
Merci, je viens d'accepter la modification. –
En plus de SPARQL, AllegoGraph vous permet d'écrire des règles et des requêtes Prolog. Pour une logique de requête complexe, c'est beaucoup plus expressif que SPARQL.
Il y a quelques exemples dans le tutoriel client Java: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
- 1. Quelle est la différence entre GraphDatabaseService ou NeoService dans neo4j
- 2. Différence entre graphique, intrigue et graphique
- 3. Base de données graphique en ruby?
- 4. Quelle est la base de données graphique qui peut évoluer horizontalement, gérer de gros volumes de données et effectuer des requêtes à faible latence?
- 5. différence entre 2 données
- 6. différence entre les dates données
- 7. Limitations de licence Neo4j?
- 8. Différence de données entre deux bases de données
- 9. Différence de base entre l'informatique distribuée et la communication interprocessus?
- 10. visualisation graphique de base de données
- 11. Quelle est la différence entre la couche d'abstraction de la base de données et la couche d'accès aux données?
- 12. Quelle est la différence entre un gestionnaire de transactions et un gestionnaire de base de données?
- 13. Neo4j Documentation
- 14. Dans une base de données Oracle, quelle est la différence entre ROWNUM et ROW_NUMBER?
- 15. Différence entre la course et le remplissage?
- 16. Comptage des primitives dans Neo4j
- 17. Convertir Neo4j DB en XML?
- 18. Neo4j vs OpenLink Virtuoso
- 19. Quelle est la différence entre les bases de données à base de graphes et les bases de données orientées objet?
- 20. différence entre les types de projets de base de données dans Visual Studio
- 21. Synchronisation entre la base de données client et la base de données centrale
- 22. Liaison de données entre fichier XML et interface graphique
- 23. La différence entre les boucles
- 24. Base de données de GUI ou base de données de l'objet à l'interface graphique
- 25. Quelle est la différence entre l'utilisation de WorkflowInvoker et WorkflowApplication?
- 26. Copier la base de données de données de base entre deux iphone
- 27. Au niveau de la base de données, quelle est la différence entre [Django] OneToOneFiled et ForeignKey (Model, unique = True)
- 28. Théorie de la base de données - relation entre deux tables
- 29. trouver la différence entre 2 dates
- 30. Différence entre deux cartes
Neo4j prend en charge RDF + SPARQL ainsi. Et BTW [Gremlin] (http://github.com/tinkerpop/gremlin) aussi. – nawroth
Il pourrait, mais pas comme une fonction de base. Le vide de la page d'accueil de cette composante en dit long sur le niveau de soutien. http://components.neo4j.org/neo4j-rdf-sparql/ – David