2017-05-05 3 views
1

J'ai besoin de partager une visualisation graphique Neo4J avec les utilisateurs finaux. Ils devraient être en mesure d'interagir avec le graphique, et effectuer des requêtes très basiques. Par exemple: - montrez-moi les relations jusqu'à 3 hops du noeud nommé 'Joe'Interface utilisateur Neo4J

Une première option serait de leur donner simplement l'interface utilisateur standard (habituellement exposée au port 7474); Cependant, cela est trop puissant car ils pourraient effectuer n'importe quoi dans Cypher.

Existe-t-il un moyen de restreindre cette interface (afin qu'ils ne puissent pas déclencher des requêtes coûteuses ou même des mises à jour de graphique)? Ou peut-être d'autres alternatives open source/communautaires?

Merci

Répondre

1

Je vous suggère le chapitre 8 de l'excellent livre d'apprentissage Neo4j, par Rik Van Bruggen. Ce livre est available for download sur le site web de Neo4j.

L'une des sections de ce chapitre présente quelques bibliothèques de visualisation open source et des solutions de visualisation.

EDIT 1:

Analyse un peu plus le chapitre 8 du livre d'apprentissage Neo4j Je crois qu'un outil prometteur pour votre cas d'utilisation est la solution payante Linkurio.us (vous pouvez exécuter une démo sur le site) . Cette solution a une intégration native avec Neo4j et d'autres bases de données de graphes.

EDIT 2:

Sinon, vous pouvez construire votre propre solution de visualisation avec une bibliothèque de visualisation graphique en JavaScript, par exemple. Here une réponse très utile d'une autre question StackOverflow qui répertorie plus de bibliothèques qui peuvent vous aider.

2

Si vous souhaitez utiliser l'interface standard du navigateur, vous pouvez appliquer certains paramètres du fichier neo4j.conf qui peuvent vous aider:

dbms.transaction.timeout=10s 
dbms.read_only=true 

dbms.transaction.timeout prendra fin des requêtes dépassant le délai d'attente, de sorte que peut éviter les requêtes coûteuses.

dbms.read_only rend l'instance db entière en lecture seule.