Neo4j關(guān)系屬性如何設(shè)置權(quán)重

小樊
81
2024-10-29 10:52:38
欄目: 編程語言

在Neo4j中,您可以使用原生Cypher查詢語言為節(jié)點(diǎn)的屬性設(shè)置權(quán)重

CREATE (n:Person {name: "Alice", age: 30})
CREATE (n)-[:KNOWS {weight: 0.8}]->(m:Person {name: "Bob", age: 25})

在這個(gè)例子中,我們創(chuàng)建了兩個(gè)Person節(jié)點(diǎn)(Alice和Bob),并通過KNOWS關(guān)系連接它們,權(quán)重為0.8。

要為現(xiàn)有關(guān)系設(shè)置權(quán)重,您可以使用MATCHSET子句:

MATCH (a)-[r]->(b)
SET r.weight = 0.9

這個(gè)查詢將遍歷所有的關(guān)系,并將它們的權(quán)重設(shè)置為0.9。

如果您想根據(jù)某些條件設(shè)置權(quán)重,可以在SET子句中使用條件表達(dá)式。例如,假設(shè)您想為年齡大于30的關(guān)系設(shè)置更高的權(quán)重:

MATCH (a)-[r]->(b)
WHERE a.age > 30
SET r.weight = CASE
    WHEN a.age > 30 THEN 0.9
    ELSE r.weight
END

這個(gè)查詢將遍歷所有的關(guān)系,如果關(guān)系的兩端年齡都大于30,則將權(quán)重設(shè)置為0.9,否則保持原權(quán)重。

0