Neo4J最终用户界面

时间:2017-05-05 20:44:37

标签: neo4j graph-databases

我需要与最终用户共享Neo4J图形可视化。他们应该能够与图表交互,并执行一些非常基本的查询。例如: - 向我展示距离名为“Joe”

的节点最多3跳的关系

第一种选择是给他们标准的用户界面(通常在端口7474暴露);然而,这太强大了,因为他们可以在Cypher中执行任何操作。

是否有任何方法可以限制此界面(以便它们无法触发昂贵的查询甚至是图表更新)?或者也许是其他开源/社区替代方案?

由于

4 个答案:

答案 0 :(得分:3)

如果您使用的是Enterprise Edition neo4j,则可以访问广泛的authentication and authorization功能,包括为特定用户名分配reader role的功能。

答案 1 :(得分:2)

如果您确实想使用标准浏览器界面,可以在neo4j.conf文件中应用一些可能对您有帮助的设置:

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

dbms.transaction.timeout将终止超过超时的查询,这样可以防止昂贵的查询。

dbms.read_only使整个数据库实例成为只读。

答案 2 :(得分:1)

我建议你阅读Rik Van Bruggen的优秀着作“学习Neo4j”的第8章。这本书在Neo4j网站上available for download

本章的其中一节介绍了一些开源可视化库和可视化解决方案。

编辑1:

再分析一下Learning Neo4j的第8章,我相信对于你的用例来说,一个有前途的工具是付费解决方案Linkurio.us(你可以在网站上运行一个演示)。该解决方案与Neo4j和其他图形数据库进行了本地集成。

编辑2:

或者,您可以使用JavaScript中的图形可视化库构建自己的可视化解决方案。 Here来自另一个StackOverflow问题的非常有用的答案,其中列出了一些可以帮助您的库。

答案 3 :(得分:1)

您还可以构建一个调用REST端点的自定义Web UI(需要在头文件中进行身份验证)

创建一个非托管扩展 https://neo4j.com/docs/java-reference/3.1/#server-unmanaged-extensions