2015-10-10 45 views
2

我擔心我沒有從Neo4J中獲得關係的全部好處。雖然我們使用它們來關聯兩個節點(當然),但我們很少爲關係添加屬性,我覺得我們錯過了更大的圖景。什麼是對Neo4J關係的屬性的使用?

考慮有一個事件和受影響的人的情況。我們希望得到所有人的確認,告知他們該事件。

這裏是我們做什麼,我想這也不是很大:

(e:EVENT)-[:NOTIFICATION]->(:EVENT_STATUS)-[:AFFECTED]->(a:PERSON) 

現在並沒有那麼糟糕,因爲我們需要的事件,我們已經擁有的人。所以我們添加了連接它們的東西。有用。但是,EVENT_STATUS的唯一目的是跟蹤通知日期和PERSON的確認信息。事實是,感覺就像我們正在實現一個關係數據庫結構。

將通知日期和PERSON的確認添加到關係中是否是錯誤/自殺?

(e:EVENT)-[:INFORMED {notification_date: 123123123, 
         confirmation_date: 123123999, 
         confirmation_type: 'ATTENDING'}]->(a:PERSON) 

幫助我理解性的目的的關係,拜託了!

編輯 - 英語...是一項技能。

+0

使用像你這樣的屬性來組織關係中的信息並不是錯誤也不是自殺。另一種方法是在EVENT和PERSON節點之間建立多種關係。這是有道理的,「通知」不會尖叫你的屬性暴露的RSVP關係。 – manonthemat

回答

1

您提出的解決方案非常好,因爲您正在跟蹤有關2個節點之間特定類型關係的不同信息。這正是屬性的關係。

不需要像現在這樣添加額外的關係和節點。你不僅浪費資源,而且使你的查詢變得不必要的複雜。

相關問題