[英]Neo4j Relationship design
久違后重溫Neo4j。 我已經閱讀了很多文章,但是仍然發現我有一些問題可以讓我再次前進。
前者感覺很舒適,但隨后在建模實際事實時就感覺不自然了-例如:該調用什么屬性,因為從每個節點的角度看,FlowIn和FlowOut毫無意義。 我還想知道在這種情況下屬性與關系的性能-這些值將需要更新。
應該如何以最佳方式完成此操作? 每個連接的每個時間范圍的關系似乎....冗長。 將時間范圍表示為節點是否有價值?
感謝您提供的任何建議。
盡管您已經對問題進行了一定的思考,但這個問題仍然不清楚。 這似乎是關於圖數據模型的問題。 您想知道如何最好地組織模型來表示復雜的關系。 如果要跟蹤兩個節點之間的“流”,則將權重屬性分配給單向邊。
雙向關系應仔細考慮。 Neo4j可以像處理單向關系一樣快地對其進行處理。 Graphaware中關於使用雙向關系的引文 :
Neo4j中的關系可以以相同的速度在兩個方向上遍歷。 而且,方向可以完全忽略。 因此,如果一個節點暗示另一個,則無需在節點之間創建兩個不同的關系。
我相信,通過更好地了解Graph數據模型可以緩解您的問題。 查看一些不同的模型並理解其原因,比此時理解密碼語法更有幫助。 可能我建議您閱讀本次調查由在智利大學教授2人名為“圖形數據庫模型的調查。” 您可能對第21頁的“超節點”模型特別感興趣,因為這聽起來像是您正在嘗試對復雜的循環對象建模。 從第二十一頁開始;
超節點可用於表示簡單(平面)和復雜對象(分層,復合和循環)以及映射和記錄。 一個關鍵功能是其固有的封裝信息的能力。
希望這些信息可以幫助您建立復雜的關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.