簡體   English   中英

屬性圖(Neo4j)設計:具有多個關系的單個節點還是每個事件發生的新節點?

[英]Property graph (Neo4j) design: Single node with multiple relations or new nodes for each event occurence?

假設我有兩個聯賽L1和L2。 每個聯賽可以有多個回合,例如季后賽,八強,半決賽和決賽。 此外,我還需要表示出happen_after的事實,例如四分之一決賽在季后賽之后發生,半決賽在四分之一決賽之后發生以及決賽在半決賽之后發生。

問題

我的圖表是否應該在每個回合中都有一個節點,並且每個聯賽都應鏈接到這些回合? 這樣,我們只是創建新的關系(例如L1和L2都將與季后賽有關系),但是只有一個Playoff節點。 但是,由於某些聯賽可以進行更多回合(例如,第二輪可以在四分之一決賽之前進行),因此這限制了happen_after關系。 有沒有更好的方法來表示呢?

用例

  1. 需要能夠找到給定聯賽的所有回合。
  2. 需要能夠找到給定聯賽所有回合的順序以及每個回合發生的日期。

編輯

在此處輸入圖片說明

通常,所有具有標識的事物都應成為節點。 關系將“事物”聯系在一起。

不知道我是否完全了解您的領域。 L1,L2和每個回合都是節點。 關系聯賽->回合表示給定聯賽參加了該回合。

回合內的時間順序可以通過在它們之間具有BEFORE和/或AFTER關系來建模。 這樣,您可以建立一個鏈接(或雙鏈接)的回合列表。 表達時間順序的另一種方法是存儲該回合的索引時間戳屬性。 如果您只是對之前或之后感興趣,而不是對絕對時間感興趣,則第一種方法(鏈接列表)似乎更合適。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM