如何消除路径中存在关系但路径中节点之间存在关系的路径?

惠特发

我已经在此控制台中修改了“ vanilla”初始查询,并在“ Morpheus”和“ Cypher”节点之间添加了一种关系类型“ LOCKED”。

如何修改现有的(首次运行)查询,该查询是可变长度的路径,因此由于我添加了附加的Locked关系,它不再到达Agent Smith节点?

首次运行查询:

MATCH (n:Crew)-[r:KNOWS|LOVES*2..4]->m
WHERE n.name='Neo'
RETURN n AS Neo,r,m

我已经尝试过这种事情:

MATCH p=(n:Crew)-[r:KNOWS|LOVES*2..4]->m 
WHERE n.name='Neo'
AND none(rel IN rels(p) WHERE EXISTS (StartNode(rel)-[:LOCKED]->EndNode(rel))) 
RETURN n AS Neo,r,m

..但无法识别none()函数中的模式。

我正在使用社区2.2.1

谢谢阅读

布莱恩·安德伍德

我很确定您不能在MATCHy类型子句中使用函数(尽管它很聪明)。那这个呢?

MATCH path=(neo:Crew)-[r:KNOWS|LOVES|LOCKED*2..4]->m 
WHERE neo.name='Neo'
AND NOT('LOCKED' IN rels(path))
RETURN neo,r,m

编辑:

糟糕,看起来戴夫(Dave)可能打败了我。无论如何,这是我想出的解决方案;)

MATCH p=(neo:Crew)-[r:KNOWS|LOVES*2..4]->m
WHERE neo.name='Neo'
WITH p, neo, m
UNWIND rels(p) AS rel
MATCH (a)-[rel]->(b)
OPTIONAL MATCH a-[locked_rel:LOCKED]->b
WITH neo, m, collect(locked_rel) AS locked_rels
WHERE none(locked_rel IN locked_rels WHERE ()-[locked_rel]->())
RETURN neo, m

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何消除路径外部存在关系但路径中节点之间存在关系的路径?

来自分类Dev

节点-检查路径中是否存在命令

来自分类Dev

如何获得路径上节点之间的所有关系

来自分类Dev

如何使用密码验证路径中是否存在某些节点

来自分类Dev

如何使用密码验证路径中是否存在某些节点

来自分类Dev

Neo4j-仅当所有节点对之间的关系属性存在时才返回路径

来自分类Dev

Cypher:如何在路径内匹配关系节点关系

来自分类Dev

如何从 Neo4j 路径中按顺序显示所有节点和关系的名称

来自分类Dev

如果路径中的文件已存在,如何删除路径列表中的路径

来自分类Dev

RequireJS中依赖关系的相关路径定义

来自分类Dev

Eclipse指向依赖关系中的错误路径

来自分类Dev

在RaphaelJS中,如何在路径中的各个节点之间移动?

来自分类Dev

在Prolog中定义图:边和路径,查找两个顶点之间是否存在路径

来自分类Dev

无向图,检查节点之间是否存在路径

来自分类Dev

找出 Neo4j 中的 2 个节点之间是否存在路径的最佳方法是什么?

来自分类Dev

如何检查Scala中是否存在路径或文件

来自分类Dev

如何使用Spark加载JSON(保存在csv中的路径)?

来自分类Dev

如果文件存在于python中,如何获取路径?

来自分类Dev

如何检查Scala中是否存在路径或文件

来自分类Dev

如何检查给定路径在注册表中存在?

来自分类Dev

如何检查VBA中是否存在相对路径

来自分类Dev

Cypher set where 条件只能显示路径中每个节点的一种关系

来自分类Dev

将目录路径保存在JSON中?

来自分类Dev

递归检查路径中的目录是否存在

来自分类Dev

请放心:路径中存在非法字符

来自分类Dev

关系路径的符号链接

来自分类Dev

关系路径的符号链接

来自分类Dev

Neo4j-提取路径中节点的属性数据以及指向这些节点的关系

来自分类Dev

在字段路径中不了解“机会__c”关系。

Related 相关文章

  1. 1

    如何消除路径外部存在关系但路径中节点之间存在关系的路径?

  2. 2

    节点-检查路径中是否存在命令

  3. 3

    如何获得路径上节点之间的所有关系

  4. 4

    如何使用密码验证路径中是否存在某些节点

  5. 5

    如何使用密码验证路径中是否存在某些节点

  6. 6

    Neo4j-仅当所有节点对之间的关系属性存在时才返回路径

  7. 7

    Cypher:如何在路径内匹配关系节点关系

  8. 8

    如何从 Neo4j 路径中按顺序显示所有节点和关系的名称

  9. 9

    如果路径中的文件已存在,如何删除路径列表中的路径

  10. 10

    RequireJS中依赖关系的相关路径定义

  11. 11

    Eclipse指向依赖关系中的错误路径

  12. 12

    在RaphaelJS中,如何在路径中的各个节点之间移动?

  13. 13

    在Prolog中定义图:边和路径,查找两个顶点之间是否存在路径

  14. 14

    无向图,检查节点之间是否存在路径

  15. 15

    找出 Neo4j 中的 2 个节点之间是否存在路径的最佳方法是什么?

  16. 16

    如何检查Scala中是否存在路径或文件

  17. 17

    如何使用Spark加载JSON(保存在csv中的路径)?

  18. 18

    如果文件存在于python中,如何获取路径?

  19. 19

    如何检查Scala中是否存在路径或文件

  20. 20

    如何检查给定路径在注册表中存在?

  21. 21

    如何检查VBA中是否存在相对路径

  22. 22

    Cypher set where 条件只能显示路径中每个节点的一种关系

  23. 23

    将目录路径保存在JSON中?

  24. 24

    递归检查路径中的目录是否存在

  25. 25

    请放心:路径中存在非法字符

  26. 26

    关系路径的符号链接

  27. 27

    关系路径的符号链接

  28. 28

    Neo4j-提取路径中节点的属性数据以及指向这些节点的关系

  29. 29

    在字段路径中不了解“机会__c”关系。

热门标签

归档