2013-07-04 144 views
-1

Neo4j圖形數據庫在節點間有一個關係,即[:KNOWS]。如何在[:KNOWS]以外的節點之間添加更多關係以在數據庫中擁有更多相關數據?Neo4j節點之間的關係

回答

0

您可以在兩個節點之間創建任意數量的關係 - 即使是同一類型的多個關係。如果關係上的屬性不同,則具有相同類型的多個關係可能會很有趣。

從開始...

alice->[:KNOWS]->bob 

...它可以輕鬆地成爲......

alice->[:KNOWS]->bob 
alice->[:LOVES]->bob 

...甚至...

alice->[:KNOWS]->bob 
alice->[:LOVES]->bob 
alice->[:IS_MARRIED_TO]->bob 
0

每個關係具有由用戶定義的關係類型。正如James所描述的,在Cypher中,您可以用純文本的方式來完成。

但是,如果要使用Core Java API,則需要創建一個實現RelationshipType的枚舉,然後可以將任何枚舉值作爲RelationshipType傳遞。

知識關係就在那裏很多,因爲社交網絡是解釋圖數據庫工作方式的簡單方法。

+0

感謝皮特,詹姆斯的寶貴意見,但我還有一個問題......我的目的是計算節點的重量(沒有關係),就像愛麗絲和鮑勃的詹姆斯例子一樣(愛麗絲 - > [:知道] - > bob alice - > [:LOVES] - > bob alice - > [:IS_MARRIED_TO] - > bob)weight是3那麼我們可以通過一個查詢(Cipher Query)計算節點的權重嗎?用一個例子來解釋我...... – sumit

+0

那麼,這不是真正的重量,因爲所有的關係都有1的權重。通常情況下,你需要爲關係添加一個屬性權重,並將它查詢爲MATCH alice - > [relations:KNOWS |: LOVES |:IS_MARRIED_TO] - > bob RETURN sum(relations.weight),但在你的情況下,你也可以做RETURN count(關係),因爲你的所有權重都是1. –

+0

查看這個控制檯的例子weight = always 1 - > http://console.neo4j.org/r/cx9wg4 –

相關問題