我有一个查询,显示了我的大型图的结果,如下所示:
x1c 0d1x的数据
下面是我的查询来显示图表
MATCH p=(parent:FEATURE)-[*]->(gap:GAP) WHERE parent.name = "Update Profile"
and (gap.name contains "CSRF" ) RETURN p
字符串
节点R11_UP和R12_UP具有FACT类型的传入边;此查询不显示该类型。下面是如果我手动显示这些传入边,图形的外观:
的
我想更新我的查询,以显示这些FACT节点沿着与此查询显示的其他图形。我无法为其设计查询。我尝试了几个查询,但没有一个有效。我总是在最后坚持使用此图形。
2条答案
按热度按时间8wtpewkr1#
我会选这样的
字符串
所以你基本上是遍历路径p上的节点,并选择任何具有FACT关系的传入路径
如果您想过滤掉空列表(对于没有传入FACT rels的节点),可以使用附加的WHERE来完成
型
注意事项:factPaths作为路径的嵌套数组返回。根据您想对它做什么(到可视化)或进一步处理,您可能想使用apoc.科尔.flatten()来.. eh.. flatten它
qoefvg9y2#
似乎没有从
parent
到gap
的关系序列通过FACT
关系。如果这是真的,那么您的查询将按预期工作,并且不会找到任何
FACT
关系。答案1
这里有一种显示每个路径
p
和该路径中节点的“factoids”列表的方法。字符串
“factoid”是具有以下属性的Map:
n
是路径中具有传入FACT
关系的节点(即使该关系不在路径上)rel
是FACT
关系fact
是该FACT
关系的源节点答案二
@Graphileon的精细答案更紧凑,但其结果包含一个多余的空列表,用于每个没有传入
FACT
关系的路径节点。这个版本的答案使用apoc.coll.removeAll来删除空列表:
型
使用
apoc.coll.removeAll
删除空列表是为了方便和可读性,但不是必要的。例如,我们可以使用REDUCE
代替,如答案#1。