最详细的Neo4J解读(附安装教程)

article/2025/9/15 17:52:53

文章目录

  • 一、Neo4j简介
  • 二、Neo4j - 特点和优势
    • 1.Neo4j的特点
    • 2.Neo4j的优点
    • 3.Neo4j的缺点或限制
  • 三、Neo4j - 数据模型
  • 四、Neo4j安装及配置
    • 1.安装Java JDK
    • 2.下载安装Neo4j
    • 3.创建系统环境变量
    • 4.Neo4j的启动和停止
    • 5.切换数据库
  • 五、Neo4j的CQL操作

一、Neo4j简介

Neo4j是一种流行的基于Java语言编写的图形数据库。图是一组节点和连接这些节点的关系。图形数据库也被称为图形数据库管理系统GDBMS, 其他的图形数据库是Oracle NoSQL数据库OrientDBHypherGraphDBGraphBaseInfiniteGraphAllegroGraph

二、Neo4j - 特点和优势

1.Neo4j的特点

 - SQL就像简单的查询语言Neo4j CQL- 遵循属性图数据模型- 通过使用Apache Lucence支持索引- 支持UNIQUE约束- 包含一个用于执行CQL命令的UI:Neo4j数据浏览器- 支持完整的ACID(原子性,一致性,隔离性和持久性)规则- 采用原生图形库与本地GPE(图形处理引擎)- 支持查询的数据导出到JSON和XLS格式- 提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问- 提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本- 支持两种Java API:Cypher API和Native Java API来开发Java应用程序

2.Neo4j的优点

 - 很容易表示连接的数据- 检索/遍历/导航更多的连接数据是非常容易和快速的- 非常容易地表示半结构化数据- Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习- 使用简单而强大的数据模型- 不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

3.Neo4j的缺点或限制

 - AS的Neo4j 2.1.3最新版本,具有支持节点数,关系和属性的限制- 不支持Sharding

三、Neo4j - 数据模型

Neo4j图数据库遵循属性图模型来存储和管理其数据。

属性图模型规则

 - 表示节点,关系和属性中的数据- 节点和关系都包含属性- 关系连接节点- 属性是键值对- 节点用圆圈表示,关系用方向键表示- 关系具有方向:单向和双向- 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
  • 在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。
  • 在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。
  • Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RDBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。
  • Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。
  • 图形数据库数据模型的主要构建块是:
 - 节点- 关系- 属性
  • 简单的属性图的例子
    在这里插入图片描述
    这里我们使用圆圈表示节点。 使用箭头的关系。 关系是有方向性的。 我们可以用Properties(键值对)来表示Node的数据。 在这个例子中,我们在Node的Circle中表示了每个Node的Id属性。

四、Neo4j安装及配置

本人的环境是win10,因此下文介绍Neo4j在win10上的安装。

1.安装Java JDK

neo4j是用Java语言编写的图形数据库,运行时需要启动JVM进程,因此需安装JAVA运行环境,推荐使用JDK-11版本。(附:JAVA环境变量配置)

2.下载安装Neo4j

从官网下载最新版 Neo4j 社区版(Community)
下载好后解压到自己想放的盘里,例如:D:\Program Files (x86)\neo4j-community-3.4.0
Neo4j应用程序有如下主要的目录结构:

 - bin目录:用于存储Neo4j的可执行程序;- conf目录:用于控制Neo4j启动的配置文件;- data目录:用于存储核心数据库文件;- plugins目录:用于存储Neo4j的插件;

3.创建系统环境变量

在计算机-属性中创建系统环境变量NEO4J_HOME,并把主目录(D:\Program Files (x86)\neo4j-community-3.4.0)设置为变量值。再在path中添加变量%NEO4J_HOME%\bin

NEO4J_HOME=D:\Program Files (x86)\neo4j-community-3.4.0

最快方法:直接在path目录下添加变量 D:\Program Files (x86)\neo4j-community-3.4.0\bin

4.Neo4j的启动和停止

法一:通过控制台启动Neo4j程序

WIN+R 键运行 cmd 进入命令提示符 ,接着输入
> neo4j.bat console
> (注意:使用此方法运行后的窗口不要关闭,否则服务器端口也会自动关闭)

法二:把Neo4j安装为服务
安装和卸载服务:

neo4j install-service    #安装服务
neo4j uninstall-service  #卸载服务

启动服务,停止服务,重启服务和查询服务的状态:

neo4j start		#启动服务
neo4j stop		#停止服务
neo4j restart	#重启服务
neo4j status	#查询服务状态

在浏览器中打开 http://localhost:7474 默认跳转到 http://localhost:7474/browser,出现Neo4j界面,则安装成功。
初始用户名密码均为 neo4j,首次登录会直接进入修改密码界面,按提示设置新密码即可。

如果 neo4j stop不能停止 neo4j, kill -s 9 强制杀掉进程即可。

5.切换数据库

每次启动neo4j,它只能读取一个数据库。默认情况下的Graph.db数据库。
法一:修改配置文件
使用Neo3.x创建新数据库而不删除现有数据库,所以只需在$NEO4J_HOME\conf的目录编辑neo4j.conf。搜寻dbms.active_database=,其默认值应为 graph.db。用其他名称替换它,然后再次启动neo4j。现在,将在该目录名下创建一个新数据库。若要切换回以前的 db,请重复这些步骤,只需在配置文件中将新值替换为 graph.db 即可。

注意:如果在neo4j启动的时候修改了配置文件,则需要重新启动一次,浏览器页面才会更新。

法二:建立软连接(linux环境)
首次修改:

cd $NEO4j_HOME/data/databases/		#请将$NEO4j_HOME改为你的neo4j的安装路径
mv graph.db graph1.db		# 保存原来数据库
ln -s graph2.db graph.db	#建立指向新数据库的软件接
cd $NEO4j_HOME/bin
./neo4j restart				#重启neo4j

再次修改(访问 graph3):

ln -s graph3.db graph.db	#建立指向新数据库的软件接
cd $NEO4j_HOME/bin
./neo4j restart				#重启neo4j

五、Neo4j的CQL操作

参考网址:
W3Cschool-neo4j教程
Neo4j官方教程


http://chatgpt.dhexx.cn/article/BFmGusss.shtml

相关文章

图数据库Neo4j实战(全网最详细教程)

1.图数据库Neo4j介绍 1.1 什么是图数据库(graph database) 随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数…

neo4j入门

目录 一、安装 二、CQL使用 三、Springboot(2.4以上版本)整合neo4j 四、使用过程中的问题 1、自定义查询,cql无法接收变量 2、使用依赖去操作neo4j只有return才会执行 3、neo4j和mysql事务冲突 补充 一、安装 1、首先要配置jdk,默认电脑中有jdk…

Neo4j 安装、使用教程

文章目录 一、Neo4j 的安装与配置1、安装JDK2、安装Neo4j3、Neo4j环境变量配置4、启动服务器 二、Neo4j 使用教程 一、Neo4j 的安装与配置 1、安装JDK 由于Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。配置 JDK环…

neo4j新手教程

neo4j新手教程 本文通过一个实际的案例来一步一步使用Cypher来操作Neo4j。 这个案例的节点主要包括专业和课程两类,课程和课程之间有前置、并列等关系,专业和课程之间有包含等关系。 1、(可选)首先,我们删除数据库中…

微信开发者工具元素快速定位审查元素

一般浏览器里鼠标在元素上右键点击审查元素或检查元素即可快速打开开发者工具并定位到该元素,但在微信开发者工具中不支持, 解决方法 点击 elements左边的 小鼠标 图片,然后在主页面点击元素即可快速定位

代码审查规范(试用版)

目录 1、背景 2、目标 3、流程 4、指定代码审查规范 4.1、命名风格 4.2、常量定义 4.3、代码风格 4.4、注释风格 4.5、控制语句 5、执行代码审查规范 6、开展PR Bash活动 1、背景 2019年已成历史,2020年已经悄然到来。2019年,我们的研发团队经…

sonar代码审查

sonar代码审查 sonarqube简介七个方面检测代码质量sonarqube结构组件集成方式 sonar部署部署须知sonar搭建步骤1.查看本地环境2.查看java环境3.安装mysql4.安装及配置sonar5.启动sonar启动启动遇到的问题 sonar代码扫描一、使用sonar-scanner进行本地扫描二、使用Android studi…

代码审查

代码审查: 一种有效帮助提升代码质量的有效途径。 代码审查3W(what why when)常见的代码审查工具代码审查流程 1.代码审查3W(what why when): 代码审查:对计算机源代码系统化的审查,常用软件同行评审的方式进行,目…

java 代码审查_代码审查(Code Review)清单

代码审查可以帮助提高代码质量,避免由于代码习惯而造成的 bug。下面列出的这些要点因该可以作为大部分代码审查的指导,如果是 Java 应用的话,这些建议应该被视作最佳实践。 文档 1. Javadoc 应该在每一个类和方法中添加。 2. 如果是修复某个 bug,应该添加 bug ID。 3. 走捷…

静态代码审查

本篇介绍静态代码审查的意义以及如何在Android studio中集成它们。需要注意的是,这些工具不是万能的,虽然它们能高效且全面地执行代码检查工作,但它们并不具备人类的“逻辑思维”优势。也就是说,静态代码审查工具是无法确保程序逻…

代码审查的必要性和最佳实践

目录 代码审查的流程 代码审查的争议 加班要累死了,完成项目都来不及,还做什么代码审查? 代码审查太费时间,改来改去无非是一些格式、注释、命名之类不痛不痒的问题。 团队的习惯和流程就是不做代码审查,大家都是…

如何审查网页元素

如何审查网页元素 对于一个优秀的爬虫工程师而言,要善于发现网页元素的规律,并且能从中提炼出有效的信息。因此,在动手编写爬虫程序前,必须要对网页元素进行审查。本节将讲解如何使用“浏览器”审查网页元素。 浏览器都自带检查…

代码审查(文档整理)

常用的代码审查工具 git/SUBVERSIONGerritUpsource显示代码变更√√√使用源码仓库√√在线代码讨论√√异步审查支持√√使用协议GPLv2/Apache License 2.0Apache License 2.0付费license 代码审查 范根检查法 轻量级的审查流程 结对编程同步代码审查异步代码审查 代码审查需…

代码审查“查”什么?

让我们来谈谈代码审查(Code Review)。如果花几秒钟去搜索有关内容,你会发现许多论述代码审查好处的文章(例如,Jeff Atwood的这篇文章)。你还会发现许多介绍如何使用代码审查工具的文档,比如我们…

uniapp的uview2.0框架u--textarea组件无法换行,换行无效问题解决方案

问题描述 在使用uniapp的uview2.0框架u–textarea组件时,想要使u–textarea支持换行输入,但是默认不支持换行输入,各种百度,没有找到解决问题的方案,最后只有查看源码如下 但发现源码没有对属性有过多的处理&#xff…

微信小程序textarea问题总结

微信小程序textarea问题总结 1.textarea多行输入框。该组件是原生组件 2.参考文档中的原生组件说明https://developers.weixin.qq.com/miniprogram/dev/component/native-component.html 原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少&am…

JavaFX设置TextArea文本内容

本篇主要内容为设置TextArea的内容,涉及的知识面包括如何添加视图和控制层的关联,调用TextArea的方法设置文本内容,不仅实用于TextArea,还可以设置其它如Button,Label,TextField等组件的文本域或者其它属性…

原生div实现textarea

文章导航 为什么要用div实现textarea关键词实现效果源码示例 为什么要用div实现textarea div 实现 textarea 可以实现高度自适应 关键词 contenteditable: true|false 可以将元素内容区域调整为可编辑 实现效果 源码示例 &#x1f383; index.html <!DOCTYPE html>…

html textarea设置只读属性吗,HTML

HTML中的只读属性用于指定textarea元素为只读。如果文本区域为只读&#xff0c;则其内容无法更改&#xff0c;但可以复制并突出显示。这是一个布尔属性。 用法: Contents... 范例1&#xff1a;本示例使用只读属性在仅可读的输入textarea上写入内容。 HTML Textarea readonly A…