我目前正在評估OGM /彈簧數據的Neo4j的使用情況,並在下面的問題就來了:使用OGM的自定義Cypher查詢的深度始終爲0?
要麼通過Spring數據@Query
註釋或直接通過Neo4j的Session
執行自定義的Cypher查詢時,結果只包含直接查詢節點而不是相關節點(在生成的節點對象中,關係爲null
)。即這些查詢的深度似乎是0而不是1,正如我從文檔中預料的那樣。
如何通過具有深度1的OGM或Spring Data Neo4j執行定製的Cypher查詢?
我目前正在評估OGM /彈簧數據的Neo4j的使用情況,並在下面的問題就來了:使用OGM的自定義Cypher查詢的深度始終爲0?
要麼通過Spring數據@Query
註釋或直接通過Neo4j的Session
執行自定義的Cypher查詢時,結果只包含直接查詢節點而不是相關節點(在生成的節點對象中,關係爲null
)。即這些查詢的深度似乎是0而不是1,正如我從文檔中預料的那樣。
如何通過具有深度1的OGM或Spring Data Neo4j執行定製的Cypher查詢?
默認深度1是指來自存儲庫和派生查找器的findOne/findAll/..方法。
這是個什麼文件說,有關自定義查詢:
在當前版本中,自定義查詢不支持分頁,排序或自定義深度。此外,它不支持將路徑映射到域實體,因此,不應從Cypher查詢返回路徑。相反,返回節點和關係使它們映射到域實體。
例如,當你有一個查詢
MATCH (n:MyLabel)-[r]-(n2)
WHERE ... // some condition
RETURN n,r,n2
名單要映射到RETURN子句中的對象的所有節點/關係。
謝謝,就是這樣。在RETURN子句中,我只列出了節點而不是關係。列出關係時,節點實體中的字段正在填充。 有意思,想一想。感謝指針! – Tom
請顯示Cypher查詢。 – cybersam