【neo4j】安裝使用教程

一、安裝

1.0 前置條件

安裝配置好jdk17及以上

注意我使用的是neo4j 5.26.10版本,匹配java17剛好

Java Archive Downloads - Java SE 17.0.12 and earlier

無腦安裝即可

配置以下環境變量

1.1 安裝程序

Neo4j Deployment Center - Graph Database & Analytics

下載解壓即可,Windows是綠色版本

1.2 配置環境

添加neo4j的地址

二、基本使用

2.1 開啟、關閉和查看運行狀態

進入安裝目錄的bin文件夾,cmd窗口輸入

 ./neo4j.bat console

關閉直接ctrl+c即可關閉

查看運行狀態,cmd窗口輸入 neo4j status

2.2 查看數據庫

開啟后進入以下網址即可查看

http://localhost:7474

2.3?導入dump文件

neo4j-admin database load --from-path="D:\develop\neo4j-community-5.26.10\dumps" --overwrite-destination=true neo4j

注意,dump文件的名稱必須和數據庫同名

不然會報錯

三、neo4j常用命令

Neo4j 的常用命令主要分為兩大類:Cypher 查詢語言Neo4j 管理命令。下面我將為您詳細列出并解釋這些命令。

3.1 Cypher 查詢語言(核心操作)

Cypher 是 Neo4j 的聲明式圖查詢語言,用于操作和查詢圖數據。它的語法非常直觀,旨在匹配圖中的模式。

3.1.1 創建(CREATE)

用于創建節點、關系和屬性。

  • ? 創建節點
-- 創建單個節點(無標簽,無屬性)
CREATE (n)-- 創建帶標簽的節點CREATE (n:Person)-- 創建帶標簽和屬性的節點
CREATE (n:Person {name: 'John Doe', age: 30})-- 創建多個節點
CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
  • 創建關系:
-- 在兩個已存在節點間創建關系(需要先找到節點)
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[r:KNOWS {since: 2020}]->(b)
RETURN r-- 在創建節點的同時創建關系(適用于節點也不存在時)
CREATE (a:Person {name: 'Alice'})-[r:LOVES {since: 2021}]->(b:Person {name: 'Bob'})
RETURN a, r, b

3.1.2 匹配(MATCH)

用于查詢圖中的節點和關系。通常與 `RETURN` 或 `WHERE` 等子句聯用。

  • 查找所有節點:
MATCH (n) RETURN n
  • 查找特定標簽的節點:
MATCH (n:Person) RETURN n
  • 根據屬性查找節點:
MATCH (n:Person {name: 'Alice'}) RETURN n
-- 或使用 WHERE 子句
MATCH (n:Person)
WHERE n.name = 'Alice' AND n.age > 25
RETURN n
  • 查找關系:
-- 查找所有 KNOWS 關系
MATCH ()-[r:KNOWS]->() RETURN r-- 查找從 Alice 出發的 KNOWS 關系
MATCH (a:Person {name: 'Alice'})-[r:KNOWS]->(b) RETURN a, r, b

3.1.3 更新(SET, REMOVE)

用于修改節點或關系的屬性或標簽。

  • 設置/更新屬性:
MATCH (n:Person {name: 'Alice'}) 
SET n.age = 31, n.city = 'Berlin' 
RETURN n
  • 移除屬性:
MATCH (n:Person {name: 'Alice'}) 
REMOVE n.city 
RETURN n 
-- 或者使用 SET n.property = NULL
  • 添加標簽:
MATCH (n:Person {name: 'Alice'}) 
SET n:Employee 
RETURN n
  • 移除標簽:
MATCH (n:Person:Employee {name: 'Alice'}) 
REMOVE n:Employee 
RETURN n

3.1.4 刪除(DELETE)

用于刪除節點和關系。

警告:必須先刪除關系,才能刪除節點。

-- 刪除一個節點(確保該節點無任何關系) 
MATCH (n:Person {name: 'Bob'}) 
DELETE n-- 刪除一個節點及其所有相連的關系 
MATCH (n:Person {name: 'Bob'}) 
DETACH DELETE n-- 刪除關系 
MATCH (a:Person {name: 'Alice'})-[r:KNOWS]->(b:Person {name: 'Bob'}) 
DELETE r

3.1.5 合并(MERGE)

“有則返回,無則創建”。它確保一個模式存在于圖中。如果該模式不存在,則創建它;如果存在,則只是匹配到它。強烈建議與 ON CREATE 和 ON MATCH 一起使用。

-- 合并節點(如果不存在則創建,并設置初始屬性) 
MERGE (n:Person {name: 'Alice'}) 
ON CREATE SET n.created_at = timestamp() 
ON MATCH SET n.last_seen = timestamp() 
RETURN n-- 合并路徑(節點和關系) 
MERGE (a:Person {name: 'Alice'})-[r:KNOWS]->(b:Person {name: 'Bob'}) 
ON CREATE SET r.since = 2023 
RETURN a, r, b

3.2 Neo4j 管理命令(在 Neo4j Browser 或 -Shell 中執行)

這些命令主要用于數據庫管理、索引、約束和元數據查詢。

3.2.1 約束(Constraints)

用于保證數據的完整性。

  • 創建唯一性約束:
CREATE CONSTRAINT constraint_name FOR (n:Person) REQUIRE n.email IS UNIQUE
  • 查看所有約束:
SHOW CONSTRAINTS
  • 刪除約束:
DROP CONSTRAINT constraint_name

3.2.2 索引(Indexes)

用于大幅提高查詢性能。

  • 創建索引:
CREATE INDEX index_name FOR (n:Person) ON (n.name)
  • 創建復合索引:
CREATE INDEX index_name FOR (n:Person) ON (n.firstName, n.lastName)
  • 查看所有索引:
SHOW INDEXES
  • 刪除索引:
DROP INDEX index_name

3.2.3 信息查詢(Schema & Info)

  • 查看數據庫基本信息:
:sysinfo
  • 查看圖數據庫的結構(所有標簽、關系類型、屬性):
CALL db.schema.visualization()
  • 列出所有數據庫:
SHOW DATABASES
  • 查看當前數據庫的狀態和信息:
CALL db.info()

3.2.4 用戶與權限管理(企業版功能)

  • 顯示所有用戶:
SHOW USERS
  • 創建用戶:
CREATE USER username SET PASSWORD 'password' CHANGE NOT REQUIRED SET STATUS ACTIVE
  • 更改用戶密碼:
ALTER USER username SET PASSWORD 'newpassword' CHANGE NOT REQUIRED

3.3 實用技巧和命令

3.3.1 清空整個數據庫(謹慎使用!)

MATCH (n) DETACH DELETE n

這會刪除所有節點和關系,但不會刪除索引和約束。

3.3.2 計數:

-- 統計圖中所有節點的數量
MATCH (n) RETURN count(n)-- 統計某個標簽的節點數量
MATCH (n:Person) RETURN count(n)

3.3.3 在 Neo4j Browser 中使用命令行:

  • :help - 查看幫助
  • :play start - 打開初學指南
  • :history - 查看命令歷史

希望這個列表對您有幫助!Neo4j 的 語言非常強大且易讀,最好的學習方式就是在 Neo4j Browser 中實際操作。

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

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

相關文章

AECS(國標ECALL GB 45672-2025)

車載緊急呼叫功能作為車輛遇險時的響應機制,為司機和乘客的安全營救提供通信支持。為了能夠降低通信延遲,提高響應速度,基于4G/5G的下一代緊急呼叫技術(NG eCall)將在歐盟于2027年起成為強制標準,中國也已經…

week3-[循環嵌套]好數

week3-[循環嵌套]好數 題目描述 如果一個正整數 xxx 只有最左邊一位不是 000,其余都是 000,那么稱其為好數。例如 400040004000 和 222 都是好數,但是 120120120 不是。 給定正整數 nnn,在 111 到 nnn 間有多少個數是好數&#xf…

智能制造加速器:某新能源車智慧工廠無線網絡優化提升方案

隨著工業4.0和智能制造的快速發展,傳統制造工廠的網絡架構正面臨前所未有的挑戰。為了滿足柔性生產、實時數據驅動以及高可靠運營的需求,某新能源車智慧工廠啟動了一項無線網絡優化提升項目。本項目通過部署智能組網設備,構建高效、穩定、智能…

nginx-自制證書實現

nginx-自制證書實現一、 確認nginx是支持https功能的二、生成私鑰三、 根據ca.key生成nginx web服務器使用的證書簽名請求文件nginx.csr四、使用ca.key給nginx.csr進行簽名,生成公鑰證書nginx.crt五、將證書與域名綁定六、添加域名解析并訪問一、 確認nginx是支持ht…

FreeRTOS,事件標注組創建,xEventGroupCreate、xEventGroupCreateStatic

1. xEventGroupCreate ():動態創建(臨時借內存) 作用: 向系統(FreeRTOS 的堆內存)“臨時申請” 一塊內存來存放事件組,不需要我們自己提前準備內存。 例子(基于你的代碼修改&#xf…

Linux網絡socket套接字(上)

目錄 前言 1.Socket編程準備 1.理解源IP地址和目的IP地址 2.認識端口號 3.socket源來 4.傳輸層的典型代表 5.網絡字節序 6.socket編程接口 2.Socket編程UDP 1.服務端創建套接字 2.服務端綁定 3.運行服務器 4.客戶端訪問服務器 5.測試 6.補充參考內容 總結 前言…

RK android14 Setting一級菜單IR遙控器無法聚焦問題解決方法

文章目錄 前言 一、問題分析 1.1. 布局文件分析 1.2. Java代碼 二、解決方法 2.1.移除沖突的滾動標志 2.2.解決有問題的初始化調用 2.3.完整補丁 前言 在Android系統Settings應用(packages/apps/Settings)的首頁(SettingsHomepageActivity)中,存在一個 accessibility (無…

iOS 手勢與控件事件沖突解決清單

總結一份「iOS 手勢與控件事件沖突解決清單」,以后你遇到 UIButton / UITableView / UIScrollView 被手勢攔截就能快速排查了:📌 iOS 手勢與控件事件沖突常見解決辦法1?? cancelsTouchesInView👉 最常用,決定手勢識別…

筆試——Day45

文章目錄第一題題目思路代碼第二題題目思路代碼第三題題目思路代碼第一題 題目 kanan和高音 思路 雙指針遍歷數組&#xff0c;更新左右端點并計算最大值 代碼 #include<iostream> #include<vector> using namespace std;int main() {int n; cin >> n;vect…

nnDetection網絡結構分析

基于 RetinaNet 框架擴展&#xff0c;核心用于處理 3D 體積數據&#xff08;如醫學影像 CT/MRI&#xff09;&#xff0c;通過 “Encoder-Decoder-Head” 架構實現多任務學習。以下從整體框架、核心模塊細節、技術特點、應用場景四個維度展開分析。一、整體框架概覽首先通過表格…

Torch -- 卷積學習day4 -- 完整項目流程

完整項目流程總結1. 環境準備與依賴導入import time import os import numpy as np import pandas as pd import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from torch.utils.data import Dat…

MTK Linux DRM分析(七)- KMS drm_plane.c

一、簡介在 Linux DRM&#xff08;Direct Rendering Manager&#xff09;子系統中&#xff0c;Plane&#xff08;平面&#xff09;代表了一個圖像源&#xff0c;可以在掃描輸出過程中與 CRTC 混合或疊加顯示。每個 Plane 從 drm_framebuffer 中獲取輸入數據&#xff0c;并負責圖…

OpenHarmony之 藍牙子系統全棧剖析:從協議棧到芯片適配的端到端實踐(大合集)

1. 系統架構概述 OpenHarmony藍牙系統采用分層架構設計&#xff0c;基于HDF&#xff08;Hardware Driver Foundation&#xff09;驅動框架和系統能力管理&#xff08;System Ability&#xff09;機制實現。 1.1 架構層次 ┌─────────────────────────…

探索 Ultralytics YOLOv8標記圖片

1、下載YOLOv8模型文件 下載地址&#xff1a;https://docs.ultralytics.com/zh/models/yolov8/#performance-metrics 2、編寫python腳本 aaa.py import cv2 import numpy as np from ultralytics import YOLO import matplotlib.pyplot as pltdef plot_detection(image, box…

Matplotlib數據可視化實戰:Matplotlib子圖布局與管理入門

Matplotlib多子圖布局實戰 學習目標 通過本課程的學習&#xff0c;學員將掌握如何在Matplotlib中創建和管理多個子圖&#xff0c;了解子圖布局的基本原理和調整方法&#xff0c;能夠有效地展示多個數據集&#xff0c;提升數據可視化的效果。 相關知識點 Matplotlib子圖 學習內容…

【python實用小腳本-194】Python一鍵給PDF加水印:輸入文字秒出防偽文件——再也不用開Photoshop

Python一鍵給PDF加水印&#xff1a;輸入文字秒出防偽文件——再也不用開Photoshop PDF加水印, 本地腳本, 零會員費, 防偽標記, 瑞士軍刀 故事開場&#xff1a;一把瑞士軍刀救了投標的你 周五下午&#xff0c;你把 100 頁標書 PDF 發給客戶&#xff0c;卻擔心被同行盜用。 想加水…

開源 C++ QT Widget 開發(四)文件--二進制文件查看編輯

文章的目的為了記錄使用C 進行QT Widget 開發學習的經歷。臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 C QT Widget 開發&#xff08;一&#xff09;工程文件結構-CSDN博客 開源 C…

【密碼學實戰】X86、ARM、RISC-V 全量指令集與密碼加速技術全景解析

前言 CPU 指令集是硬件與軟件交互的核心橋梁&#xff0c;其設計直接決定計算系統的性能邊界與應用場景。在數字化時代&#xff0c;信息安全依賴密碼算法的高效實現&#xff0c;而指令集擴展則成為密碼加速的 “隱形引擎”—— 從服務器端的高吞吐量加密&#xff0c;到移動端的…

2025-08-21 Python進階2——數據結構

文章目錄1 列表&#xff08;List&#xff09;1.1 列表常用方法1.2 列表的特殊用途1.2.1 實現堆棧&#xff08;后進先出&#xff09;1.2.2 實現隊列&#xff08;先進先出&#xff09;1.3 列表推導式1.4 嵌套列表推導式2 del 語句3 元組&#xff08;Tuple&#xff09;4 集合&…

告別手工編寫測試腳本!Claude+Playwright MCP快速生成自動化測試腳本

在進行自動化測試時&#xff0c;前端頁面因為頻繁迭代UI 結構常有變動&#xff0c;這往往使得自動化測試的腳本往往“寫得快、廢得也快”&#xff0c;維護成本極高。在大模型之前大家往往都會使用錄制類工具&#xff0c;但錄制類工具生成的代碼靈活性較差、定位方式不太合理只能…