我有这个密码查询:
MATCH (p:Person)-->(s:Startup)
WHERE p.name =~ '(?i).*something.*' OR p.description =~ '(?i).*something.*' OR s.name =~ '(?i).*something.*'
RETURN DISTINCT p, collect(DISTINCT s)
返回:
+--------+------------+
| p | collect(s) |
+--------+------------+
| 1 | 1 |
+--------+------------+
我期待的地方:
+--------+------------+
| p | collect(s) |
+--------+------------+
| 1 | 1, 2 |
+--------+------------+
当有人搜索某个名称时,它会将所有匹配的人和相关的初创公司返回给我这个标准,但我希望它能让所有匹配的人返回给我,并且总是返回两个节点之间的所有关系 .
(即如果我搜索一个启动名称,我希望结果是关系中的人员和初创公司的列表,不仅是人员和匹配的启动)
我希望我已经很好地解释了这个问题 .
我希望在一个查询中得到结果 .
1 回答
我认为你正在寻找类似这样的东西,你在第一个查询中找到任何与你的查询相关的人,然后做一个
WITH
并继续使用那个人查询: