【问题标题】:how to build relationship between two different columns in neo4j?如何在 neo4j 中的两个不同列之间建立关系?
【发布时间】:2018-10-02 03:10:08
【问题描述】:

我在 csv 文件中有两列的问题和答案。如何建立问题和答案之间的关系?

我试过Neo4j Cypher - Creating relationship using two CSV files这个过程但没有得到结果。

我的数据如下所示:

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    下面是一个示例,说明如何将每个QuestionAnswer 节点与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) 创建一个index

    [更新 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) 创建一个index

    【讨论】:

    • 谢谢。我们可以检索特定问题的答案吗?
    • 我们能找到更多常见问题解答
    • 我的简单数据模型无法跟踪问题被提出的次数。您应该尝试提出自己的数据模型来支持这一点,如果它不起作用,请提出一个新问题。
    • 我的模型是多个问题作为一个答案。我正在尝试检索问题列表以获取答案。能不能找到。
    • 在我的回答中看到了更新 2。
    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多