Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询neo4j中特定于案例的节点_Neo4j_Cypher - Fatal编程技术网

查询neo4j中特定于案例的节点

查询neo4j中特定于案例的节点,neo4j,cypher,Neo4j,Cypher,我有一个像附加图像一样的设置橙色节点表示案例,而蓝色节点表示案例中各种活动的执行者 我想依次询问每个案例。在每个案例中,我需要添加关系 [:RELATED {value: 1}] 从nodei到nodek,对于位于(ID位于i和j之间的节点)这些执行者节点对(nodei,nodej之间的所有k,和=2 [示例和预期输出]: 在案例1中,由于ID为1和ID为4的执行者节点满足条件,因此在以下节点之间添加了关系: Node(ID:1) to Node(ID:2)

我有一个像附加图像一样的设置橙色节点表示案例,而蓝色节点表示案例中各种活动的执行者

我想依次询问每个案例。在每个案例中,我需要添加关系

[:RELATED {value: 1}] 
nodeinodek,对于位于(ID位于i和j之间的节点)这些执行者节点对(nodeinodej之间的所有k,





=2



[示例和预期输出]:

  • 在案例1中,由于ID为1和ID为4的执行者节点满足条件,因此在以下节点之间添加了关系:

           Node(ID:1) to Node(ID:2)
    
           Node(ID:1) to Node(ID:3)
    
           Node(ID:2) to Node(ID:3)
    

  • 在案例2中,ID为2和ID为4的执行者节点满足条件,因此在以下节点之间添加了关系:

           Node(ID:1) to Node(ID:2)
    
           Node(ID:1) to Node(ID:3)
    
           Node(ID:2) to Node(ID:3)
    

  • 在案例3中,有两组节点满足条件

    a。对于节点(ID:1)和节点(ID:4),从中添加关系

           Node(ID:1) to Node(ID:2)
    
           Node(ID:1) to Node(ID:3)
    
    b。对于节点(ID:3)和节点(ID:5),从添加关系

           Node(ID:3) to Node(ID:4)
    
  • 在为上述情况制定密码查询时需要提示


    提前感谢。

    如问题注释中所述,您的计算应该颠倒:

    node j - node i >= 2
    
    对于案例3,还有一点,根据您的解释,节点2和3之间应该存在第三种关系

    这是我提出的一个查询,您可以在neo4j控制台中进行测试:

    匹配(n:大小写)
    匹配路径=(pe)(pe2)
    其中pe.name=pe2.name
    和pe2.id-pe.id>=2
    路径n,(pe2.id-pe.id)作为长度
    将范围(head(nodes(path)).id+1,last(nodes(path)).id-1)作为id,
    N
    头(节点(路径)).id作为启动程序,
    长度
    将ID作为x展开
    匹配(perf:Performer{id:starter})(perf2:Performer{id:x})
    MERGE(perf)-[:将_与{value:1,length:length}]>(perf2)关联
    
    在案例1中,为什么
    节点(ID:1)与节点(ID:2)之间应该存在rel
    ?不一样的名字和(2-1)==1。谢谢你指出问题中的错误。您的解决方案使我的日子变得愉快:)在案例1中(对于其他人也是如此),节点(ID:1)和节点(ID:2)之间的关系是因为节点(ID:1)和节点(ID:4)满足条件。是否可以将另一个属性“Length”添加到:RELATES_,该属性将存储节点(ID:1)和节点(ID:4)的ID差异。所以在案例1中,(A->D)的长度为3,(A->B)的长度为3,(B->A)的长度为2。尝试使用Length:pe2.id-perf.id,但它表示未定义pe2。这是因为pe和pe2未通过传递给查询的其余部分。我更新了答案,在关系中添加了length属性。