Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向

Neo4j安装教程🚀

       目前在学习知识图谱的相关内容,在图数据库中最有名的就是Neo4j,为了降低入门难度,不被网上很多华丽呼哨的Cypher命令吓退,故分享出该文档,为自己手动总结,包括安装环境,增删改查,和使用python操作等,纯干货,36张图,多图少字是咱信条。


文章目录

  • Neo4j安装教程🚀
    • 1. 安装JAVA环境(前置)
    • 2. 安装Neo4j
    • 3. Neo4j数据库的基础操作
      • 3.1 增加节点
      • 3.2 增加关系
      • 3.3 删除节点
      • 3.4 删除关系
      • 3.5 增加或修改节点的属性
      • 3.6 删除节点的属性信息
      • 3.7 增加或修改关系的属性
      • 3.8 删除关系的属性
      • 3.9 查询节点
      • 3.10 查询关系
      • 3.11 查询三元组
    • 4.Python 链接 Neo4j
    • 几个常用命令
  • 结束

1. 安装JAVA环境(前置)

官方网址:JDK安装
在这里插入图片描述

下载之后可以记一下安装路径,可能以后会用到

在这里插入图片描述

在命令提示窗口,输入java -version,查看一下安装之后环境变量是否安装成功,否则需要手动设置环境变量
在这里插入图片描述

2. 安装Neo4j

在该网址下,下划寻找安装,安装社区版

官方网址:Neo4j
在这里插入图片描述

解压到本地,其包含的文件如下。
在这里插入图片描述

将其bin文件路径配置到环境变量下,本文示例路径如下。

C:\Users\Administrator\Desktop\neo4j-community-5.17.0-windows\neo4j-community-5.17.0\bin

在这里插入图片描述

之后在命令控制台输入,如果打印出数据库信息则代表安装成功

neo4j.bat console

在这里插入图片描述

然后在浏览器输入,进入如下页面

localhost:7474

在这里插入图片描述

第一次登陆的话,初始账号密码都是neo4j,第2行的Database 空着就行

然后会进入提示修改页码的界面

在这里插入图片描述

修改成功之后跳转到如下界面。
在这里插入图片描述

3. Neo4j数据库的基础操作

3.1 增加节点

在图书库中增主要分位两部分,增加节点和增加关系,首先增加节点,下面给出一个增加节点的基础示例person是这个节点的变量名称,Person为该点所属的类别,是可选的,{name: 'John', age:30}是属性,可以理解成pyhon中的一个键值对的形式,这个没有长度限制可以一直延申。

CREATE (person:Person {name: 'John', age:30})

在顶部的命令提示栏部分输入,上述代码,点右侧的蓝色小三角运行,或者ctrl+enter
在这里插入图片描述

运行结果如下,这里没有爆红就是没报错,然后接下来去查看一下生成的节点。

在这里插入图片描述
点击左侧上方的菜单栏图标。

在这里插入图片描述

然后点这个Person类别标签

在这里插入图片描述
就可以看到如下的一个节点

在这里插入图片描述

鼠标放到节点上,即可在右侧看到该节点对应的属性

在这里插入图片描述

3.2 增加关系

然后是增加一个关系,增加关系之前需要再则更加一个节点

CREATE (n:Person {name: 'Hao', age:20})

在这里插入图片描述

对已经创建的两个节点之间,建立一个联系。
首先查找这两个节点,首先查找一个类别为Person,name为John的节点,命名为a.
然后查找一个类别为Person,name为Hao的节点命名为b
最后用(a)-[:FRIENDS_WITH]->(b)语法建立关系FRIENDS_WITH为关系。

MATCH (a:Person {name: 'John'}), (b:Person {name: 'Hao'})
CREATE (a)-[:FRIENDS_WITH]->(b)

在这里插入图片描述

新创建两个节点同时在两个节点之间建立一个关联,并给关系附上一个属性。这也是一个标准的三元组方式

CREATE (c:Person {name: 'Ying', age:20})-[:TEACHER_WITH{subject:'math'}]->(d:Person {name: 'Chen', age:20})

在这里插入图片描述

3.3 删除节点

首先先创建一个独立节点。

CREATE (n:Person{name:'me'})

在这里插入图片描述

然后是图数据库删除一个节点的操作步骤,查找并删除他,运行删除命令之后节点数量变为4.试图中也发现该节点被删除,需要补充的是图数据库不允许直接删除有关系的节点,如果执行了会报错

MATCH (n:Person{name:"ME"}) DELETE n

在这里插入图片描述

在这里插入图片描述

3.4 删除关系

删除关系不是删除节点,同理也要先搜索这段关系,然后给他一个变量名,然后删除,执行了之后删除了一个关系,关系变为1

MATCH (c:Person {name: 'Ying', age:20})-[r:TEACHER_WITH{subject:'math'}]->(d:Person {name: 'Chen', age:20})
DELETE r                                                                                      

在这里插入图片描述

在这里插入图片描述

3.5 增加或修改节点的属性

例子为修改name属性为ChenPerson节点的age属性从20改到25,先搜索该节点,然后修改它的属性,如果没有该属性则会创建一个新属性然后赋值

MATCH (p:Person {name: 'Chen'})
SET p.age = 25

修改前属性
在这里插入图片描述

运行代码
在这里插入图片描述

修改后的结果
在这里插入图片描述

3.6 删除节点的属性信息

删除的命令为REMOVE,下文中删除Chen的年龄属性。
运行命令效果。

MATCH (p:Person {name: 'Chen'})
REMOVE p.age

在这里插入图片描述

查看节点的属性信息。

在这里插入图片描述

3.7 增加或修改关系的属性

这里我们首先查找(匹配)John和Hao的朋友关系,然后给这段朋友关系添加一个属性。

MATCH (n:Person {name:'John'})-[r:FRIENDS_WITH]->(m:Person {name:'Hao'})
SET r.years = 10
    

在这里插入图片描述

查看该关系的属性信息。

在这里插入图片描述

3.8 删除关系的属性

MATCH (n:Person {name:'John'})-[r:FRIENDS_WITH]->(m:Person {name:'Hao'})
REMOVE r.years

在这里插入图片描述

在这里插入图片描述

3.9 查询节点

查询一个节点

MATCH (n:Person{name:"Chen"}) RETURN n

在这里插入图片描述

3.10 查询关系

如果只查询一个关系,则不会返回视图,只会返回属性表格。

MATCH (n:Person {name:'John'})-[r:FRIENDS_WITH]->(m:Person {name:'Hao'})
RETURN r

在这里插入图片描述

3.11 查询三元组

MATCH (n:Person {name:'John'})-[r:FRIENDS_WITH]->(m:Person {name:'Hao'})
RETURN n,r,m

在这里插入图片描述

查询关系时候只有同时查询关系的两个节点,表示关系的线才会在视图部分显示

在查询的时候也可以用过WHERE等命令进一步限定筛选条件

4.Python 链接 Neo4j

安装py2neo库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple py2neo

链接代码

from py2neo import Graph

# 连接到Neo4j数据库
graph = Graph("bolt:\\localhost:7687", auth=("neo4j", "passworld"))

propertys = 'Person'
# 增加一个节点
order = f"CREATE (n:{propertys} {{name: 'Father', age:30}})"
# 删除一个节点
# order = "MATCH (n:Person{name:'Father'}) DELETE n"
# 增加一个关系
# order = "MATCH (a:Person {name: 'John'}), (b:Person {name: 'Hao'}),CREATE (a)-[:FRIENDS_WITH]->(b)"
graph.run(order)

# 返回所有节点
nodes = graph.run("MATCH (n) RETURN n")


# 遍历和打印结果
for node in nodes:
    print(node)

几个常用命令

删库跑路,慎用

MATCH (r)
DETACH DELETE r

查询数量

MATCH (n:`Person`)
RETURN count(n) AS Numbers

查找一个节点的所有的关系

MATCH (n)-[r]->(m)
WHERE n.name = "name"
RETURN n, r, m

结束

这是一个简单的入门部分,包括最基础的增删改查工作,反正我网上是没看到觉得比较舒服的,花里胡哨的比较多,写出来分享给大家,如果你看到最后了,那你一定是一个热爱学习的亲,如果有什么不完善的地方,非常欢迎留言交流。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PRewrite: Prompt Rewriting with Reinforcement Learning

PRewrite: Prompt Rewriting with Reinforcement Learning 基本信息 2024-01谷歌团队提交到arXiv 博客贡献人 徐宁 作者 Weize Kong,Spurthi Amba Hombaiah,Mingyang Zhang 摘要 工程化的启发式编写对于LLM(大型语言模型)应…

LeNet5实战——衣服分类

搭建模型训练代码(数据处理、模型训练、性能指标)——> 产生权重w ——>模型结构c、w测试 配置环境 Pycharm刚配置的环境找不到了-CSDN博客 model.py 导入库 import torch from torch import nn from torchsummary import summary 模型搭…

三步骤找到用户真正痛点 提高需求分析质量

用户痛点对于需求分析具有至关重要的作用,这直接关系着需求分析结果是否真正满足用户需求,关系着最终研发的产品是否能够满足市场的需求,是否能够在竞争激烈的市场中脱颖而出。因此找到用户真正痛点至关重要。 1、什么是痛点 痛点是消费者心理…

Unity2013.1.19_DOTS_Burst compiler

Unity2013.1.19_DOTS_Burst compiler DOTS是一种新产品,现在尚在起步阶段。由于它处于持续发展中,随着我们努力使其达到最佳状态,您将看到API会不断演变和日趋成熟。 DOTS包含以下元素: 实体组件系统(ECS) - 提供使用面向数据的…

Linux下下载安装JDK配置Java环境变量

Linux下下载安装JDK配置Java环境变量 1. 下载JDK 下载链接:(https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) 2. 上传至服务器并解压 可通过shell工具进行上传,我这里是上传安装在/opt目录 解压jdk-17.0.10_linux-x64_b…

【DevOps云实践】不同Azure Function的类型

【DevOps云实践】不同Azure Function的类型 Azure函数是由Microsoft Azure提供的无服务器计算服务,允许开发人员构建和部署应用程序而不必担心底层基础设施。使用Azure函数,您可以根据不同的触发器执行代码,并支持多种类型的函数以满足不同的用例。在本博客文章中,我们将探…

html实体字符,已拿offer入职

面试知识点 主要内容包括html,css,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,设计模式,项目等等。 html 1.浏览器页面有哪三层构成&#xff0c…

CSS的行内样式与内联样式,web前端服务端开发

面试题: Html 1,html语义化 2,meta viewport相关 3,canvas 相关 CSS 1,盒模 戳这里领取完整开源项目:【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 型 1.1,ie…

主备DNS服务器搭建并验证

目录 1. 配置静态网络 2. 配置主备DNS 2.1 DNS备服务器(第二个虚拟机) 2.2 两个虚拟机操作 2.3 备用服务器(第二个虚拟机)执行 2.4 两个虚拟机都添加DNS: 3. 验证 3.1 主DNS服务验证: 3.2 备用DNS服务器验证&am…

005-CSS-兼容适配

兼容&适配 简介媒体查询px、rpx、em、rem、vw、vh、vm 像素单位概念IOS 对 fixed 布局兼容问题刘海屏、全面屏兼容适配 简介 前端兼容问题主要包含:不同浏览器兼容、Web端不同分辨率适配、H5移动端适配: 不同浏览器兼容主要针对的是 IE 浏览器&…

阿里云服务器2核4G多少钱?支持多少在线?并发数性能测试

阿里云2核4G服务器多少钱一年?2核4G配置1个月多少钱?2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

为什么被蜜蜂蛰了会肿得像馒头

有的人却只是一点点小鼓包。 病情分析:蜜蜂体内存在一种有毒物质,其主要成分是蚁酸,这种成分进入人体后,会和血液发生反应,导致皮肤表现出红肿和瘙痒的症状。一些人群还会对蜜蜂表现出过敏反应,此类人群在…

Linux Ubuntu 部署SVN

最近需要在ubuntu server上部署一个svn,记录 不需要特定版本 如果不需要特定版本,这样安装就是最简单的 sudo apt update然后开始安装 sudo apt install subversion等到安装完成之后执行查看版本命令,如果正常输出那就没问题了 svnadmin …

环境配置、如何安装OpenHarmony HAR

OpenHarmony HAR OpenHarmony js/ts三方库使用的是OpenHarmony静态共享包,即HAR(Harmony Archive),可以包含js/ts代码、c库、资源和配置文件。通过HAR,可以实现多个模块或者多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP&#xff0c…

07-prometheus的自定义监控-pushgateway工具组件

一、概述 pushgateway用于自定义监控节点、节点中服务的工具,用户可以通过自定义的命令获取数据,并将数据推送给pushgateway中; prometheus服务,从pushgateway中获取监控数据; 二、部署pushgateway 我们可以“随便”找…

十四 超级数据查看器 讲解稿 背景和颜色

十四 超级数据查看器 讲解稿 背景和颜色 点击打开新页面播放视频教程 点击访问应用宝下载 讲解稿全文: 大家好,我们讲解一下 超级数据查看器 背景和颜色设置。 首先,我们打开超级数据查看器。 这节课设置的是 列表和详情界面的背景 和顶栏颜色。 …

小程序学习

一、第一天 1、小程序体验 2、注册账号 小程序 (qq.com) 3、开发工具下载 下载 / 稳定版更新日志 (qq.com) 4、目录结构 "navigationBarBackgroundColor": "#00b26a" 配置头部背景色 4、wxml模板介绍 5、wxss 6、js文件 7、宿主环境 1、通信主体 2…

腾轩科技传媒讲解企业怎样做整合营销推广才有效果

当今信息爆炸的时代,企业如何才能从浩渺的市场中脱颖而出,触达目标消费者,实现品牌与销售的双增长?腾轩科技传媒讲解的整合营销推广正是解决这一问题的关键所在。它不仅仅是一种营销策略,更是一种全新的思维方式&#…

猫狗分类图像识别

根据深度学习的基本框架,我们要做以下工作: 1,构建神经网络。 2,预处理数据。 3,用训练集训练权重。 4,用测试集进行测试。 首先我们从创建神经网络开始: 先上代码: import torc…

【C++进阶】哈希(万字详解)—— 学习篇(上)

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…