[英]Neo4j/Cypher Query (user action) relationship direction
我是Cypher的新手,正在嘗試設計圖形數據庫並存儲用戶行為。 提前致謝!
案例示例:1.一個用戶訪問了一個網頁2.一個用戶擁有一個設備(id:xxxxx)
在UML類圖中,箭頭(關系)指向父類
但是,我的觀點是,並非Cypher中的所有關系都是親子類型,這是否意味着我不應該將這種概念應用到Cypher中?
那么,問題是“如何設計關系的方向”?
(user)-[r:visited]->(webpage {url:xxx})
(user)-[r:owned]->(mobileDevice {uuid:xxx})
- 要么 -
(user)<-[r:visitedBy]-(webpage {url:xxx})
(user)<-[r:owned]-(mobileDevice {uuid:xxx})
再次感謝你
這是一個常見的問題。 答案是由您決定! 關系類型可以是您選擇的任何類型,並且應該選擇最舒適的類型。 我建議無論您做什么,都應保持一致。
就“訪問”和“訪問者”個人而言,我會選擇“訪問”,因為我認為談論用戶訪問頁面而不是用戶訪問頁面這一事實更有意義。 我經常建議人們命名他們的關系,以便node-relationship-node造句。 由於用戶是主要演員,因此您的句子應為“用戶訪問過的網頁”。 不過,這可能源於我是說英語的母語人士以及英語句子的形成方式。
附帶說明一下,Neo4j中的關系通常為UPPER_SNAKE_CASE
。 同樣,Neo4j不會限制您使用任何一種特定樣式,但這是我最常看到的。 本指南很好地概述了常見的Cypher約定:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.