2014-01-28 55 views
4

繼Neo4j的谷歌集團的this post我不得不說,我沒有看到使用這個多標籤的東西有什麼好處,相反,恕我直言,它只是增加了什麼是唯一性約束的複雜性。它也可能誘使用戶將繼承引入到數據模型中,這將導致沮喪,因爲這根本不可能...Neo4j中的節點是否有多個標籤有意義?

+0

你可以看看這個答案:https://stackoverflow.com/a/45897701/8086529 – Boris

回答

6

標籤沒有表示類型的概念,它們是相當不同的角色,它們在不同的上下文。

所以在一個角色中,某個節點的某些屬性和關係可能很重要,而在另一個角色(標籤)中可能有一個不同的集合(可能與第一個角色相交)。

我們遠離繼承,因爲它打開了一個新的蠕蟲罐,我們贊成組成。所以你寧願將一個節點組成一個整體作爲其部分的總和。您還可以通過將「super」-types作爲標籤附加到層次結構中的子元素來模仿繼承。

節點標籤也可以用來在較大的圖中分離子圖,例如,用這些標記標記在human通路中有活性的蛋白質和phylo通路。所以,你可以快速選擇你感興趣的圖形的一部分。

那些獨立的子圖也可以來自不同的領域,例如geosocialcataloguesupplier被組合在一個圖表。

而且,多個標籤也可以用來區分用於表示來自「域」標籤的「圖表索引」的圖形「技術」名稱空間。

關於唯一性 - 您的節點上現有標籤和屬性的所有唯一性約束都是同時執行的。如果在插入或更新時無法解析,則操作將失敗。

相關問題