UNION和WITH可以一起玩吗?

时间:2013-08-28 12:09:52

标签: neo4j cypher

有没有办法在另一个使用WITH子句的子查询中使用UNION的结果?

我正在寻找像

这样的东西
(
  MATCH (me:Person)-[:RATES]->(r:Rating)-[:RATED_BY]->(them:Person)
  WHERE me.ident = {id} AND r.date = {date}
  RETURN them
  UNION ALL
  MATCH (me:Person)<-[:RATED_BY]-(r:Rating)<-[:RATES]-(them:Person)
  WHERE me.edent = {id} AND r.date = {date}
  RETURN them
)
WITH them
RETURN them.name, COUNT( them.name) as ratingCount
ORDER BY ratingCount DESC
LIMIT 10

cypher只支持这样的东西。

是的,我知道在这种情况下我应该使用

MATCH (me:Person)-[:RATES|RATED_BY]-(r:Rating)-[:RATES|RATED_BY]-(them:Person)
WHERE me.ident = {id} AND r.date = {date}
RETURN  them.name, COUNT( them.name) as ratingCount
ORDER BY ratingCount DESC
LIMIT 10

这很好,花花公子,但我认为我会在路上得到一些更复杂的请求,这将无效。

0 个答案:

没有答案