Neo4j使用CQL MERGE命令 -
創(chuàng)建節(jié)點,關(guān)系和屬性
為從數(shù)據(jù)庫檢索數(shù)據(jù)
MERGE命令是CREATE命令和MATCH命令的組合。
MERGE = CREATE + MATCH
Neo4j CQL MERGE命令在圖中搜索給定模式,如果存在,則返回結(jié)果
如果它不存在于圖中,則它創(chuàng)建新的節(jié)點/關(guān)系并返回結(jié)果。
MERGE (<node-name>:<label-name> { <Property1-name>:<Property1-Value> ..... <Propertyn-name>:<Propertyn-Value> })
語法說明:
S.No. | 語法元素 | 描述 |
---|---|---|
1 | MERGE | 它是一個Neo4j CQL關(guān)鍵字。 |
2 | <node-name> | 它是節(jié)點或關(guān)系的名稱。 |
3 | <label-name> | 它是節(jié)點或關(guān)系的標(biāo)簽名稱。 |
4 | <property_name> | 它是節(jié)點或關(guān)系的屬性名稱。 |
5 | <property_value> | 它是節(jié)點或關(guān)系的屬性值。 |
6 | : | 使用colon(:)運算符來分隔節(jié)點或關(guān)系的屬性名稱和值。 |
注意 -
Neo4j CQL MERGE命令語法與CQL CREATE命令類似。
我們將使用這兩個命令執(zhí)行以下操作 -
創(chuàng)建具有一個屬性的配置文件節(jié)點:Id,名稱
創(chuàng)建具有相同屬性的同一個Profile節(jié)點:Id,Name
檢索所有Profile節(jié)點詳細(xì)信息并觀察結(jié)果
我們將使用CREATE命令執(zhí)行這些操作
此示例通過使用CREATE,MATCH和RETURN命令創(chuàng)建Google+個人資料,執(zhí)行上述所有操作。
步驟1 -打開Neo4j數(shù)據(jù)瀏覽器
CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})
步驟1 -打開Neo4j的數(shù)據(jù)瀏覽器
步驟2 -輸入在數(shù)據(jù)瀏覽器下面的命令
CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})
如果我們觀察到成功消息,它已經(jīng)向GoogleProfile1節(jié)點添加了兩個屬性。
步驟1 -打開Neo4j數(shù)據(jù)瀏覽器
步驟2 -在數(shù)據(jù)瀏覽器上鍵入以下命令
MATCH (gp1:GoogleProfile1) RETURN gp1.Id,gp1.Name
CQL CREATE命令檢查此節(jié)點是否可用,它只是在數(shù)據(jù)庫中創(chuàng)建新節(jié)點。
通過觀察這些結(jié)果,我們可以說CREATE命令總是向數(shù)據(jù)庫添加新的節(jié)點。
此示例通過使用MERGE和RETURN命令創(chuàng)建Google+個人資料,執(zhí)行相同的上述操作。
步驟1 -打開Neo4j數(shù)據(jù)瀏覽器
步驟2 -在數(shù)據(jù)瀏覽器上鍵入以下命令
MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})
步驟1 -打開Neo4j數(shù)據(jù)瀏覽器
步驟2 -在數(shù)據(jù)瀏覽器上鍵入以下命令
MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})
步驟1 -打開Neo4j數(shù)據(jù)瀏覽器
步驟2 -在數(shù)據(jù)瀏覽器上鍵入以下命令
MATCH (gp2:GoogleProfile2) RETURN gp2.Id,gp2.Name
更多建議: