【问题标题】:Is there any way to get two relationship arrows from one node A to another node B and node B to node A in neo4j?有没有办法在neo4j中获得从一个节点A到另一个节点B和节点B到节点A的两个关系箭头?
【发布时间】:2014-09-12 02:01:51
【问题描述】:

我正在使用 neo4j 开发我的应用程序。假设有两个节点 A 和 B,它们与从 A 到 B 的属性有关系,反之亦然。在 neo4j 中,关系仅由一个箭头表示,上面提到了这两种关系箭头。我希望从节点 A 到 B 应该有两个 单独 箭头,反之亦然,提及它们的关系属性。有没有办法得到它。![输入图片此处描述][1]请帮帮我。

【问题讨论】:

    标签: node.js neo4j


    【解决方案1】:

    1) 如果我的理解正确,您需要以下内容:

    CREATE (a)-[:r1]->(b)-[:r2]->(a);
    

    这将创建两个具有相互指向关系的节点。在此示例中,关系类型为 r1r2

    2) 但是,可能不需要同时拥有这两种关系,因为您始终可以反向遍历关系。例如,假设您只创建了一个关系:

    CREATE (a)-[:r1]->(b);
    

    如果您想从b 开始查找a,您可以这样做(假设b 的id 为1):

    START b = node(1)
    MATCH (a)-[:r1]->(b)
    RETURN a;
    

    【讨论】:

    • 以两种方式创建节点之间的关系不是问题。问题是,当我单击该关系箭头(双向箭头)时,我仅从 A 到 B 获取关系信息,而不是另一个,即点击时从 B 到 A。假设,在我的情况下,我有一个关于关系的计数器,它计算遍历该路径的用户数。从 A 到 B,它可能是 2,从 B 到 A 它可能是 1 (例如)。当我点击关系箭头时,它只显示 1,而不是 2。
    • 关系总是单向的,而不是双向的。
    • 我同意关系是单向的。但是如果我们有从 A 到 B 和 B 到 A 的关系,那么它显示一个箭头,上面显示两个关系,即从 A 到 B 和 B 到 A .当我点击那个箭头时,我只得到关于一个关系的信息,即从 A 到 B。我该如何解决这个问题。?
    • 好的,我明白发生了什么。两个箭头都在那里,但一个在另一个下方,因此您只能单击顶部的一个。除了使用 neo4j 浏览器,您还可以使用 neo4j shell、控制台页面 (localhost:7474/webadmin/#/console) 或 webadmin 页面 (localhost:7474/webadmin)。你不会得到漂亮的图形,但至少你会看到所有的结果。
    • 我使用了上面提到的链接,但它以表格形式显示关系和它们的值。我想以图形方式表示它们,如localhost:7474/browser/.Is 有任何得到两个箭头,而不是另一个,但彼此分开?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多