neo4j 的cql 語句,增、刪、改、查(條件查詢)(持續更新)


前言

因為做一個比賽的項目 ,需要用到 neo4j 數據庫,所以要學習其語言cql,特來整理一下他的基本語言。
整片的語句是按照 了 Neo4j 數據庫自帶的示例 Movie Graph 來寫的。
直接看這個博客也是沒有問題的。都是很基礎的語句。

neo4j圖數據庫中基本基礎元素與概念

1 元素基本

節點(Node)
表示一個實體記錄、就像關系數據庫當中一條記錄。一個節點包含多個屬性和標簽。
關系(Relationship)
關系用於將及誒單關聯起來構成圖,關系也稱為圖論的邊(Edge)。
屬性(Property)
節點和關系都可以有多個屬性,屬性是由鍵值對組成的,就像java當中哈希
標簽(Label)
標簽指示一組擁有相同屬性的節點,但不強制要求相同,一個節點可以有多個標簽。
路徑(path)
圖中任意兩個節點都存在由關系組成的路徑,路徑有長短之分。

2 邏輯

  1. mysql :
    數據庫實例= =》數據庫(database)= =》表(table)= =》列==》記錄
  2. Neo4j:
    neo4j實例= =》數據庫(graph)= =》節點= =》關系= =》屬性==》標簽(Label)

一、查詢語句

1、根據節點屬性值 返回 具體單個節點

MATCH  (n: User{name:  "56" }) 
return  n;

   
   
  
  
          

參數解釋:
match :查詢關鍵字
n : 定義的變量,將要返回的值 賦值於他。
User :節點對象。== 一個對象包含很多節點。==
name : “56” 節點屬性 :節點屬性的值

2、根據對象返回對象中的所有屬性

MATCH (n:Person) 
RETURN n.name 
LIMIT 10

   
   
  
  
          

參數解釋
n : Person : Person類 賦值於 n,
n.name : 取出Person類中的name屬性值。
LIMIT : 限制,設置輸出到界面上的記錄條數。

3、根據屬性的條件區間 返回 所在區間的對象屬性

MATCH (n: Movie) 
WHERE n.released >= 1990 AND n.released < 2000 
RETURN n.title

   
   
  
  
          

參數解釋:
WHERE : 條件設置關鍵字。
AND : 連接兩個條件的關鍵字
解釋:查詢 電影中 屬性released在1990-2000的title屬性值。

4、查詢 節點對象 、其關系 以及 關系的節點

MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) 
RETURN tom,tomHanksMovies

   
   
  
  
          

參數解釋:
[] :表示為關系。
:ACTED_IN : 這是例子,為主演。
tomHanksMovies : 這是例子,為演過的電影。
翻譯:名字為Tom Hanks 主演過的 電影,並返回 Tom Hanks節點和聯系 以及子節點(演過的電影)

二、創建語句

1、創建一個節點

CREATE  (k : Person{ name:'魯班',born:1997}) RETURN k

   
   
  
  
          

參數解釋:
CREATE : 創建 節點的關鍵字。
翻譯:創建一個Person類的 節點標簽(名為魯班)。並且設置其屬性。並返回這個節點(返回之后就可以看到)
查看其節點
查詢這個剛創建的節點

MATCH  (k : Person{ name:'魯班',born:1997}) RETURN k

   
   
  
  
          

查詢這個魯班節點與別人之間的關系

MATCH  (k : Person{ name:'魯班',born:1997}) -[]-() RETURN k

   
   
  
  
          

然爾 並沒有任何關系

2、一次創建多個節點

CREATE (:pig{name:"豬爺爺",age:6}),
(:pig{name:"豬奶奶",age:4}),
(:pig{name:"豬爸爸",age:3}),
(:pig{name:"豬媽媽",age:1})

   
   
  
  
          

參數解釋:
可以去掉冒號右邊的變量。多個節點之間用逗號隔開

2、基於現有節點 創建一個關系

MATCH (gf:pig{name:"豬爺爺"}) 
MATCH (gm:pig{name:"豬奶奶"})
CREATE (gf)-[r:夫妻]->(gm) 
RETURN gf,r,gm

   
   
  
  
          

參數解釋:
這里沒有逗號連接,先查詢出來,放到變量里面,在進行創建連接
(變量名)-[變量名:聯系名{這里是聯系的屬性}]->(變量名)

3、創建 節點 + 關系

CREATE (:pig{name:"豬爸爸",age:12})-[:夫妻]->(:pig{name:"豬媽媽",age:9})

   
   
  
  
          

解釋:
直接創建 節點 關系 節點。

三、修改語句

1、修改屬性

MATCH (a:pig{name:"豬爸爸",age:12}) 
SET a.age=5 
return a

   
   
  
  
          

參數解釋:
SET :修改關鍵字。
變量.對象屬性 = 更變的值。

四、刪除語句 先刪關系在刪節點。

MATCH (n:pig{name:"佩奇"})-[r]-() 
WHERE n.age=0.6
DELETE r,n

   
   
  
  
          

參數解釋:
[] : 任意節點
() : 任意節點
r : 對應關系

原文地址:https://blog.csdn.net/qq_40036754/article/details/88605030


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM