apoc.path.subgraphAll 没有 Return 图表

apoc.path.subgraphAll Doesn't Return a Graph

我正在尝试根据重复模式可视化图表,apoc.path.subgraphAll 似乎是我要用的东西。

配合查询:

MATCH (av:Architecture_View {`view identifier`:'SV-01'})
//pattern is (Architecture_View)-[:SUPPLIES]->(Architecture_Description_Tuple)-[:`SUPPLIED TO`]->(Architecture_View)
CALL apoc.path.subgraphAll(av,{
beginSequenceAtStart: true,
sequence: "`SUPPLIES`>,Architecture_Description_Tuple,`SUPPLIED TO`>,Architecture_View"})
YIELD nodes, relationships
RETURN nodes, relationships;

我只是得到返回的起始节点 (av)。没有返回错误。

如果我只是手动运行一个查询来迭代这个模式一次

MATCH r=(av:Architecture_View {`view identifier`:'SV-01'})-[:SUPPLIES]-(adt:Architecture_Description_Tuple)-[:`SUPPLIED TO`]->(av2:Architecture_View)
RETURN r

我得到了预期的图表。

returns结果或序列定义的returns语句的方式有问题吗?

如果您指定 beginSequenceAtStart,您提供的序列模式必须包括起始节点。在您的情况下,起始模式从起始节点的第一个关系开始。

例如,给出如下测试数据:

MERGE (a: View { id: 1 })-[:SUPPLIES]->(b: DescriptionTuple { desc: 'description' })-[:SUPPLIED_TO]->(a2: View {id: 2 })

下面的两个查询都将 return 子图连接 aa2 - 注意 beginSequenceAtStart 和序列字符串的初始块在这两个查询中是如何不同的案例:

// beginSequenceAtStart false, start with the first relationship type
MATCH (a: View { id: 1 })
CALL apoc.path.subgraphAll(a, {
  beginSequenceAtStart: false,
  sequence: "SUPPLIES>,DescriptionTuple,SUPPLIED_TO>,View"
})
YIELD nodes, relationships
RETURN nodes, relationships
// beginSequenceAtStart true, begin with the first node label
MATCH (a: View { id: 1 })
CALL apoc.path.subgraphAll(a, {
  beginSequenceAtStart: true,
  sequence: "View,SUPPLIES>,DescriptionTuple,SUPPLIED_TO>,View"
})
YIELD nodes, relationships
RETURN nodes, relationships