neo4j图数据库基本概念和向量使用

一.节点

1.新建节点

create (n:GroupProduct {name:'都邦高保额团意险',description: "保险产品名称"} ) return n

CREATE:Neo4j 的关键字,用于创建新节点或关系。


(n:GroupProduct):
n 是节点的临时别名(变量名),方便在return中引用,创建完成之后就没用了。


GroupProduct 是节点的标签(Label),用于分类节点(如 Person, Product 等)。


{name:'都邦高保额团意险',description: "保险产品名称"}
节点的属性(Properties),键值对形式:


RETURN n:
返回新创建的节点 n,用于验证操作是否成功。

2.已有节点创建关系

MATCH (a:GroupProductA {name:'保高空'}), (b:GroupProduct {name:'都邦高保额团意险'})
CREATE (a)-[:INCLUDE {restrict: "涉电及高空作业按6类可承保"}]->(b)

变量名可以随意定义,只要能区分出来两个节点的区别,简短有意义

关系名称INCLUDE: 也可以随意定义,最好是能够见名知意,最好定义统一的团队规范

关系也可以添加属性: 比如表明这个关系有什么限制条件

使用箭头 -> 表示从左到右的关系方向

3.删除节点

MATCH (n:GroupProductA {name:'保高空' })
DETACH DELETE n

4.查询节点之间的相邻节点

MATCH (startNode {属性名: 值})-[:关系类型*..N]-(relatedNode)
RETURN startNode, relatedNode

例如:

MATCH (a {name: "保高空"})-[*..1]-(b)
RETURN a,b

关键参数说明
参数说明示例
*表示遍历任意深度的关系(包括直接关联和间接关联)。-[*] 表示所有层级关联。
*..N最大遍历深度。例如 *..2 表示遍历 1 层或 2 层关联。-[:EXCLUDES*..2] 最多找两跳关联。
-[]->单向遍历(从左到右)。(a)-[:PARENT_OF]->(b) 只找 a 的子节点。
<-[]-反向遍历(从右到左)。(a)<-[:CHILD_OF]-(b) 找到 b 的父节点。

 注意事项

性能问题:遍历深度(如 *..N)越大,查询耗时越长,建议根据需求限制深度。
方向性:若关系是单向的(如 EXCLUDES),需注意方向(如 ()-[:EXCLUDES]->())。

属性唯一性:确保查询的属性(如 product_id)是唯一标识符,否则可能返回多个节点。


5.对已创建好的节点添加属性

MATCH (a:GroupProductA {name:'保高空' })
SET a+= { embedding: [] }
RETURN b;

二.节点向量存储和检索

1.节点需要添加向量数组

可以选择一开添加节点的时候加一个向量属性

create (n:GroupProductA {name:'保高空',description: "保险产品可以保高空作业",embedding: [向量的具体值]}) return n

或者后续添加

MATCH (a:GroupProductA {name:'保高空' })
SET a+= { embedding: [向量具体数值] }
RETURN b;

2.给节点增加向量索引

CREATE VECTOR INDEX 索引名称 IF NOT EXISTS
FOR (具体的节点标签)
ON n.embedding
OPTIONS { indexConfig: {
 `vector.dimensions`: 向量维度数值,
 `vector.similarity_function`: 向量计算方法
}}

例如:

CREATE VECTOR INDEX HighDutyIdx IF NOT EXISTS
FOR (n:HighDuty)
ON n.embedding
OPTIONS { indexConfig: {
 `vector.dimensions`: 1536,
 `vector.similarity_function`: 'cosine'
}}

3.计算向量余弦相似度

MATCH (a:GroupProductA)
WHERE a.embedding IS NOT NULL
WITH n,
     // 计算向量余弦相似度或欧氏距离
     vector.similarity.cosine(n.embedding, [0.1, 0.2, ...]) AS similarity
RETURN n.name, similarity
ORDER BY similarity DESC
LIMIT 10;

4.查询两个节点的向量相似度


MATCH (a:GroupProductA {name: '保高空'})
MATCH (b:GroupProductA {name:'团意'})
RETURN vector.similarity.cosine(a.embedding, b.embedding)

5.查询所有向量索引


SHOW VECTOR INDEXES

6.删除指定向量索引


DROP INDEX moviePlots

三.RAG向量检索最佳实践

1.先查询出所有符合的向量节点,有个阈值,比如大于0.8的查询出所有符合的节点

2.然后再通过这些符合的节点,根据节点之间的关系,找到想要查询出来的节点属性

3.根据查询出来的节点属性和用户问题,给大模型总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/80786.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/80786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年渗透测试面试题总结-渗透测试红队面试八(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 渗透测试红队面试八 二百一十一、常见中间件解析漏洞利用方式 二百一十二、MySQL用户密码存储与加密 …

大语言模型主流架构解析:从 Transformer 到 GPT、BERT

&#x1f4cc; 友情提示&#xff1a; 本文内容由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;创作平台的gpt-4-turbo模型生成&#xff0c;旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证&#xff0c;建议读者通过官方文档或实践进一步确认其准…

Java设计模式之装饰器模式:从基础到高级的全面解析(万字解析)

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 一、装饰器模式基础概念 1.1 什么是装饰器模式 装饰…

RN 鸿蒙混合开发实践(踩坑)

#三方框架# #React Native # 1 。环境配置&#xff1b; 安装 DevEco 开发工具&#xff1b; Node 版本16&#xff1b; hdc环境配置 hdc 是 OpenHarmony 为开发人员提供的用于调试的命令行工具&#xff0c;鸿蒙 React Native 工程使用 hdc 进行真机调试。hdc 工具通过 OpenHa…

动态网站 LNMP

一、名词解释&#xff1a; LNMP&#xff1a; L : 代表 Linux 操作系统&#xff0c;为网站提供了可靠的运行环境N : 代表 Nginx&#xff0c;它是一款轻量级的高性能 Web 服务器&#xff0c;能够快速处理大量并 发连接&#xff0c;有效提升网站的访问速度和性能 M : 代表…

DAY04:Vue.js 指令与事件处理深度解析之从基础到实战

1. 指令系统核心概念 1.1 插值表达式与基础指令 Vue.js 的指令系统是其响应式编程模型的核心&#xff0c;我们首先从最基础的插值表达式开始&#xff1a; <div id"app"><!-- 基础文本插值 --><p>{{ message }}</p><!-- JavaScript 表达…

12配置Hadoop集群-集群配置

&#xff08;一&#xff09;Hadoop的组成 对普通用户来说&#xff0c; Hadoop就是一个东西&#xff0c;一个整体&#xff0c;它能给我们提供无限的磁盘用来保存文件&#xff0c;可以使用提供强大的计算能力。 在Hadoop3.X中&#xff0c;hadoop一共有三个组成部…

Kubernetes生产实战(四):kubelet日志快速定位指南

kubelet作为Kubernetes节点的核心管家&#xff0c;其日志是排查节点问题的金钥匙。本文将分享生产环境中查看和分析kubelet日志的完整方案&#xff0c;助你快速定位节点级故障。 一、基础操作&#xff1a;快速查看日志 1. systemd服务日志&#xff08;推荐首选&#xff09; …

麦科信获评CIAS2025金翎奖【半导体制造与封测领域优质供应商】

在苏州举办的2025CIAS动力能源与半导体创新发展大会上&#xff0c;深圳麦科信科技有限公司凭借在测试测量领域的技术积累&#xff0c;入选半导体制造与封测领域优质供应商榜单。本届大会以"新能源芯时代"为主题&#xff0c;汇集了来自功率半导体、第三代材料应用等领…

Python实例题:pygame开发打飞机游戏

目录 Python实例题 题目 pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本 代码解释 初始化部分&#xff1a; 游戏主循环&#xff1a; 退出部分&#xff1a; 运行思路 注意事项 Python实例题 题目 pygame开发打飞机游戏 pygame-aircraft-game使用 Pygame 开发…

Gin 框架入门

Gin 框架入门 一、响应数据 JSON 响应 在 Web 开发中&#xff0c;JSON 是一种常用的数据交换格式。Gin 提供了简便的方法来响应 JSON 数据。 package mainimport ("github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/json", func(c *…

Flink实时数仓数据突变时,如何快速排查原因

在大数据时代,数据的价值已经被无数企业和组织深刻认识到,而实时数仓作为数据处理和分析的重要基础设施,正在逐渐成为推动业务增长和决策优化的核心引擎。想象一下,电商平台在双十一大促期间需要实时监控订单量、用户行为,甚至库存变化,以便及时调整营销策略和物流调度;…

视频人像抠图技术选型--截止2025年4月

前言&#xff1a;我是一名算法工程师&#xff0c;经常需要对某个AI功能做技术调研和输出技术选型报告&#xff0c;在过去多年的工作当中&#xff0c;积累了很多内容&#xff0c;我会陆陆续续将这些内容整理出来分享给大家&#xff0c;希望大家喜欢&#xff0c;感谢您的阅读&…

docker compose ps 命令

docker compose ps 命令用于列出与 Docker Compose 项目相关的容器及其状态。 docker compose ps 能显示当前项目中所有服务容器的运行状态、端口映射等信息。 语法 docker compose ps [OPTIONS] [SERVICE…] SERVICE&#xff08;可选&#xff09;&#xff1a;指定要查看状态…

C语言 字符函数和字符串函数(1)

目录 1.字符分类函数 2.字符转换函数 3.strlen的使用和模拟实现 4.strcpy的使用和模拟实现 在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了方便操作字符和字符串&#xff0c;C语言标准库中提 供了一系列库函数&#xff0c;接下来我们就学习一下这…

MySQL 中如何进行 SQL 调优?

在MySQL中进行SQL调优是一个系统性工程&#xff0c;需结合索引优化、查询改写、性能分析工具、数据库设计及硬件配置等多方面策略。以下是具体优化方法及案例说明&#xff1a; 一、索引优化&#xff1a;精准提速的关键 索引类型选择 普通索引&#xff1a;加速频繁查询的列&…

OpenCV图像金字塔详解:原理、实现与应用

一、什么是图像金字塔&#xff1f; 图像金字塔是图像处理中一种重要的多尺度表示方法&#xff0c;它通过对图像进行重复的平滑和降采样&#xff08;或上采样&#xff09;操作&#xff0c;生成一系列分辨率逐渐降低&#xff08;或升高&#xff09;的图像集合。这种结构形似金字…

收集飞花令碎片——C语言分支与循环语句(上)

前言 Hello,各位码友&#xff0c;本章将会给大家带来C语言的分支与循环整章串讲&#xff0c;这一张的内容分为基础知识和程序练习两个部分 希望通过这一章能够带大家更好地去掌握C语言的分支与循环语句 大家一起努力吧 C语言分支与循环语句&#xff08;基础知识&#xff09; C…

嵌入式硬件篇---TOF|PID

文章目录 前言1. 硬件准备主控芯片ToF模块1.VL53L0X2.TFmini 执行机构&#xff1a;电机舵机其他 2. 硬件连接(1) VL53L0X&#xff08;IC接口&#xff09;(2) TFmini&#xff08;串口通信&#xff09; 3. ToF模块初始化与数据读取(1) VL53L0X&#xff08;基于HAL库&#xff09;(…

PCB设计实践(十二)PCB设计电容选型:功能、材质、规则

在PCB设计中&#xff0c;电容作为基础元件承担着滤波、储能、去耦、耦合等核心功能。其分类与使用规则直接影响电路稳定性、抗干扰能力和信号完整性。本文从工程实践角度系统梳理PCB设计中电容的五大分类、选型规范及布局布线规则&#xff0c;帮助设计者构建科学的电容应用体系…