如何使用 Cypher 在 Neo4J 中创建所有可能的关系和节点的 'blueprint'?
How to make a 'blueprint' of all possible relationships and nodes in Neo4J with Cypher?
我想要创建的是我的数据模型的蓝图。
我的意思是蓝图是一个新创建的数据模型,其中每个节点只创建一次;来自我的真实数据库的每个具有唯一标签(带有 eiter none,一个或多个标签)的节点必须被复制并显示一次。
对于此蓝图中的每个独特节点,我还需要一个关系蓝图。因此,对于每个 不同的 关系(通过名称、方向或连接的节点),我也只需要一种表示。
示例:假设我有 4 个节点,其中 2 个是个人,2 个是公司;然后在蓝图中只显示 2 个节点。这些是关系:
(c)-[:LIKES]->(p)
(c)-[:LIKES]->(p)
(c)-[:LIKES]->(c)
(c)-[:LIKES]->(c)
(p)<-[DISLIKS]-(c)
这些关系显示了 3 种独特的关系,基于名称、方向和连接的节点。
因此对于此蓝图,结果必须是具有 3 个唯一关系的 2 个唯一节点。
一段时间以来,我一直在努力编写实现这一点的代码。
非常感谢任何建议!
Neo4j 内置程序 db.schema.visualization()
似乎就是您要查找的内容:https://neo4j.com/docs/operations-manual/current/reference/procedures/#procedure_db_schema_visualization
示例:
我想要创建的是我的数据模型的蓝图。 我的意思是蓝图是一个新创建的数据模型,其中每个节点只创建一次;来自我的真实数据库的每个具有唯一标签(带有 eiter none,一个或多个标签)的节点必须被复制并显示一次。
对于此蓝图中的每个独特节点,我还需要一个关系蓝图。因此,对于每个 不同的 关系(通过名称、方向或连接的节点),我也只需要一种表示。
示例:假设我有 4 个节点,其中 2 个是个人,2 个是公司;然后在蓝图中只显示 2 个节点。这些是关系:
(c)-[:LIKES]->(p)
(c)-[:LIKES]->(p)
(c)-[:LIKES]->(c)
(c)-[:LIKES]->(c)
(p)<-[DISLIKS]-(c)
这些关系显示了 3 种独特的关系,基于名称、方向和连接的节点。 因此对于此蓝图,结果必须是具有 3 个唯一关系的 2 个唯一节点。
一段时间以来,我一直在努力编写实现这一点的代码。 非常感谢任何建议!
Neo4j 内置程序 db.schema.visualization()
似乎就是您要查找的内容:https://neo4j.com/docs/operations-manual/current/reference/procedures/#procedure_db_schema_visualization
示例: