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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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,Neo4j:即使在使用上限(*1..4)之后,在两个节点之间查找简单路径也需要大量时间。我不想使用allShortestPath或shortestPath,因为它不会返回所有路径 Match p=((n {Name:"Node1"}) -[*1..4]-> (m {Name:"Node2"})) return p; 有没有加快速度的建议?如果有很多节点,请尝试创建索引,这样neo4j DB引擎就不必搜索每个节点来找到具有正确名称属性值的节点 我假设,在您的示例中,n和m节点实际上是相同的

Neo4j:即使在使用上限(*1..4)之后,在两个节点之间查找简单路径也需要大量时间。我不想使用allShortestPath或shortestPath,因为它不会返回所有路径

Match p=((n {Name:"Node1"}) -[*1..4]-> (m {Name:"Node2"})) return p;

有没有加快速度的建议?

如果有很多节点,请尝试创建索引,这样neo4j DB引擎就不必搜索每个节点来找到具有正确
名称
属性值的节点

我假设,在您的示例中,
n
m
节点实际上是相同的节点“类型”。如果这是真的,那么:

  • 为每个节点(与
    n
    m
    类型相同)添加一个标签(我称之为“X”)。您可以使用以下命令将“X”标签添加到由变量
    n
    表示的节点。您希望在其前面加上适当的匹配子句:

    集合n:X

  • 使用
    X
    标签在节点的
    Name
    属性上创建索引,如下所示:

    在以下位置创建索引:X(名称)

  • 将查询修改为:

    匹配p=((n:X{Name:Node1})-[*1..4]->(m:X{Name:Node2})) 返回p


  • 如果您执行上述操作,那么您的查询应该会更快。

    您需要所有路径还是只需要一条路径?如果是后者,返回时只需使用
    LIMIT 1
    。不,我需要所有可能的路径,否则我本可以使用最短路径node1和Node2,但它们不是同一类型的,但我会尝试您的建议,在节点上创建标签和索引。是的,这使它非常快。谢谢你,山姆。当然欢迎你。如果你认为它解决了你的问题,请考虑接受我的回答。兄弟,你真棒。谢谢