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

惠发

我已经在此控制台中修改了“ 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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在Gradle中获取到外部依赖关系的完整路径?

来自分类Dev

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

来自分类Dev

关系路径的符号链接

来自分类Dev

关系路径的符号链接

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Neo4j-根据关系属性查找两个节点之间的最短路径

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

为什么路径//存在?

来自分类Dev

neo4j:如何返回带有节点和关系标签的路径?

来自分类Dev

如何通过多个关系和多个节点的路径简化我的密码

来自分类Dev

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

来自分类Dev

密码关系+路径和Lucene

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

    如何在Gradle中获取到外部依赖关系的完整路径?

  11. 11

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

  12. 12

    关系路径的符号链接

  13. 13

    关系路径的符号链接

  14. 14

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

  15. 15

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

  16. 16

    Neo4j-根据关系属性查找两个节点之间的最短路径

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

    为什么路径//存在?

  21. 21

    neo4j:如何返回带有节点和关系标签的路径?

  22. 22

    如何通过多个关系和多个节点的路径简化我的密码

  23. 23

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

  24. 24

    密码关系+路径和Lucene

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档