我有我的图形数据库,填充了节点、关系、属性等。我想了解整个数据库的连接方式、每个节点的每个关系、节点的属性等。
我的意思不是查看每个单独的节点,而是查看关系数据库中的 ERD 之类的东西,就像这样,带有节点标签。这可能吗?
您可以通过运行命令来使用元数据call db.schema()
。
在 Neo4j v4call db.schema()
已弃用,您现在可以使用call db.schema.visualization()
据我所知,没有直接的方法可以得到一张精美的 neo4j 数据库结构图。
neo4j 浏览器中有一个预定义的查询,用于查找所有节点类型及其关系。但是,它会遍历完整的图表,如果您有大量数据,可能会由于内存错误而失败。
此外,还有neoprofiler。这是一个声称你所问的工具。我从来没有尝试过,它最近没有得到太多更新。还是值得一试:https ://github.com/moxious/neoprofiler
尽管这不是图形表示,但此查询将让您了解哪些类型的节点以何种类型的关系连接到其他节点。
MATCH (n)
OPTIONAL MATCH (n)-[r]->(x)
WITH DISTINCT {l1: labels(n), r: type(r), l2: labels(x)}
AS `first degree connection`
RETURN `first degree connection`;
您可以使用此查询展开标签以动态编写下一个密码查询(通过脚本语言并使用 REST API),然后将该查询粘贴回 neo4j 浏览器以获取数据示例集。
但这应该足以让您大致了解您的图表。从这里展开。