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
在java中的neo4j嵌入式数据库中,我应该如何检查两个节点之间是否存在关系?_Neo4j_Embedded Database_Java - Fatal编程技术网

在java中的neo4j嵌入式数据库中,我应该如何检查两个节点之间是否存在关系?

在java中的neo4j嵌入式数据库中,我应该如何检查两个节点之间是否存在关系?,neo4j,embedded-database,java,Neo4j,Embedded Database,Java,在java中的neo4j嵌入式数据库中,我应该如何检查两个节点之间是否存在关系 我想要的语法请或教程链接,我看到了neo4j网站,但没有找到它 谢谢。给定两个节点“nodeA”和“nodeB” 获取附加到“nodeA”的所有关系 迭代关系“rel”集合,对于每个关系“rel”,测试另一端节点是否为nodeB rel.getOtherNode(nodeA).equals(nodeB) 如果上述表达式适用于其中一个关系,则nodeA和nodeB是连接的 下面是“节点”和“关系”的java AP

在java中的neo4j嵌入式数据库中,我应该如何检查两个节点之间是否存在关系

我想要的语法请或教程链接,我看到了neo4j网站,但没有找到它

谢谢。

给定两个节点“nodeA”和“nodeB”

  • 获取附加到“nodeA”的所有关系

  • 迭代关系“rel”集合,对于每个关系“rel”,测试另一端节点是否为nodeB

    rel.getOtherNode(nodeA).equals(nodeB)
    
  • 如果上述表达式适用于其中一个关系,则nodeA和nodeB是连接的

  • 下面是“节点”和“关系”的java API

    私有布尔sharedRelationshipExists(节点节点A、长节点ID)
    {
    迭代器迭代器=nodeA.getRelationships().Iterator();
    while(iterator.hasNext())
    {
    if(iterator.next().getOtherNode(nodeA.getId()==nodeBId)返回true;
    }
    返回false;
    }
    //在另一部分
    布尔sharedrelationshipBeweenAb;
    if(nodeA.getDegree()

    <布尔> <代码> SydRelabsIn AB < /代码>将保留您的答案< /p>我只是想补充,在执行此搜索之前,您应该考虑<代码> NoDEA < /C> >和>代码> NoDEB < /代码>。因为你可以从任何一个节点开始执行它。如果你可能有数千个关系,那么这就不能很好地工作。
    rel.getOtherNode(nodeA).equals(nodeB)
    
    private boolean sharedRelationshipExists( Node nodeA, long nodeBId)
    {
        Iterator<Relationship> iterator = nodeA.getRelationships().iterator();
        while ( iterator.hasNext() )
        {
            if (iterator.next().getOtherNode( nodeA ).getId() == nodeBId) return true;
        }
        return false;
    }
    
    // in another part
    boolean sharedRelationshipBetweenAB;
    if ( nodeA.getDegree() < nodeB.getDegree() )
    {
        sharedRelationshipBetweenAB = sharedRelationshipExists( nodeA, nodeB.getId() );
    }
    else
    {
        sharedRelationshipBetweenAB = sharedRelationshipExists( nodeB, nodeA.getId() );
    }