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

将CSV数据中的关系加载到neo4j数据库中

陈昂熙
2023-03-14

NEO4J2.1.7

试图通过我在CSV中收到的信息大量连接一堆节点,如下所示:

person_id,book_id,relationship
111,AAA,OWNS
222,BBB,BORROWS
333,AAA,BORROWS
LOAD CSV WITH HEADERS FROM "file:data.csv" AS row
MATCH (person:Person { personID: row.person_id })
MATCH (book:Book { bookID: row.book_id })

PS:我尝试了上面的语法,也尝试了-[:row.relationship]->,都没有用(语法错误)

共有1个答案

白通
2023-03-14

我不认为这是可能的与负载CSV。您需要对输入数据和集合做一些小的调整。如果输入csv中的关系包含Owns,则创建一个包含一个的集合,否则创建一个空集合。对Brows关系值执行相同的操作。会是这样的...

...
case when row.relationship = "OWNS" then [1] else [] end as owns
case when row.relationship = "BORROWS" then [1] else [] end as borrows
foreach(x in owns | MERGE (person)-[:OWNS]->(book))
foreach(x in borrows | MERGE (person)-[:BORROWS]->(book))
...
 类似资料:
  • 我从几个csv文件迭代上传节点和边,每个节点类型一个。加载节点工作得很好,但加载边并不总是有效。实际上,有些节点有数字作为标识符--如果是这样的话,所有这种类型的节点都有数字--但加载为字符串,因此创建边失败。手动创建一个边,添加用双引号包装标识符,效果很好。 边缘: 密码命令:

  • 我正在尝试将Reactome数据库加载到我的Neo4j桌面上。 我从Reactome网站下载了最新版本的数据库(https://reactome.org/dev/graph-database#GetStarted),我的Neo4j桌面的版本是1.3.4,对于创建的数据库,我使用的是Neo4j 4.1.1(也尝试了4.1.0)。 之后,我提取焦油。gz文件,并使用Neo4j Desktop中的终端使

  • 问题内容: 我正在尝试使用Java + Hibernate + Spring将CSV文件加载到mySQL数据库中。我在DAO中使用以下查询来帮助我加载到数据库中: 我有一些想法可以从http://dev.mysql.com/doc/refman/5.1/en/load- data.html 使用它,以及如何从hibernate +spring应用程序将csv文件导入到mysql中? 但是我得到了错

  • 问题内容: 我想在数据库中使用csv文件 问题答案: 由于SQLAlchemy的强大功能,我还在项目中使用了它。它的强大功能来自于与数据库“对话”的面向对象的方式,而不是硬编码难以管理的SQL语句。更不用说,它也快很多。 坦率地回答您的问题,是的!使用SQLAlchemy将数据从CSV存储到数据库中简直是小菜一碟。这是一个完整的工作示例(我使用了SQLAlchemy 1.0.6和Python 2.

  • 问题内容: 不知道我在这里缺少什么,但是这段代码运行时没有任何错误消息,但是表中没有任何内容。我正在将三列的CSV值加载到mysql表中 如果有人可以看看,将不胜感激。 谢谢。 问题答案: 我认为您必须将所有内容插入。 像这样

  • 图像我有以下实体:公司和员工,带有Spring数据neo4j注释: Company.java 受雇者JAVA 然后是这些实体的关系实体: 那么如何保留和中的引用呢? Company.java 或 人JAVA 或