假设我的项目是Facebook,我想显示一个包含我的状态更新和我朋友的状态更新的提要。
这里有关系;
- 用户知道用户
- 用户UPDATES_STATUS状态
这是我获取朋友状态更新的方式;
START me = node(1) MATCH me-[:KNOWS]-()-[:UPDATES_STATUS]->friendsStatusUpdates RETURN friendsStatusUpdates
这就是我如何获得我自己的状态更新;
START me = node(1) MATCH me-[:UPDATES_STATUS]->myStatusUpdates RETURN myStatusUpdates
这两个查询都可以正常工作,但我需要一个将这两个查询组合起来的查询。
3条答案
按热度按时间ohtdti5x1#
这是我从Google网上论坛得到的答案;
我唯一要做的就是将
*0..1
深度指示器添加到关系中,以便获得0或1级别的深度结果。编辑:我不得不添加
DISTINCT
,因为没有它,查询包括0级节点2次,这将导致重复。使用
WITH
语句返回相同结果的备选查询;dfuffjeb2#
板条箱一个自己的用户节点到自己的关系比查询是START me = node(1)MATCH me-[:KNOWS|他自己]-()-[:UPDATES_STATUS]-〉朋友状态更新返回朋友状态更新
rekjcdws3#
http://docs.neo4j.org/chunked/milestone/introduction-pattern.html
如果
*1..2
无法与|
命令一起使用,请执行以下操作:只需使用一些聚合函数编辑
RETURN
语句,这样每行就有一个状态