我有一组像下面的示例图像的节点。是否有一个密码查询可以检查一个节点是“关闭”还是“开启”(绿色);如果它是“开”,则返回“开”节点连接的节点和连接到“开”的原节点。如果节点“关闭”,它只是返回连接到它的节点。在这个例子中它应该返回label1和label2,但不是label3。Neo4j检查属性密码
0
A
回答
1
您可以使用optional match
和with
组合为union
:
// Is the starting node
MATCH (S {name: 'label1'})
WITH S
// Get the nodes to which have access through a pattern of "ON"
OPTIONAL MATCH (S)-[:connect]->({on: true})-[:connect]->(onC)
WITH S, collect(distinct onC) as onConnect
// Get the nodes to which have access through a pattern of "OFF"
OPTIONAL MATCH (S)-[:connect]->({on: false})<-[:connect]-(offC)
WITH S, onConnect, collect(distinct offC) as offConnect
// Remove possible duplicates
UNWIND S + onConnect + offConnect as N
RETURN collect(distinct N) as result
0
我假设 '开' 和 '关' 是对参数的状态。我将在代码中将其称为状态。 我还假设你想从一个特定的节点开始。 (a) - [r:connect * ..] - >(b)其中ID(n)= 1我不确定你是如何得到这个节点的,所以我会假设你有这个ID并且它等于1
MATCH b.State ='on'return b
相关问题
- 1. 使用密码在neo4j属性图中检测周期
- 2. Neo4j密码查询性能低下
- 3. neo4j密码查询不能使用属性
- 4. 密码查询无法匹配Neo4j中的属性
- 5. Neo4j密码查询加速
- 6. neo4j密码查询优化
- 7. 慢neo4j密码查询
- 8. 加速neo4j密码查询
- 9. 提高密码的属性完整性检查
- 10. Neo4j查询关系属性
- 11. Neo4j查询节点属性。
- 12. PHP密码复杂性检查代码
- 13. 如何将属性添加到现有节点neo4j密码?
- 14. Neo4j密码为co-favorited加上附加属性
- 15. Neo4j:在密码查询中获取索引属性'name'作为返回值
- 16. 检查密码有效性(Django/Python)
- 17. 检查密码和登录有效性
- 18. Neo4j - 使用密码查询存储和检索图像
- 19. 优化neo4j密码查询以检索社交新闻Feed
- 20. Neo4j密码优化
- 21. Neo4j-binning与密码
- 22. Neo4j密码查询返回关系属性和所有匹配关系属性的总和
- 23. PHP的Neo4j密码查询生成器
- 24. Neo4j密码查询已知路径
- 25. 撤消最后的neo4j密码查询
- 26. neo4j密码:如何查询链表
- 27. java neo4j密码查询匹配节点
- 28. 意外的neo4j密码查询结果
- 29. 不是运营商查询密码neo4j
- 30. Neo4j密码通过REST在中心节点上查询性能
如果'label3'连接到另一个打开的绿色节点会发生什么? – cybersam
它应该仍然返回相同的。在这种情况下,我们从label1开始,如果我们要从label3开始,那么它会有所不同。 –