neo4j - 加入几个可选的匹配查询
问题描述
我的图表:
CREATE (s1:SOME {id:'s1'} )
CREATE (s2:SOME {id:'s2'} )
CREATE (a11:ANOTHER {id:'a11', tags:["tag1", "tag2"] } )
CREATE (a12:ANOTHER {id:'a12', tags:["tag2", "tag3"] } )
CREATE (a21:ANOTHER {id:'a21', tags:["tag3", "tag4"] } )
CREATE (a22:ANOTHER {id:'a22', tags:["tag4", "tag5"] } )
CREATE (s1)-[:CONTAINS ]->(a11),
(s1)-[:CONTAINS ]->(a12),
(s2)-[:CONTAINS ]->(a21),
(s2)-[:CONTAINS ]->(a22)
我有(生成的)查询
match (s:SOME)
with s
OPTIONAL MATCH (a1:ANOTHER)-[r:CONTAINS]-(s)
where 'tag2' in a1.tags
with s, a1
OPTIONAL MATCH (a2:ANOTHER)-[r:CONTAINS]-(s)
where 'tag3' in a2.tags
WITH s, COLLECT(DISTINCT a1, a2) AS aa
return s.id, aa
所以有很多部分,比如
with s, a1 OPTIONAL MATCH (a2:ANOTHER)-[r:CONTAINS]-(s) where 'tag3' in a2.tags
动态生成
我的条款有问题
WITH s, COLLECT(DISTINCT a1, a2) 作为 aa
我需要以某种方式将这个多个结果展平在单个数组中并区分它以使其独一无二
解决方案
推荐阅读
- r - R中时间序列的远程假期和周末
- php - 有没有办法直接获取laravel页面的内容,而不用下载?
- swift - 在 swift 中改变 UiMenu 中文本和图像的方向
- c++ - 如何将失败消息添加到 Google 测试 EXPECT_CALL
- react-native - react-native-config 在位于 android 文件夹的 .json 文件中使用 env
- git-flow - Git 流程无法完成分支
- python - 在 django 中删除外键时删除模型
- ios - 如何在 iOS 中测试键盘建议?
- google-apps-script - 部署时,Google App Script 清单文件被覆盖
- logging - 如何导出符合“在哪里查找日志”条件的日志?