Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/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,我有一个大型图(1068029个节点和2602897个关系),我通过python API使用它,并在程序流中对该图发出请求 我有以下疑问- 第一个问题 第二个问题 当我尝试使用75000大小的id_列表执行第一个查询时,它通过OK并返回想要的输出,但是当我尝试执行第二个查询时,图形会卡住,即使我将id_列表减少到20000 id_列表甚至比75000还要大,但我将其分为多个块以加快图形的响应时间,但是如果我将其分为太多的块,我将增加对图形的请求数量,并增加程序运行时间 我的问题是——是否有某种库

我有一个大型图(1068029个节点和2602897个关系),我通过python API使用它,并在程序流中对该图发出请求

我有以下疑问-

第一个问题 第二个问题 当我尝试使用75000大小的id_列表执行第一个查询时,它通过OK并返回想要的输出,但是当我尝试执行第二个查询时,图形会卡住,即使我将id_列表减少到20000

id_列表甚至比75000还要大,但我将其分为多个块以加快图形的响应时间,但是如果我将其分为太多的块,我将增加对图形的请求数量,并增加程序运行时间

我的问题是——是否有某种库函数(APOC或类似的函数)执行相同的操作,但时间更短?或者,您有另一种解决方案,可以在不将id_列表减少到50000以下的情况下解决此问题

  • 匹配模式中的
    (start\u节点)
    应指定一个标签(如
    (start\u节点:Foo)
    ),以避免必须扫描数据库中的每个
    节点。此外,还应为该开始节点创建一个(或唯一性约束)
  • 如果合适,您应该使
    模式中的所有关系匹配
    方向关系。也就是说,在两端各放一个箭头
  • 您还应该在模式中指定关系类型(如
    ()-[:BAR]->()
    ),这样查询就不会被迫计算所有关系类型
  • MATCH 
    (start_node)--(o:observed_data)--(i:indicator)--(m:malware)--(end_node:attack_pattern)
    WHERE start_node.id in [id_list] 
    RETURN start_node.id, end_node.name
    
    MATCH 
    (start_node)--(o1:observed_data)--(h:MD5)--(o2:observed_data)--(i:indicator)--(m:malware)--(end_node:attack_pattern)
    WHERE start_node.id in [id_list] 
    RETURN start_node.id, end_node.name