關於neo4j初入門(1)
阿新 • • 發佈:2018-08-04
它的 EDA spro h+ nbsp not 優點 emp ati
圖形數據庫也稱為圖形數據庫管理系統或GDBMS。
Neo4j的官方網站:http://www.neo4j.org
Neo4j的優點
-
它很容易表示連接的數據
-
檢索/遍歷/導航更多的連接數據是非常容易和快速的
-
它非常容易地表示半結構化數據
-
Neo4j CQL查詢語言命令是人性化的可讀格式,非常容易學習
-
它使用簡單而強大的數據模型
-
它不需要復雜的連接來檢索連接的/相關的數據,因為它很容易檢索它的相鄰節點或關系細節沒有連接或索引
關系應該是定向的
訪問Neo4j通過使用http:// localhost:7474 /
CREATE命令語法
CREATE (<node-name>:<label-name>) 節點名稱。節點標簽名稱
CREATE ( <node-name>:<label-name> { <Property1-name>:<Property1-Value> 定義將分配給創建節點的屬性的名稱、值 ........ <Propertyn-name>:<Propertyn-Value> } )
總結: 節點 標簽 屬性
MATCH命令語法:
- 從數據庫獲取有關節點,關系和屬性的數據
MATCH ( <node-name>:<label-name> )
RETURN命令語法:
- 檢索節點的某些屬性、所有屬性
- 檢索節點和關聯關系的某些屬性、所有屬性
RETURN <node-name>.<property1-name>, ........ <node-name>.<propertyn-name>
不能單獨使用MATCH或RETURN命令,因此我們應該合並這兩個命令
MATCH (dept: Dept) RETURN dept.deptno,dept.dname
dept是節點名稱
這裏Dept是一個節點標簽名
deptno是dept節點的屬性名稱
dname是dept節點的屬性名
CQL - CREATE+MATCH+RETURN命令
CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
MATCH (e:Customer) RETURN e.id,e.name,e.dob
MATCH (cc:CreditCard) RETURN cc.id,cc.number,cc.cvv,cc.expiredate
關系基礎
Neo4j關系被分為單向關系、雙向關系
CREATE創建標簽
Neo4j僅支持兩個節點之間的單個關系類型。
CREATE (google1:GooglePlusProfile)
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)多個標簽到節點
例如CREATE (m:Movie:Cinema:Film:Picture)
單個標簽到關系
CREATE (<node1-name>:<label1-name>)- [(<relationship-name>:<relationship-label-name>)] ->(<node2-name>:<label2-name>)
舉例
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
這裏p1和profile1是節點名稱和節點標簽名稱“From Node”
p2和Profile2是“To Node”的節點名稱和節點標簽名稱、r1是關系名稱、LIKES是一個關系標簽名稱
WHERE子句
過濾MATCH查詢的結果。
WHERE <condition>
WHERE <condition> <boolean-operator> <condition>
<condition>語法:
<property-name> <comparison-operator> <value>
布爾運算符
and or not xor
比較運算符
= > < >= <= <>
MATCH (emp:Employee) WHERE emp.name = ‘Abc‘ OR emp.name = ‘Xyz‘ RETURN emp
使用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>)
例子
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
關於neo4j初入門(1)