如何可视化从嵌入式 Neo4j Java 应用程序创建的 Neo4j 图形数据库
Posted
技术标签:
【中文标题】如何可视化从嵌入式 Neo4j Java 应用程序创建的 Neo4j 图形数据库【英文标题】:How to visualise Neo4j graph database created from an embedded Neo4j java application 【发布时间】:2014-07-18 07:56:43 【问题描述】:我创建了一个嵌入 Neo4j 的应用程序。在那个应用程序中,我创建并存储了一些具有某些关系的节点。我的应用程序已将此数据库保存到文件中。我想可视化这些数据。我知道如果我启动 Neo4j 服务器可以看到图表,但我不知道如何将我的 neo4j.db 文件导入 Neo4j 服务器以便可视化它。任何建议将不胜感激。
【问题讨论】:
要让 Neo4j 服务器使用您自己的数据库,只需编辑conf/neo4j-server.propereties
文件,设置 org.neo4j.server.database.location=/path/to/your/database.db
属性并使用 ./bin/neo4j start
启动它。
有关一般可视化信息,请查看此页面:neo4j.org/develop/visualize,尤其是 Max de Marzi 的文章maxdemarzi.com
@MichaelHunger 可视化链接已失效
【参考方案1】:
根据您的用例,您可能有不同的解决方案:
使用基于网络的可视化 使用桌面应用程序可视化您的数据使用基于网络的可视化
在这种情况下,您必须使用网络应用程序来可视化数据。 您基本上有两种解决方案:javascript 或 Java 小程序。
对于 Javascript 方面,您有很多选择:D3js、VivaGraph、SigmaJS、KeyLines。 前三个是开源和免费的,而最后一个是商业许可证并且是非免费的。 SO 上关于这些库的问题已经有一百万个,所以我会将您链接到 some of those to 了解各种差异。
桌面应用程序
在这种情况下,我会推荐您的主要解决方案,具体取决于数据类型:Gephi 或 Cytoscape。 在这两种情况下,我认为您必须编写自己的适配器才能与您的应用程序通信。
架构参考
两种情况下的架构如下:
控制器用你要使用的JS可视化框架渲染一个网页 控制器提供了几个 JSON 端点,客户端可以使用它们来查询来自嵌入式 Neo4J 的数据 每个查询都获取数据、放入模型并呈现 JSON 以发送到客户端【讨论】:
我以前使用过 D3,但我的数据结构是 JSON 格式。当我查看 Neo4j 数据库文件时,我不知道它是如何以及在何处构建数据的。它只是一系列文件夹。这就是我卡住的地方。 您仍然可以使用嵌入的 Neo4J 来查询数据,而无需将原始文件夹导出到应用程序之外。【参考方案2】:如果您不使用 neo4j 2.0+,那么可视化图表的真正好方法是使用 neoclipse。 https://github.com/neo4j-contrib/neoclipse/downloads 它真的很方便,而且还支持密码。
或者
另一个快速技巧是将您的 db 文件夹(您使用嵌入式数据库创建的)复制到 $NEO4j_HOME/data/
和
更改 $NEO4j_HOME/conf/neo4j-server-properties 文件以指向
和
启动你的服务器(bin/.neo4j start)。您将能够在 localhost:7474 可视化您的数据库 希望对你有帮助!
【讨论】:
以上是关于如何可视化从嵌入式 Neo4j Java 应用程序创建的 Neo4j 图形数据库的主要内容,如果未能解决你的问题,请参考以下文章