当前位置: 首页 > 知识库问答 >
问题:

在Neo4j中从单个csv文件创建关系

秦宏盛
2023-03-14

我正在尝试将单个csv加载到Neo4j DB中。我遵循了这个指导方针,但仍然不明白为什么对我不起作用。

列,instaGramId,imageDateCreated,imageTagCount,imageFilter,googleLabel_list 0,116 5524631240624607_638926073,1453161384,7,Normal,“[卡通,漫画,艺术品]”
...

我遵循以下步骤:

步骤1:创建节点工作正常

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row 
CREATE (:Post {instaGramId: row.instaGramId,
    imageDateCreated: toInt(row.imageDateCreated),
    imageTagCount: row.imageTagCount,
    imageFilter: row.imageFilter});
CREATE INDEX ON :Post(instaGramId);
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
MATCH (post:Post {id: row.instaGramId})
MATCH (objects:Post {id: row.googleLabel_list})
MERGE (post)-[:CONTAINS_OBJECTS]->(objects);

共有1个答案

越文康
2023-03-14

以下子句可能永远不会匹配任何内容(因此不会创建任何关系):

MATCH (objects:Post {id: row.googleLabel_list})

这是因为现有的post节点具有ID值(例如,“1165524631240624607_638926073”--来自row.instagramid),这些值可能与row.googlelabel_list值(例如,“[卡通,漫画,艺术品]”)完全不同。

 类似资料:
  • 我使用以下命令将数据从csv文件加载到Neo4j中。输入文件很大,有数百万行。当这个查询运行时,我可以查询节点的数量并检查进度。但是一旦它停止创建节点,我想它就会继续创建关系。但我无法检查这一步的进展。 我有两个疑问: 它是否处理每一行文件的命令,即为每一行源码创建节点和关系等?? 或者它一次创建所有节点,然后创建关系。 下面是加载文件的密码器。

  • 我有一个csv格式的数据集。其中一个字段是类型,类似于枚举。基于此类型,我需要在使用csv LOAD加载数据时创建不同的类型、节点和关系。您可以在csv中调用具有定义子类型的属性的超级类型的行。 我真的不知道如何在Cypher中做到这一点。我唯一的选择是将一个csv文件拆分为每种类型的csv文件,并运行不同的密码吗?

  • 我尝试使用Neo4j工具和导入csv文件。 我有个问题。我的csv文件是清晰的,但是,在neo4j浏览器。

  • 然后我试着用斜线。

  • 问题内容: 我正在使用superCSV在我的代码中以csv格式写入数据。它的工作绝对很好而且非常有效,但是现在我的要求改变了。我需要在单个xls文件中写多个工作表,这是非常耗时的任务。因此,supercsv中有什么方法可以将多个工作表数据写入单个csv文件并将其发送给客户端,以便当客户端在MS- Excel中打开此csv文件时,他可以看到多个工作表,而不是由我生成具有多个工作表的excel文件,并

  • 我是一个新的4J新手,我有一个简单的CSV与来源和dest IPS。我想在具有相同标签的节点之间创建一个关系。 类似于…source_ip>>ALERTS>>dest_ip,或者相反。 ....