我已经将我复杂的密码简化为核心问题。
START focus=node(2), user=node(20)
MATCH focus-[:USER_FEED_LIST*1..15]->pointer-[:POINTER]->item,
item-[l?:NOTICE_LINK]->link<-[lu?:POST_UPVOTE]-user
RETURN link, ID(item) as item_id, item, l, lu
基本上我想要实现的目标如下:
- 返回链表中的每一项
- 对于每个项目,如果它们存在,则返回
l
,link
如果不存在,则返回 null - 如果
link
不为null,则返回lu
并且user
如果它们存在,或者如果不存在则返回null
我遇到的问题是3.
查询的第三行实际上是说返回满足任一给定关系的任何链接。
因此,例如,如果我的链表链接了 10 个项目,我需要查询始终返回 10 行(如果它们不存在l
,link
则为null)。lu