複雑なサイファーをその核となる問題に単純化しました。
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
andを返し、link
存在しない場合は null を返します - が null でない場合、存在する場合はand
link
を返し、そうでない場合は null を返しますlu
user
私が抱えている問題3.
は、クエリの 3 行目で、指定された関係のいずれかを満たすリンクを返すと実際に言っていることです。
たとえば、リンクされたリストが 10 個のアイテムを連鎖している場合、クエリは常に 10 行を返す必要があります (が存在しない場合は null) l
。link
lu