我已经将csv文件导入到neo4j,并为它们创建了节点和关系。
在上面的代码中,前两个节点位于db1之下,后四个节点位于db2之下。如何找到属于db2的最后四个节点?
以下是代码和csv文件列名、表名、数据库名、系统名abc、1a、db1、财务定义、1a、db1、财务ghi、1a、db1、财务klm、1a、db1、财务abc、1a、db2、医疗定义、1a、db2、医疗ghi、1a、db2、医疗klm、1a、db2、医疗nop、1a、db2、医疗qrs、1a、db2、医疗
I've created nodes and relationships for the above csv file in neo4j
This is for getting unique values
CREATE CONSTRAINT ON (c:ColumnName) ASSERT c.ColumnName IS UNIQUE;
CREATE CONSTRAINT ON (c:TableName) ASSERT c.TableName IS UNIQUE;
CREATE CONSTRAINT ON (c:DatabaseName) ASSERT c.DatabaseName IS UNIQUE;
CREATE CONSTRAINT ON (c:SystemName) ASSERT c.SystemName IS UNIQUE;
This is for loading csv file and creating nodes and relationships
LOAD CSV WITH HEADERS FROM "file:///test.csv" AS line
MERGE (ColumnName:ColumnName {ColumnName: line.ColumnName})
MERGE (TableName:TableName {TableName:line.TableName})
MERGE (DatabaseName: DatabaseName {DatabaseName:line.DatabaseName})
MERGE (SystemName: SystemName {SystemName:line.SystemName})
This is creating relationships among the nodes
MERGE (ColumnName)-[:iscolumnof]->(TableName)
MERGE (TableName)-[:istableof]->(DatabaseName)
MERGE (DatabaseName)-[:isdatabaseof ]->(SystemName)
If, i select one node 'nop'and expand i'll get the node(1a) 1a and if i expand 1a i'll get all the
nodes(columns). How to find that 'nop' belongs to 'db2'?
发布于 2020-09-18 20:36:59
据我所知,你有一个模式
(:ColumnName)-[:iscolumnof]->(:TableName)-[:istableof]->(:DatabaseName)-[:isdatabaseof ]->(:SystemName)
如果要测试某个:ColumnName是否属于某个:DatabaseName
WITH 'nop' AS columnName, 'db2' AS databaseName
MATCH (col:ColumnName {ColumnName:columnName}),(db:DatabaseName
{DatabaseName:databaseName})
RETURN EXISTS((col)-[:iscolumnof]->(:TableName)-[:istableof]->(db)) AS result
如果您想要db2的所有列
WITH 'db2' AS databaseName
MATCH (c:ColumnName)-[:iscolumnof]->(:TableName)-[:istableof]->(:DatabaseName {DatabaseName:databaseName})
RETURN c.ColumnName AS column
https://stackoverflow.com/questions/63952269
复制相似问题