neo4j - 如何在 neo4j 中的两个不同列之间建立关系?
问题描述
我在 csv 文件中有两列的问题和答案。我如何建立问题和答案之间的关系?
我曾尝试过Neo4j Cypher -在此过程中使用两个 CSV 文件创建关系,但没有得到结果。
我的数据如下所示:
解决方案
以下是如何将每个Question
和Answer
节点与HAS_ANSWER
关系连接的示例:
LOAD CSV WITH HEADERS FROM "file:///Test.csv" AS row
MERGE (q:Question {text: row.Question})
MERGE (a:Answer {text: row.Answer})
MERGE (q)-[:HAS_ANSWER]->(a)
[更新 1]
这是一个获取Answer
特定对象的示例Question
:
MATCH (q:Question {text: "What is the square root of 4?"})-[:HAS_ANSWER]->(a:Answer)
RETURN q, a;
为了获得更快的结果,您应该为:Question(text)
.
[更新 2] 要获得具有相同答案的所有问题的列表:
MATCH (q:Question)-[:HAS_ANSWER]->(a:Answer {text: "The square roots of 4 are 2 and -2."})
RETURN a, COLLECT(q) AS questions;
为了获得更快的结果,您应该为:Answer(text)
.
推荐阅读
- c# - 在不使用主页面的情况下在详细信息页面中导航
- import - SAS Proc Import“Table”:“Table”参数是必需的参数吗?
- jquery - Ajax 请求后选择选项未重置
- matlab - Matlab if else循环
- php - 使用 Wordpress 为 ShareTribe 的托管版本创建页面
- android - 在 Kivy 中绑定 'esc' 并在 kv 文件中完成屏幕管理
- javascript - 在创建诸如仓位之类的递增值时如何消除可变性?
- haskell - Reddit API 收到评论
- python-3.x - 文本分隔符在数据框中移动值
- javascript - 通过单击按钮重置使用 css 创建的动画