簡體   English   中英

如何根據 Neo4j 中的屬性從主節點更新子節點

[英]How do I update a subnode from a master node based on a property in Neo4j

我正在開發一個系統,該系統通過“類型”(在我的示例中為內部或外部)跟蹤零件使用情況。 加載節點時,它們沒有類型,因此它們以“未知”的形式出現。 它們鏈接到主節點,但鏈可能向下 6 或 7 層。 我現在真的不知道有多少。 所以我的簡化圖看起來像這樣。

在此處輸入圖像描述

主節點(Final 和 Final2)決定了 Type:Part 的子節點的 class 是什么,無論級別如何。 還有其他節點,但它們沒有 Type:Part,因此它們不受影響。 最終節點未連接,因此我將擁有一個或另一個,但絕不會兩者兼而有之。

處理后應該是這樣的

在此處輸入圖像描述

我實際上必須更新子節點上的屬性,我不能只將它作為查詢。 如何在 Neo4j 中進行這項工作?

在預處理完成之前,您實際上在圖像中有 type:'Part',所以我將使用它來查找需要更新的節點。 導入數據后,您可以運行以下查詢來更新缺失的類型

// get all nodes with "unknown"/"Part" type
MATCH (n:Node{Type:"Part"})
// get the master node
MATCH (n)-[:RELATIONSHIP*..10]->(master)
WHERE NOT (master)-[:RELATIONSHIP]->()
// Set the missing type
SET n.Type = master.Class

這是基於您提供的圖像,也許您有一些不同的屬性名稱,也許您的關系也有其他類型。

暫無
暫無

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

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