Neo4j用CQL做爲查詢語言node
CQL 數據庫
1.啓動服務,打開瀏覽器瀏覽器
在數據瀏覽器中的美圓提示符下鍵入命令學習
2.經常使用命令spa
(1)CREATE3d
建立節點code
CREATE (<node-name>:<label-name>)
eg:blog
CREATE (emp:Employee) ip
建立一個標籤和一個節點,在數據庫中建立一個帶有標籤名「Employee」的節點「emp」it
建立帶有屬性的節點
CREATE ( <node-name>:<label-name> { <Property1-name>:<Property1-Value> ........ <Propertyn-name>:<Propertyn-Value> } )
eg:
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
建立:
一個標籤,即「Dept」;
一個節點,即「dept」;
三個屬性,即deptno,dname,location
建立關係
CREATE (<node1-name>:<label1-name>)- [(<relationship-name>:<relationship-label-name>)] ->(<node2-name>:<label2-name>)
eg:
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
From Node——節點名稱 p1,節點標籤名稱profile1
To Node——節點名稱p2,節點標籤名稱Profile2
r1是關係名稱,LIKES是一個關係標籤名稱
(2)MATCH和
MATCH
MATCH ( <node-name>:<label-name> )
RETURN
RETURN <node-name>.<property1-name>, ........ <node-name>.<propertyn-name>
不能單獨使用MATCH或RETURN命令,結合起來從數據庫檢索數據
MATCH + RETURN命令
MATCH Command
RETURN Command
eg:
MATCH (dept:Dept) return dept
MATCH (dept: Dept) RETURN dept.deptno,dept.dname
(3)WHERE
過濾MATCH查詢的結果
WHERE <condition> <boolean-operator> <condition>
<boolean-operator> AND,OR,NOT,XOR
<condition>
<property-name> <comparison-operator> <value>
<comparison-operator> =,<>,<,>,<=,>=
eg:
CREATE (emp:Employee{id:1001,name:"Lokesh",sal:35000,deptno:10})
CREATE (emp:Employee{id:1002,name:"abc",sal:28000,deptno:20})
CREATE (emp:Employee{id:1003,name:"xyz",sal:35000,deptno:30})
CREATE (emp:Employee{id:1004,name:"Mno",sal:32000,deptno:40})
查詢
MATCH (emp:Employee) RETURN emp.id,emp.name,emp.salary,emp.deptno
MATCH (emp:Employee) WHERE emp.name = 'abc' RETURN emp
MATCH (emp:Employee) WHERE emp.name = 'abc' OR emp.name='xyz' RETURN emp.id,emp.name,emp.sal,emp.deptno
使用WHERE建立關係
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>) WHERE <condition> CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name> {<relationship-properties>}]->(<node2-label-name>)
eg:
CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
MATCH (cust:Customer),(cc:CreditCard) WHERE cust.id = "1001" AND cc.id= "5001" CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r
(4)DELETE
刪除節點
DELETE <node-name-list>
eg:
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
MATCH (d: Dept) RETURN d
MATCH (d: Dept) DELETE d
刪除節點和關係
DELETE <node1-name>,<node2-name>,<relationship-name>
eg:
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
MATCH (p1:Profile1)-[r]-(p2:Profile2)RETURN p1,r,p2
MATCH (p1:Profile1)-[r]-(p2:Profile2) DELETE p1,r,p2
兩個節點及其關聯都被刪除了
MATCH (p1:Profile1)-[r]-(p2:Profile2) RETURN r
還有不少命令,之後再繼續學習