我有一個根節點鏈接列表設置,鏈接了不同的項目類型。要檢索說出的第10項(與可能的關係),我做了以下內容:在neo4j密碼中分組CASE結果
START user=node(1)
MATCH user-[:LIST*1..10]->item
WITH item
MATCH author-[a?:AUTHOR]->item
RETURN item, a, author
這工作得很好,並返回所需的項目,但也有一些作者的屬性我不想回客戶。所以通常我只會想要的屬性,例如。 RETURN author.name, author.location
,但如果該項目沒有作者,則這不起作用。我可以在屬性上使用?
,但是我最終可能會爲每個項目添加很多空屬性。
然後我發現CASE
聲明,它幾乎適用於我的用例。問題是如果可能,我希望能夠根據THEN
返回多個屬性。例如:
RETURN labels(item) as type,
CASE HEAD(type)
WHEN "Post" THEN (item.title, item.text, author)
WHEN "Message" THEN (item.subject, item.content)
END as item
的WHEN
線上面會返回一個語法錯誤,因爲你只能把一個值再經過。有沒有什麼方法可以將結果合併到上面的方法中?