Neo4j图数据库的使用笔记

这篇具有很好参考价值的文章主要介绍了Neo4j图数据库的使用笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Neo4j图数据库的使用笔记

win系统安装Neo4j图数据库

安装准备:

  1. neo4j-3.4.0版本的zip包

  2. 找个目录解压安装zip包

  3. 启动neo4j

下载neo4j-3.4.0版本的zip包

可以去neo4j官网下载,也可以去微云数聚官网下载。

微云数聚是neo4j在国内的代理商。

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

解压到F:\neo4j\neo4j-chs-community-3.4.0-windows

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

控制台方式启动neo4j

进入bin目录后,在cmd执行 neo4j.bat  console 即可启动neo4j

启动成功后,会暴雷2个端口
7687是java 客户端连接端口
7474是neo4j自带的web管理端口

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

通过7474端口访问neo4j提供的web管理工具

第一次登录时,要输入账户密码,默认的账户是neo4j,密码也是neo4j

登录后,可以再修改密码。

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记


neo4j数据库的概念和特点


neo4j在社交网络分析、推荐系统、知识图谱、网络安全分析等领域被广泛使用。它提供了丰富的功能和工具来管理和操作图数据,并且容易集成到Java和其他编程语言中

neo4j的一些概念特点如下

图数据库

neo4j使用图数据模型来存储数据。图由节点和关系组成,节点用于表示实体,关系用于表示实体之间的关联。

节点Node

节点是图中的实体,可以包含属性来描述实体的特征。
每个节点都有一个唯一的标识符ID,用于在图中识别和访问

关系Relationship

关系用于表示节点之间的连接或关联。
关系可以具有方向,并且可以包含属性。
关系连接两个节点,并且可以用标签来描述关系的类型

属性Property

节点和关系都可以包含属性,属性是键值对形式的的数据。
属性可以用于存储节点的特征信息或关系的属性

Cypher查询语言

Neo4j使用Cypher查询语言来进行查询和操作。
Cypher使用类似SQL的语法,但是针对图数据库进行了优化和扩展

ACID事务

Neo4j支持ACID(原子性、一致性、隔离箱、持久性)事务,
可以确保数据库的数据一致性和可靠性

高性能和可扩展性

neo4j以图的方式存储数据,这使得在遍历 和  查询图数据时非常高效。
同时Neo4j提供了水平和垂直的可扩展性,可以处理大规模的数据集和高并发访问。

neo4j清库方法

清空所有数据

需要在web控制台里执行以下cql语句

match(n) optional match(n)-[r]-() delete n,r

按 节点标签 删除数据

match(n:组织) optional match(n)-[r]-() delete n,r

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记


neo4j索引的添加/查看/删除

neo4j也是可以设置索引的,索引可以加快neo4j的查询速度

neo4j添加索引

-- 对节点的uuid属性加索引
create index on :人员(uuid);
create index on :事件(uuid);
create index on :组织(uuid);

查看neo4j数据库全部索引

:schema

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

删除Node上已存在的索引

drop index on :人员(uuid);
drop index on :事件(uuid);

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记


neo4j数据库的备份和恢复

win版本neo4j备份

 neo4j-admin.bat dump --database=graph.db --to=F:/bak/qbfx.dump

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记

win版neo4j恢复 (恢复之前要先删除graph.db目录)

 neo4j-admin.bat load --from=F:/bak/qbfx.dump  --database=graph.db

Neo4j图数据库的使用笔记,neo4j,neo4j,数据库,笔记


linux版本neo4j备份

./bin/neo4j stop

./bin/neo4j-admin dump --database=graph.db --to=/data/backup/qbfx.dump --force

./bin/neo4j start

linux版本neo4j恢复数据

./bin/neo4j stop

./bin/neo4j-admin load --from=/data/backup/qbfx.dump --database=graph.db --force

./bin/neo4j start

常用的Cypher语句

新建一个Node

新建1个 Node,节点标签是 人员,节点属性是 {name:‘ryt’,age:21}

merge(:人员 {name:'ryt',age:21});            

新建一个关联

建立关联 至少要存在2个节点,这里先再建一个节点。

merge(:人员 {name:'myl',age:20});

然后对刚刚建的2个节点,新增关联关系。

找到名字为ryt和myl的2个人,

设置关联关系是 配偶,

关系属性是{name:‘夫妻’,ts:‘20230706’}

match(a),(b) where a.name='ryt' and b.name='myl' merge (a)-[r:配偶 {name:'夫妻',ts:'20230706'}]->(b);

查询所有的xx关系路径

这里查询所有的 配偶 关联关系路径,LIMIT 25意思是限制返回25条

MATCH p=()-[r:`配偶`]->() RETURN p LIMIT 25;

也可以进一步限定节点类型查询关系路径,如

match path=(n:人员)-[r:`共有常住地`]-(b:人员) where n.uuid='4da921fa477248aaa5593da51b3cc002' return path;

查询指定深度的关系路径

深度:2个节点之间间隔的层高

如a–>d–>b , 则a与b直接存在关系路径,且深度为2

如a—>e—>f---->b ,则a与b直接存在关系路径,且深度为3

查询某节点 到其他任意节点的深度为3的路径

match path=(n:人员)-[*..3]-(b) 
where n.uid='rr23r23r' and b.uid in ['fretewr','erfw','erf','wer'] 
return path;

查询a节点到b节点的深度为3的路径

match path=(a:人员)-[*..3]-(b:人员) 
where a.uid='rr23r23r' and b.uid='kertyt' 
return path;

查询当前节点到指定深度的相关节点有哪些

例:查询当前人员节点 指向 其他(人员或组织)节点 之间的深度为3的 节点有哪些

match(n:人员)-[*..3]-(m) 
where n.uid='rr23r23r' and (m:人员 or m:组织) 
return m;

修改某个Node节点的属性

例:修改节点的名称

match (n) where n.uid = 'rr23r23r' set n.name = 'lily';

判断是否存在某个Node节点

判断节点是否存在,需要用到count函数。

下面这个例子,返回的是一个布尔值FALSE或TRUE文章来源地址https://www.toymoban.com/news/detail-600631.html

match (n:人员 {uid:'rr23r23r',name:'lily'}) with count(n) > 0 as node_exist return node_exist;

到了这里,关于Neo4j图数据库的使用笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 图数据库:neo4j学习笔记

    图数据库:neo4j学习笔记

    参考 Neo4j - 环境设置_w3cschool 【知识图谱】Neo4j入门教程 - 知乎 neo4j 教程_w3cschool 图数据库Neo4j实战(全网最详细教程)_neo4j使用教程_星川皆无恙的博客-CSDN博客 代码片段_知识图谱Neo4j Cypher查询语言详解  参考 NEO4J指定JDK路径_elasticsearch_K歌、之王-华为云开发者联盟 Window下N

    2024年02月16日
    浏览(31)
  • 图数据库_Neo4j学习cypher语言_使用CQL命令002_删除节点_删除属性_结果排序Order By---Neo4j图数据库工作笔记0006

    图数据库_Neo4j学习cypher语言_使用CQL命令002_删除节点_删除属性_结果排序Order By---Neo4j图数据库工作笔记0006

    然后我们再来看如何删除节点   可以看到首先   我们这里   比如我要删除张三 可以看到 match (n:student) where n.name = \\\"张三\\\" delete n 这样就是删除了student集合中,name是张三的节点   然后我们再来看 如何来删除关系 match (n:student)-[r]-(m:student) where n.name=\\\"小

    2024年02月12日
    浏览(17)
  • 图数据库_Neo4j学习cypher语言_使用CQL_构建明星关系图谱_导入明星数据_导入明星关系数据_创建明星关系---Neo4j图数据库工作笔记0009

    图数据库_Neo4j学习cypher语言_使用CQL_构建明星关系图谱_导入明星数据_导入明星关系数据_创建明星关系---Neo4j图数据库工作笔记0009

    首先找到明星数据   可以看到有一个sheet1,是,记录了所有的关系的数据   然后比如我们搜索一个撒贝宁,可以看到撒贝宁的数据   然后这个是构建的CQL语句   首先我们先去启动服务 neo4j console     然后我们再来看一下以前导入的,可以看到导入很简单, 就是上面有CQL 看一下节

    2024年02月12日
    浏览(19)
  • 图数据库_Neo4j中文版_Centos7.9安装Neo4j社区版3.5.9_基于jdk1.8---Neo4j图数据库工作笔记0012

    图数据库_Neo4j中文版_Centos7.9安装Neo4j社区版3.5.9_基于jdk1.8---Neo4j图数据库工作笔记0012

        由于我们在国内使用啊,具体还是要用中文版滴,找了好久这个neo4j,原来还是有中文版的, 中文版下载地址在这里: 所有版本都在这里了,需要哪个自己去下载就可以了,要注意下载以后,参考:  在这个位置下载,主要是找到对应中文版的安装包,花了写时间啊 然后我们看一下安装

    2024年02月12日
    浏览(10)
  • Neo4j数据库使用相关

    Neo4j数据库使用相关

    做知识图谱相关项目,初步使用了neo4j数据库,简单记录一下使用过程和踩坑备忘~ 操作系统Win10+Neo4j社区版(community,版本4.4.30) 目录 一、安装 1.1 安装Java和Neo4j 1.2 环境变量设置 二、 Neo4j使用 2.1 安装服务 2.2 数据库使用 2.3 数据库备份  Java下载链接:Java Downloads | Oracle

    2024年04月16日
    浏览(11)
  • 图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    图形数据库是专门用于存储图形数据的数据库,它使用图形模型来存储数据,并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库,本篇博客介绍如何在SpringBoot中使用Neo4j图数据库,如何进行简单的增删改查,以及如何进行复杂

    2024年02月06日
    浏览(21)
  • 图数据库_Neo4j_Centos7.9安装Neo4j社区版3.5.4_基于jdk1.8---Neo4j图数据库工作笔记0011

    图数据库_Neo4j_Centos7.9安装Neo4j社区版3.5.4_基于jdk1.8---Neo4j图数据库工作笔记0011

    首先上传安装包,到opt/soft目录   然后看一下jdk安装的是什么版本的,因为在neo4j 4以后就必须要用jdk11 以上的版本,我这里还用着jdk1.8 所以 我这里用3.5.4的版本 关于下载地址: 然后再去解压到/opt/module目录下 然后再去: 配置一下环境变量   然后再去编辑一下

    2024年02月12日
    浏览(13)
  • 【大数据】Neo4j 图数据库使用详解

    目录 一、图数据库介绍 1.1 什么是图数据库 1.2 为什么需要图数据库 1.3 图数据库应用领域

    2024年02月08日
    浏览(15)
  • Neo4j:入门基础(二)~ 数据导入Neo4J
                    
            
RDF导入neo4j数据库

    Neo4j:入门基础(二)~ 数据导入Neo4J RDF导入neo4j数据库

    neo4j导入数据的方式有以下几种: Cypher create 语句,为每一条数据写一个create Cypher load csv 语句,将数据转成CSV格式,通过LOAD CSV读取数据。 neo4j-admin import导入 官方提供的Java API - BatchInserter 大牛编写的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 针对实际业务场景,定制

    2023年04月24日
    浏览(21)
  • Neo4j数据库介绍及简单使用

    Neo4j数据库介绍及简单使用

    图数据库是一种专门设计用于存储和管理图形数据的数据库类型。在图数据库中,数据以图的形式表示,其中节点表示实体,边表示实体之间的关系。这种表示方式非常适合处理具有复杂关系的数据,如社交网络、推荐系统、网络拓扑、生物信息学等领域的数据。 图数据库通

    2024年02月04日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包