Neo4j - 为参照完整性创建关系



我已经摄取了所有的表和列元数据,现在我正在尝试使用引用完整性创建关系。我有一个包含 6 列的 csv 文件,即 table_schema、table_name、col_name、referenced_table_schema、referenced_table_name 和 referenced_column_name。现在,我只需要在可用的现有列节点之间创建关系。我尝试过的密码查询

LOAD CSV WITH HEADERS FROM "file:///column_ref_integrity.csv" AS csv
MATCH (n:column), (m:table), (o:db)
where n.col_name=csv.col_name and m.table_name =csv.table_name and o.db_name = csv.table_schema
where n.col_name=csv.referenced_column_name and m.table_name = csv.referenced_table_name and o.db_name=referenced.db_name
MERGE  (n{col_name:csv.col_name})-[:refers]->(n{col_name:csv.referenced_column_name}) 

此查询似乎不起作用。关于我做错了什么的任何指示?

这可能适合您:

LOAD CSV WITH HEADERS FROM "file:///column_ref_integrity.csv" AS row
MATCH (c1:column), (c2:column)
WHERE c1.col_name = row.col_name AND c2.col_name = row.referenced_column_name
MERGE (c1)-[:refers]->(c2) 
WITH row
MATCH (t1:table), (t2:table)
WHERE t1.table_name = row.table_name AND t2.table_name = row.referenced_table_name
MERGE (t1)-[:refers]->(t2) 
WITH row
MATCH (d1:db), (d2:db)
WHERE d1.db_name = row.table_schema AND d2.db_name = row.referenced_table_schema
MERGE (d1)-[:refers]->(d2)

最新更新