neo4j基礎操作:命令行增刪改查

目錄

一,Neo4j的增

1.1.新增節點

1.2.新增關系

1.2.1創建節點時,創建關系

1.2.2在已有的節點上,創建關系

二,Neo4j的刪除

2.1刪除節點

?2.1.1無關系的節點刪除

2.1.2 有關系的節點刪除

三,節點修改

3.1 給節點修改標簽

3.2 修改,新增屬性

四,查找

4.1 查找節點

4.2 查找關系

一,Neo4j的增

1.1.新增節點

create (n:Persion {name:'劉詩詩',age:32})

解釋:

  1. CREATE:這是Cypher查詢中的關鍵字,用于指示數據庫創建新的節點或關系
  2. (n):這是一個占位符,代表將要創建的節點。n?是一個變量名,你可以使用任何合法的變量名來代替它。
  3. Person:這部分定義了節點的標簽(Label)。在這里,Person?是一個標簽,表示這個節點屬于Person這一類別。在Neo4j中,標簽可以用來表示實體或概念的類型。
  4. {name:'劉詩詩',age:32}:這是一個屬性(Property)映射,用來給節點設置屬性。在這個例子中,節點?n?有兩個屬性:name?和?agename?屬性被賦予了字符串值?'劉詩詩',而?age?屬性被賦予了整數值?32

綜合起來,這條Cypher語句的作用是創建一個新的節點,這個節點具有?Person?標簽,并且有兩個屬性:name?屬性的值為?'我'age?屬性的值為?31。這個節點在數據庫中是獨一無二的,除非已經存在一個具有相同標簽和屬性值的節點。

在創建一個Person標簽的節點

?查看庫數據

刪除數據,在重新創建下節點

?查看數據

1.2.新增關系

1.2.1創建節點時,創建關系

同1.1語句,創建節點的時候,新增節點間的關系

create(n:Persion{name:"高飛",age:28})-[:日出場費{金額:50}]->(p:Persion{name:"林青霞",age:54})

?

  1. create: 是一個關鍵字,用于在數據庫中創建新的節點和關系。
  2. (n:Persion{name:"高飛",age:28}):創建一個新的節點 n,這個節點屬于 Persion標簽,并具有兩個屬性:name 屬性的值為 "高飛",age 屬性的值為 "28"。
  3. -[:日出場費{金額:50}]:創建一個新的關系,這個關系連接兩個節點,關系的類型是 日出場費,并且這個關系有一個屬性 金額,其值為 50。
  4. ->(p:Persion{name:"林青霞",age:54}):指明了關系的另一個節點 p,這個節點同樣屬于 Persion標簽,并具有 name 和 age 兩個屬性,分別設置為 "林青霞和 "54"。

所以,整體來看,這段代碼的作用是創建兩個 Persion類型的節點,一個名為 "高飛",年齡為 28,另一個名為 "林青霞",年齡為 54,并在兩者之間創建了一個類型為 日出場費 的關系,該關系有一個屬性 金額,其值為 50。

1.2.2在已有的節點上,創建關系

MATCH (n1:Persion),(n2:Persion) WHERE n1.name='劉詩詩' AND n2.name='我' CREATE(n1)-[:貸款{金額:3000}] ->(n2) return n1,n2

二,Neo4j的刪除

2.1刪除節點

?2.1.1無關系的節點刪除

create(n:Persion{name:"北喬峰",age:30})

刪除操作

Match (n:Persion{name:"北喬峰"}) delete n

檢查,已刪除

2.1.2 有關系的節點刪除

有關系存在的節點在刪除時,需要先刪除關系,否則會報錯,提示也先刪除關系

在圖數據庫或圖模型中,節點和關系是一種基本的結構。關系用于連接節點,表示它們之間的連接。在刪除一個節點之前,您必須先刪除它的所有關系,否則系統將無法刪除該節點。

刪除關系

刪除關系之前,需要找到這個關系

match (p:Persion{name:"高飛"})-[f:日出場費] ->(n:Persion{name:"林青霞"}) delete f

兩個節點的名稱不能是一樣的,若都是p,則匹配不到數據。

一個p,一個n,不一樣,才能執行。刪除關系后,節點還是存在的。

若果關系找的不對,如上。真實的關系是

match (p:Persion{name:"高飛"})-[f:日出場費] ->(n:Persion{name:"林青霞"}) delete f

而如果寫的語句的關系是

match (p:Persion{name:"林青霞"})-[f:日出場費] ->(n:Persion{name:"高飛"}) delete f

執行語句,刪除報錯。

同時刪除節點和關系

在刪除的時候,除了關系f外,將節點名稱也加上,就都刪除了。

match (p:Persion{name:"高飛"})-[f:日出場費] ->(n:Persion{name:"林青霞"}) delete f,p,n

先恢復下節點關系

match (p:Persion),(n:Persion) where p.name="高飛" and n.name="林青霞" create (p)-[:日出場費{金額:30}] ->(n) return p,n

在執行上面的命令

2.1.3 刪除所有

MATCH (n:ru_yi_zhuan) detach delete n;

?

?

我們來逐部分解析這條語句:

1.?MATCH (n:ru_yi_zhuan)

  • MATCH?是用于查找圖中節點或關系的關鍵字。
  • (n:ru_yi_zhuan)?表示查找所有類型為?ru_yi_zhuan?的節點,并將這些節點賦值給變量?n
    • n?是一個變量,代表每個匹配到的節點。
    • :ru_yi_zhuan?是一個標簽,表示這些節點屬于?ru_yi_zhuan?類型。標簽可以用來對節點進行分類。

2.?detach

  • DETACH?是一個關鍵字,用于刪除節點時,自動刪除該節點與其他節點之間的所有關系。
  • 通常,如果你刪除一個節點并且沒有使用?DETACH,如果該節點與其他節點有關系,Neo4j 會拒絕刪除該節點(因為數據庫會保護圖的完整性,防止孤立節點)。使用?DETACH?后,它會自動刪除與該節點相連的所有關系。

3.?DELETE n

  • DELETE?是用來刪除節點或關系的關鍵字。
  • n?是之前通過?MATCH?查找到的節點變量,DELETE n?會刪除這些節點。

總結:

這條查詢的作用是:

  1. 查找圖數據庫中所有標簽為?ru_yi_zhuan?的節點。
  2. 刪除這些節點及它們與其他節點之間的所有關系(通過?DETACH)。
  3. 最后,刪除這些節點本身。

注意: 運行這條語句會永久刪除所有匹配到的 ru_yi_zhuan 類型的節點及其關系,請確保在執行前已經備份了數據或者確認操作無誤。

三,節點修改

改操作可以改節點現有的屬性或者標簽,也可以增加節點新的屬性或者標簽。

選中節點后,即可看到節點的id,id值是庫自動生成

3.1 給節點修改標簽

match(t:Persion) where id(t)=2 set t.age = 22

3.2 修改,新增屬性

match(t:Persion) where id(t)=2 set t.sex="男",t.likes="錢"

四,查找

4.1 查找節點

語法最后,要有return

match(p:Persion) where p.sex = '男' return p

?

4.2 查找關系

match(p:Persion) -[:貸款] -> (np:Persion) return p,np

match(p:Persion) -[:貸款] -> (np:Persion):

  1. MATCH :是用來在圖形數據庫中查找模式的。這里,它尋找所有符合 Persion類型的節點(p 和 n)。
  2. -[:貸款]-> :是關系路徑,表示從一個 Persion節點(p)通過一個名為 借款 的關系到達另一個 Persion節點(np)。-> 指向關系的方向。

return p, np:

  1. return 語句用于返回查詢結果。在這個查詢中,它會返回兩個節點,p 和 np,作為查詢結果的每一行。每行將包含匹配到的 Persion對的組合。

所以,這個查詢的目的是找出所有 Persion類型的節點,其中有一個關系是 貸款,并且這個關系連接了兩個 Persion節點,并返回這兩個節點。

結果將是一個包含借款關系的 Persion對列表。

新建一個關系,此時,貸款 的關系有2條,4個節點,查詢的結果為何呢。

?查詢正確,2個關系,4個節點。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79754.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79754.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79754.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

rollout 是什么:機器學習(強化學習)領域

rollout 是什么:機器學習(強化學習)領域 指從特定初始狀態開始,按照某個策略或模型進行一系列動作和狀態轉移,直到達到終止狀態或預定時間步數 。比如: 迷宮任務:強化學習代理在迷宮中,從起始點出發,按某策略(如隨機選方向走)進行移動,直到找到出口或達到最大移動…

stm32之TIM定時中斷詳解

目錄 1.引入1.1 簡介1.2 類型1.2.1 基本定時器1.2.2 通用定時器1. 觸發控制單元 (Trigger Control Unit)2. 輸入捕獲單元 (Input Capture Unit)3. 輸出比較單元 (Output Compare Unit)4. CNT 計數器5. 自動重裝載寄存器 (ARR)6. 預分頻器 (PSC)7. 中斷與 DMA 事件8. 剎車功能 (…

centos8源碼安裝openssl

前言: 在使用python3.11部署運行FastAPI時,由于其uvicorn需要使用openssl模塊,導致沒有安裝openssl的服務器項目運行不起來. 【第一步】 我的網盤下載openssl-1.1.1n.tar.gz 提取碼: vay9 【第二步】 上傳到服務器解壓 tar -zxvf opens…

vue3 動態修改系統title

vue3 動態修改系統title 修改前 修改后 1、封裝 useTitle 工具函數 創建組合式 API,通過 watchEffect 監聽標題變化: // composables/useTitle.js import { ref, watchEffect } from vue;export function useTitle(initialTitle) {const title r…

比較兩種判斷相同二叉樹的方法:遞歸與遍歷序列對比

在二叉樹操作中,判斷兩棵樹是否相同是一個常見的問題。本文將對比兩種不同的解決方案:遞歸法和遍歷序列對比法,分析它們的優缺點,并探討為何遞歸法是更優的選擇。 問題描述 給定兩棵二叉樹的根節點 p 和 q,判斷它們是…

從0開始學習大模型--Day01--大模型是什么

初識大模型 在平時遇到問題時,我們總是習慣性地去運用各種搜索引擎如百度、知乎、CSDN等平臺去搜索答案,但由于搜索到的內容質量參差不齊,檢索到的內容只是單純地根據關鍵字給出內容,往往看了幾個網頁都找不到答案;而…

【AI大模型】SpringBoot整合Spring AI 核心組件使用詳解

目錄 一、前言 二、Spring AI介紹 2.1 Spring AI介紹 2.2 Spring AI主要特點 2.3 Spring AI核心組件 2.4 Spring AI應用場景 2.5 Spring AI優勢 2.5.1 與 Spring 生態無縫集成 2.5.2 模塊化設計 2.5.3 簡化 AI 集成 2.5.4 支持云原生和分布式計算 2.5.5 安全性保障…

洛谷 P9007 [入門賽 #9] 最澄澈的空與海 (Hard Version)

這道題可不入門。 [Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 給定 n n n,求有多少組 ( x , y , z ) (x,y,z) (x,y,z) 滿足: x ? y z n ! x-\dfrac{y}{z}n! x?zy?n! x ? y z n ! n \dfrac{x-y…

PostgreSQL 的 pg_stat_file 函數

PostgreSQL 的 pg_stat_file 函數 pg_stat_file 是 PostgreSQL 提供的一個系統管理函數,用于獲取文件系統上文件的元數據信息。這個函數對于數據庫管理員進行文件級別的監控和診斷非常有用。 一 函數基本語法 pg_stat_file(filename text [, missing_ok boolean …

關于麒麟服務器實現docker-compose服務開機自啟

我本地服務器環境是麒麟V10版本: 首先確定docker-compose服務絕對路徑命令: which docker-compose我這里輸出是:/usr/bin/docker-compose 編輯服務文件: sudo vim /etc/systemd/system/docker-compose-webup.service[Unit] Desc…

基于 jQuery 實現復選框全選與選中項查詢功能

在 Web 開發中,復選框是常見的交互元素,尤其是在涉及批量操作、數據篩選等場景時,全選功能和選中項查詢功能顯得尤為重要。本文將介紹如何使用 HTML、CSS 和 jQuery 實現一個具備全選、反選以及選中項查詢功能的復選框組,幫助開發…

AfuseKt2.4.2 | 支持阿里云盤、Alist等平臺視頻播放,具備自動海報墻刮削功能的強大播放器

AfuseKt是一款功能強大的安卓端在線視頻播放器,支持播放阿里云盤、Alist、WebDAV等平臺的視頻內容。它具備自動海報墻刮削功能,能自動生成影片信息和海報墻,提供良好的視覺體驗。此外,它還支持倍速播放、字幕、音軌切換等多種實用…

Netlink在SONiC中的應用

Netlink在SONiC中的應用 Netlink介紹 Netlink 是 Linux 內核態程序與用戶空間程序之間進行通信的機制之一,原本是用于傳遞網絡協議棧中的各種控制消息。它采用和套接字(socket)編程接口相同的形式,常用于配置內核網絡子系統&…

語音合成之十一 提升TTS語音合成效果:低質量數據清洗、增強與數據擴增

低質量數據清洗、增強與數據擴增 1. 引言:TTS的基石——數據質量2. 基礎:TTS數據準備工作流2.1 規劃:定義藍圖2.2 執行:從原始數據到訓練就緒格式2.3 最佳實踐與可復現性 3. 攻克缺陷:低質量語音數據的清洗與增強3.2 手…

Java IO流分類與記憶方法

Java IO流分類與記憶方法 在Java IO流體系中,理解節點流和包裝流的區別是掌握IO編程的關鍵。 一、核心分類標準 1. 節點流(Node Stream) 直接對接數據源:直接連接物理IO設備(文件、網絡、內存等)基礎功能:提供最基礎的讀寫能力命名特征:通常包含數據源類型名稱(如Fi…

架構師如何構建個人IP:職業規劃與業務戰略的雙重提升

在數字化時代,軟件架構師的角色已從單純的技術專家轉變為兼具技術領導力和業務影響力的復合型人才。如何構建個人IP,提升行業影響力,成為架構師職業發展的關鍵課題。本文從個人認知、業務戰略、架構決策、產品思維四個維度,探討架…

vscode運行python的快捷鍵

以下是一些在 VS Code 中運行 Python 代碼的常用快捷鍵: 運行 Python 文件 Windows/Linux :Ctrl F5。此快捷鍵會直接運行當前打開的 Python 文件,不會自動進入調試模式。若之前有配置過終端,一般會使用配置好的終端來運行&…

使用OpenCV 和 Dlib 實現疲勞檢測

文章目錄 引言1.相關技術介紹2. 系統原理2.1 眼睛縱橫比(EAR)算法2.2 系統工作流程 3.代碼解析3.1 關鍵函數說明3.2 主循環邏輯 4.實際應用效果5.參數調優建議6.總結 引言 疲勞駕駛是交通事故的主要原因之一。本文將介紹如何使用Python和計算機視覺技術構建一個實時疲勞駕駛檢…

VBA實現后入先出(LIFO)庫存統計

先入先出(FIFO)比較容易理解,買入早的優先賣出。與之對應的是后人先出(LIFO),就是優先賣出最近買入的,例如:第8行賣出2K,當天還沒有買入記錄,只能找前一天的買…

Python中的客戶端和服務端交互的基本內容

目錄 網絡協議 網絡的通信方式 需要安裝的組件和需要導入的包模塊 安裝的組件 導入包模塊 如何創建客戶端 如何創建服務端 網絡協議 IPV4:是互聯網協議的第四版,也是目前廣泛使用的網絡協議。它使用32位地址格式,理論上可以提供約43億…