【neo4j】安装使用教程

【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 中实际操作。

Read more

VLA机器人革命:解析当下10篇最关键的视觉-语言-动作模型论文

VLA机器人革命:解析当下10篇最关键的视觉-语言-动作模型论文

VLA机器人革命:解析当下10篇最关键的视觉-语言-动作模型论文 概览 2024-2026年,机器人领域正经历一场范式转换:从传统的任务特定编程转向视觉-语言-动作(Vision-Language-Action, VLA)模型。这些模型将视觉感知、自然语言理解和动作执行统一在单一框架中,让机器人能够像人类一样理解指令、推理场景并执行复杂操作。 本文精选5篇最fundamental的基础性论文和5篇热度最高的前沿论文,深入剖析VLA领域的核心思想、技术演进和未来方向。这些论文代表了从Google DeepMind、NVIDIA、斯坦福、Physical Intelligence等顶尖机构的最新突破,涵盖了从单臂操作到双臂人形机器人、从模拟环境到真实家庭场景的全方位进展。 Part I: 五篇Fundamental基础性论文 这些论文奠定了VLA领域的理论基础和技术范式,是理解整个领域发展脉络的关键。 1. RT-2: New Model Translates Vision and Language into Action 发表机构:Google DeepMind 时间:

2023年电赛H题(信号分离装置)-FPGA+stm32解法

2023年电赛H题(信号分离装置)-FPGA+stm32解法

目录 前言 题目 解题思路 基本框架 代码思路 第一部分(FPGA的FIFO以及串口发送接收) 1.FIFO 2.(FPGA串口发送) 3.FPGA串口接收 4.总结 第二部分(stm32接收数据进行FFT识别波形以及频率并发送) 1.stm32串口接收 2.stm32进行FFT 3.stm32串口发送 第三部分(FPGA得到波形与频率后生成波形) 第四部分(FPGA锁相) 1.鉴相 2.环路滤波 3.反馈 第五部分(DAC输出) 第六部分(移相) 1.按键消抖 2.按键设置相位差 3.数码管显示相位 第七部分(FPGA代码总结) 后记 前言 本文章除开要求一使用的增益为一的加法器以外,其余皆由FPGA+

win11本地部署openclaw实操第2集-让小龙虾具有telegram机器人能力和搜索网站能力

1 按照第一集的部署完成后,我们就开始考虑给小龙虾增加telegram机器人和搜索网站能力,实现效果如下: 2 telegram机器人能力部署 C:\Users\Administrator.openclaw的配置文件openclaw.json 增加一段内容 "channels":{"telegram":{"enabled": true, "dmPolicy":"pairing", "botToken":"你的telegram机器人的token", "groupPolicy":"allowlist", "streamMode":"partial", "network":{"

Rokid 手势识别技术深度解析:解锁 AR 无接触交互的核心秘密

Rokid 手势识别技术深度解析:解锁 AR 无接触交互的核心秘密

引言 在聊手势识别前,咱们先搞清楚:Rokid是谁?它为啥能把AR手势做得这么自然? Rokid是国内AR(增强现实)领域的“老兵”了,从2014年成立就盯着一个目标——让AR走进日常。你可能见过它的产品:能戴在脸上的“AR眼镜”Max Pro、能揣在兜里的“AR主机”Station 2、适合专业场景的“Station Pro”,这些设备不是用来“炫技”的,而是想让咱们摆脱手机、手柄的束缚,直接用手“摸”虚拟东西。 而手势识别,就是Rokid给AR设备装的“最自然的遥控器”——比如调大虚拟屏幕像捏橡皮一样捏合手指,翻页像翻书一样挥手。但不同设备、不同开发需求,需要搭配不同版本的SDK(软件开发工具包),这就像“不同型号的手机要装对应版本的APP”。 一、基础认知:先选对版本,避免开发走弯路 Rokid手势识别技术随SDK版本迭代持续优化,不同版本适配的Unity(开发工具)