Neo4j是: ·一個開源 ·無Schema ·沒有SQL ·圖形數(shù)據(jù)庫
該篇文章主要內(nèi)容包括:
1.Neo4j?CQL -?CREATE命令:
2.Neo4j?CQL -?MATCH命令:
3.Neo4j CQL - RETUR命令:
4.Neo4j?CQL -?MATCH &?RETURN命令:
5.Neo4j?CQL -?CREATE創(chuàng)建標(biāo)簽命令:
6.Neo4j?CQL -?WHERE命令:
7.Neo4j?CQL -?DELETE命令:
8.Neo4j?CQL -?REMOVE命令:



如何連接本地數(shù)據(jù)庫,請參考:Neo4j連接本地數(shù)據(jù)庫
1.Neo4j?CQL -?CREATE命令:
創(chuàng)建一個簡單節(jié)點:
語法:?CREATE(<node-name>:<label-name>)
語法: CREATE(節(jié)點名:節(jié)點標(biāo)簽名)
創(chuàng)建一個帶屬性的節(jié)點:
語法:?CREATE(<node-name>:<label-name> {<property1-name>:<property1-value>},...,<propertyn-name>:<propertyn-value>)
語法:?CREATE(節(jié)點名:節(jié)點標(biāo)簽名 {屬性字典})



2.Neo4j?CQL -?MATCH命令:
3.Neo4j CQL - RETUR命令:
4.Neo4j?CQL -?MATCH &?RETURN命令:
匹配節(jié)點
語法:?MATCH(<node-name>:<label-name>)
語法:?MATCH(節(jié)點名:節(jié)點標(biāo)簽名)
返回節(jié)點屬性
語法: RETURN(<node-name>.<property1-name>,...,<node-name>.<propertyn-name>)
語法: RETURN(節(jié)點名.屬性名1,...,節(jié)點名.屬性名n)
匹配+返回
語法:?MATCH?Command?
? ? ? ? ? ? RETURN?Command
匹配節(jié)點的標(biāo)簽為Person,并返回其age、name、city屬性值





5.Neo4j?CQL -?CREATE創(chuàng)建標(biāo)簽命令:
創(chuàng)建單個標(biāo)簽
語法: CREATE(<node-name>:<label-name>)
語法: CREATE(節(jié)點名:節(jié)點標(biāo)簽名)
創(chuàng)建多個標(biāo)簽到節(jié)點
語法:?CREATE(<node-name>:<label-name1>:<label-name2>:...:<label-namen>)
語法: CREATE(節(jié)點名:節(jié)點標(biāo)簽名1:節(jié)點標(biāo)簽名2:... :節(jié)點標(biāo)簽名n)
創(chuàng)建單個標(biāo)簽到關(guān)系
語法: CREATE(<node1-name>:<label1-name>)-[(<relationship-name>:<relationship-label-name>]->(<node2-name>:<label2-name>)
語法: CREATE(節(jié)點1名:節(jié)點1標(biāo)簽名)-[(關(guān)系名:關(guān)系標(biāo)簽名)]->(節(jié)點2名:節(jié)點2標(biāo)簽名)





6.Neo4j?CQL -?WHERE命令:
簡單WHERE子句語法
語法: WHERE <condition>
語法:?WHERE?條件
復(fù)雜WHERE子句語法
語法: WHERE <condition> <boolean-operator> <condition>
語法:?WHERE?條件 <布爾操作>?條件
<condition>語法
語法: <property-name> <comparison-operator> <value>
語法:?屬性名 <比較操作>?值





使用WHERE子句創(chuàng)建關(guān)系語法
語法:
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
WHERE <condition>
CREATE (<node1-label-name>:<node1-name>)-[<relationship-label-name>:<relationship-name>{<relationship-properties>}]->(<node2-label-name>:<node2-name>)
語法:
MATCH (節(jié)點1標(biāo)簽名:節(jié)點1名),(節(jié)點2標(biāo)簽名:節(jié)點2名)
WHERE?條件
CREATE (節(jié)點1標(biāo)簽名:節(jié)點1名)-[關(guān)系標(biāo)簽名:關(guān)系名 {關(guān)系屬性}]->(節(jié)點2標(biāo)簽名:節(jié)點2名)
比如:想創(chuàng)建"布口袋_天晴了"這個人喜歡看動漫"哈爾的移動城堡"。





7.Neo4j?CQL -?DELETE命令:
DELETE節(jié)點子句語法 (刪除節(jié)點及其關(guān)聯(lián)的屬性)
語法: DELETE <node-name-list>?
語法:?DELETE?節(jié)點名列表
DELETE節(jié)點和關(guān)系子句語法
語法:?DELETE <node1-name>,<node2-name>,<relationship-name>
語法: DELETE?節(jié)點1名,節(jié)點2名,關(guān)系名
可以自己先創(chuàng)建一個類,然后再刪除。


打算刪除:"布口袋_天晴了"這個人喜歡看動漫"哈爾的移動城堡"? 這個關(guān)系。



8.Neo4j?CQL -?REMOVE命令:
Neo4j?CQL DELETE和REMOVE命令之間的主要區(qū)別:
·DELETE操作用于刪除節(jié)點和關(guān)聯(lián)關(guān)系
·REMVOE操作用于刪除標(biāo)簽和屬性
REMOVE屬性子句語法
語法:?REMOVE <property-name-list>
語法:?REMOVE?屬性名列表
<property-name-list> <屬性名稱列表>語法
<node-name>.<property1-name>,
<node-name>.<property2-name>,
......
<node-name>.<propertyn-name>
REMOVE一個Label子句語法:
語法:?REMOVE <label-name-list>
語法:?REMOVE?標(biāo)簽名列表
<label-name-list>語法
<node-name>:<label1-name>,
<node-name>:<label2-name>,
......
<node-name>:<labeln-name>




參考文章: