1. 程式人生 > >關於neo4j初入門(1)

關於neo4j初入門(1)

它的 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)