一、安装

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;但录制类工具生成的代码灵活性较差、定位方式不太合理只能…