繁体   English   中英

如何在neo4j中从csv创建节点和关系

[英]How to create nodes and relationships from csv in neo4j

我正在加载一个带有cypher查询的 csv 文件。 csv 文件有 4 列。 2 列和 2 表如下所示。

在此处输入图片说明

我想从这 4 列创建 2 种类型的节点数据库和表。 如何为数据库和列创建唯一节点并在它们之间建立关系?

根据logisima's回答,我在下面的查询中添加了为数据库和列创建节点并添加关系。 但是节点中有一些重复。

        `LOAD CSV WITH HEADERS FROM 'file:///test1.csv' AS row
        MERGE (source:Database { source: row.Source_DB})
        MERGE (target:Database { target: row.Target_DB})
        MERGE (source_table:Table { source_table: row.Source_Table})
        MERGE (target_table:Table { source_table: row.Target_Table})
        MERGE (source)-[:LINKED_TO]-> (target)
        MERGE (source)-[:LINKED_TO]-> (source_table)
        MERGE (source)-[:LINKED_TO]-> (target_table)
        MERGE (target)-[:LINKED_TO]-> (target_table)`

在此处输入图片说明

请耐心等待我是 Neo4j 的新手。

类似的东西?

LOAD CSV WITH HEADERS FROM 'file:///MASTER.csv' AS row

MERGE (source:Database { db: row.Source_DB, table: row.Source_Table})
MERGE (target:Database { db: row.Target_DB, table: row.Target_Table})
MERGE (source)-[:LINKED_TO]->(target)

更新评论

CREATE CONSTRAINT ON (n:Database) ASSERT n.db IS UNIQUE;
CREATE CONSTRAINT ON (n:Table) ASSERT n.id IS UNIQUE;

LOAD CSV WITH HEADERS FROM 'file:///MASTER.csv' AS row

MERGE (sourceDb:Database { db: row.Source_DB})
MERGE (sourceTable:Table { id: row.Source_DB + "-" + row.Source_Table, table: row.Source_Table})
MERGE (sourceDb)-[:HAS_TABLE]->(sourceTable)

MERGE (targetDb:Database { db: row.Target_DB})
MERGE (targetTable:Table { id: row.Target_DB + "-" + row.Target_Table, table: row.Target_Table})
MERGE (targetDb)-[:HAS_TABLE]->(targetTable)

MERGE (sourceTable)-[:LINKED_TO]->(targetTable);

您的查询需要使用Database名称的一致属性创建Database节点。 您使用了 2 个不同的属性名称,因此有时会为同一个数据库创建 2 个节点。

代替:

MERGE (source:Database { source: row.Source_DB})
MERGE (target:Database { target: row.Target_DB})

使用类似的东西:

MERGE (source:Database {name: row.Source_DB})
MERGE (target:Database {name: row.Target_DB})

您还必须修复查询的其余部分以使用该属性名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM