我在NEO4j中有一个图表,当我向neo4j服务器发送一个REST请求时,我在源节点和目标节点之间得到一个遍历时间(t1),但是当我交换了我的节点时,我在目标节点和目标节点之间得到了不同的遍历时间(t2) . 源节点,尽管它们之间有相同数量的边和节点 .

为了进一步说明,假设我的图形类似于Node1 - > Node 2 - > Node 3 . 我得到了Node1(Source)和Node3(Target)之间路径的遍历时间T1,当我找到Node3(Source)和Node1(Target)之间的路径时,我得到遍历时间T2 . 理想情况下,T1和T2应该相等,但我得到的值不同 . 获得不同遍历时间的原因是什么?

我甚至尝试将相同的Source请求发布到Target,每次请求都会得到不同的遍历时间 .

当我发布请求时,我得到一个JSON字符串,它有边缘 . 我查询了“sourceNodeId”:7091和“targetNodeId”:343643之间的距离 .

"edges": [
        {
            "sourceNodeId": 7091,
            "id": 494470,
            "type": "test",
            "targetNodeId": 80985
        },
        {
            "sourceNodeId": 73698,
            "id": 1316749,
            "type": "test",
            "targetNodeId": 80985
        },
        {
            "sourceNodeId": 73698,
            "id": 1317536,
            "type": "test",
            "targetNodeId": 343643
        }
    ]

此请求的响应时间为650毫秒 .

当我查询“sourceNodeId”:343643和“targetNodeId”:7091之间的距离时,我得到相同的边,但此请求的响应时间是900毫秒

"edges": [
        {
            "sourceNodeId": 7091,
            "id": 494470,
            "type": "test",
            "targetNodeId": 80985
        },
        {
            "sourceNodeId": 73698,
            "id": 1316749,
            "type": "test",
            "targetNodeId": 80985
        },
        {
            "sourceNodeId": 73698,
            "id": 1317536,
            "type": "test",
            "targetNodeId": 343643
        }
    ]