深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)

这篇具有很好参考价值的文章主要介绍了深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Neo4j是一个基于图形数据模型的NoSQL数据库管理系统。

一、neo4j介绍

Neo4j是一种图形数据库管理系统,它使用图形模型来存储和处理数据。它被广泛用于各种领域,包括社交网络、网络安全、生命科学、金融服务和知识管理。

  • Neo4j的图形模型由节点和边组成。节点代表实体或对象,边表示它们之间的关系。节点和边都可以拥有属性,这些属性可以是任何类型的数据。Neo4j的图形模型可以轻松地表示复杂的关系和连接,并且支持深度查询和数据可视化。
  • Neo4j提供了丰富的查询语言Cypher,它是一种用于查询图形数据的声明性语言。Cypher提供了一种易于使用的方式来查询和操作图形数据,它的语法类似于SQL。Cypher的查询可以返回节点、边、节点和边之间的关系、关系的属性等。
  • Neo4j还支持ACID事务,这使得它成为处理复杂事务的理想选择。此外,它还提供了许多高级功能,如索引、聚合、限制、排序、批量操作、过滤器等。这些功能使得Neo4j可以满足各种应用程序的需求。
  • Neo4j可以作为一个独立的数据库服务器运行,也可以作为一个嵌入式库集成到应用程序中。它支持多种编程语言和平台,包括Java、Python、.NET、Node.js和Ruby等。

总之,Neo4j是一种强大的图形数据库管理系统,它使用图形模型来存储和处理数据。它提供了丰富的查询语言、ACID事务和许多高级功能,是处理复杂数据的理想选择。

二、安装

2-1、JDK安装

下载链接:https://www.oracle.com/java/technologies/downloads/: 之后直接安装即可。
深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)

2-2、环境变量配置

  • 电脑->属性->高级系统设置->环境变量
  • 系统变量里,新建环境变量,命名为JAVA_HOME,变量值设置为刚才JAVA的安装路径
  • 编辑系统变量的path属性,新建-然后输入%JAVA_HOME%\bin,保存。
  • 打开命令提示符CMD(WIN+R,输入cmd),输入 java -version,若提示Java的版本信息,则证明环境变量配置成功。
  • 深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)

2-3、安装neo4j

下载链接:https://neo4j.com/download-center/#community: 下载之后直接解压即可,无需安装。
深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)

2-4、配置环境变量

  • 电脑->属性->高级系统设置->环境变量
  • 系统变量里,新建环境变量,命名为JNEO4J_HOME,变量值设置为刚才neo4j的安装路径
  • 编辑系统变量的path属性,新建-然后输入%NEO4J_HOME%\bin,保存。
  • 以管理员身份运行cmd。然后,在命令行处输入neo4j.bat console,出现如下界面说明安装成功。
    深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)
  • 在浏览器中输入界面中给出的网址http://localhost:7474/,显示界面后输入默认的用户名和密码neo4j。登录之后显示如下界面:
    深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)

三、Python连接Neo4J图数据库

安装:连接Neo4j图数据库需要使用py2neo库。Py2neo是一个Python库,提供了一个简单的接口来连接Neo4j图数据库,并使用Python代码执行各种操作。

  • 首先需要安装py2neo库,可以通过以下命令安装:pip install py2neo
  • 下面是一个示例代码,展示了如何使用Python连接Neo4J图数据库:
from py2neo import Graph, Node, Relationship, NodeMatcher

# 连接数据库
graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))

# 创建一个Person节点
person = Node("Person", name="Alice", age=30)

# 将节点添加到数据库
graph.create(person)

# 创建一个Movie节点
movie = Node("Movie", title="The Matrix", released=1999)

# 将节点添加到数据库
graph.create(movie)

# 创建一个Director节点
director = Node("Director", name="Lana Wachowski")

# 将节点添加到数据库
graph.create(director)

# 添加节点之间的关系
graph.create(Relationship(person, "ACTED_IN", movie, roles=["Trinity"]))
graph.create(Relationship(director, "DIRECTED", movie))

# 查询节点
matcher = NodeMatcher(graph)
alice = matcher.match("Person", name="Alice").first()
matrix = matcher.match("Movie", title="The Matrix").first()
print(alice)
print(matrix)

# 查询关系
query = "MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) WHERE m.title = 'The Matrix' RETURN p, r, m"
results = graph.run(query)
for record in results:
    print(record)

# 更新节点
alice['name'] = 'Alice Smith'
graph.push(alice)

# 删除节点和关系
graph.delete(alice)
graph.delete(matrix)
graph.delete(director)

# 删除已有的内容
graph.delete_all() 

这个示例代码演示了以下操作

  • 连接Neo4j数据库
  • 创建三个节点: Person, Movie, Director
  • 添加节点之间的关系: ACTED_IN, DIRECTED
  • 查询节点和关系
  • 更新节点
  • 删除节点和关系

需要注意的是,上面的示例代码只是一个简单的入门示例,实际使用中可能需要进行更多的操作和查询。如果需要更多关于py2neo的信息和文档,请访问官方文档:https://py2neo.org/

四、常用的Neo4j命令:

安装服务:bin\neo4j install-service
卸载服务:bin\neo4j uninstall-service
启动Neo4j服务器: neo4j start
停止Neo4j服务器: neo4j stop
打开Neo4j控制台: cypher-shell
创建节点: CREATE (:Label {property: value})
创建关系: MATCH (a:Label1), (b:Label2) WHERE a.property = value1 AND b.property = value2 CREATE (a)-[:RELATIONSHIP]->(b)
查询节点: MATCH (n:Label) WHERE n.property = value RETURN n
查询关系: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN r
更新节点: MATCH (n:Label {property: oldValue}) SET n.property = newValue
删除节点: MATCH (n:Label {property: value}) DELETE n
删除关系: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 DELETE r
显示数据库信息: CALL dbms.showCurrentUser()
显示当前数据库中所有标签: CALL db.labels()
显示当前数据库中所有关系类型: CALL db.relationshipTypes()
显示当前数据库中所有节点: MATCH (n) RETURN n
显示当前数据库中所有关系: MATCH ()-[r]->() RETURN r
显示节点的所有属性: MATCH (n:Label {property: value}) RETURN properties(n)
显示关系的所有属性: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN properties(r)
显示节点的所有标签: MATCH (n:Label {property: value}) RETURN labels(n)
显示节点的所有关系类型: MATCH (a:Label1)-[r]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN type(r)
计算节点数量: MATCH (n:Label) RETURN count(n)
计算关系数量: MATCH ()-[r]->() RETURN count(r)
按属性值排序显示节点: MATCH (n:Label) RETURN n ORDER BY n.property ASC/DESC
按属性值排序显示关系: MATCH ()-[r]->() RETURN r ORDER BY r.property ASC/DESC
显示节点度数(入度和出度): MATCH (n:Label {property: value}) RETURN size((n)-[:RELATIONSHIP]->()), size(()-[:RELATIONSHIP]->(n))
执行聚合函数: MATCH (n:Label) RETURN sum(n.property), avg(n.property), min(n.property), max(n.property)
使用WHERE子句过滤查询结果: MATCH (n:Label) WHERE n.property >= value RETURN n
使用LIMIT子句限制查询结果数量: MATCH (n:Label) RETURN n LIMIT value
使用SKIP子句跳过查询结果的前几行: MATCH (n:Label) RETURN n SKIP value
使用WITH子句进行结果分组和传递: MATCH (a:Label1)-[:RELATIONSHIP]->(b:Label2)-[:RELATIONSHIP]->(c:Label3) WITH a, c, count(*) as count WHERE count > value RETURN a.property, c.property

五、错误汇总

5-1、Neo4j报错:py2neo.errors.ProtocolError: Cannot decode response content as JSON 解决方案

  • 创建neo4j,对数据库增删改查时的报错,解决方案如下:
# 执行build_medicalgraph.py时发生错误。
# 该错误为graph_name为空时的问题, 即在连接时需要指定name属性,则报错解除。
self.g = Graph("http://localhost:7474/browser/", auth=("user", "password"), name='neo4j')

5-2、解决报错UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaf in position 81: illegal multibyte sequence

  • 该错误发生在读取数据时,解决方案如下:
# 在open的函数最后加上编码encoding='utf-8'即可,错误解决!
for data in open(self.data_path, encoding='utf-8'):

5-3、解决ValueError: The following settings are not supported: {‘http_port’: 7687}

  • 初次加载代码时发生这个错误,主要是因为py2neo包是新的,可以考虑降低版本或者解决方案如下:
# 初始代码如下:
self.g = Graph(     
            # host="",  # neo4j 搭载服务器的ip地址,ifconfig可获取到
            http_port=,  # neo4j 服务器监听的端口号
            user="",  # 数据库user name,如果没有更改过,应该是neo4j
            pasword="")
# 只要将上边代码格式更改为:
self.g = Graph("http://localhost:7474/browser/", auth=("user", "password"), name='neo4j')
即可。
# 也可以直接安装旧版本
pip uninstall py2neo
pip install py2neo==4.3.0 

5-4、pip install ahocorasick 无法安装的问题

# 包的名字改了,改为
pip install pyahocorasick

参考文章:
关于使用Py2neo连接Neo4j图数据库出现“ValueError: The following settings are not supported”报错的解决方案.
github开源项目:医疗知识图谱构建.
超详细neo4j安装教程.

图数据库—Neo4j使用指南.
图数据库neo4j的安装与基本使用(一).
Py2neo 手册.


总结

又是一个周五,想出去玩。😊文章来源地址https://www.toymoban.com/news/detail-499720.html

到了这里,关于深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 图数据库—Neo4j使用指南

    目录 Q / A Neo4j 安装 Basic concept Cypher Basic MATCH 查询 WITH INDEX 索引 最短路径 Shortest path Movie Graph Create 创建 Find 查找 Query 查询 Solve 最短路径 Bacon Path Recommend 推荐 Clean up 删除电影数据 LOAD CSV 加载 Persons Movies 数据 Northwind Graph Northwind 数据表结构 加载 Product Catalog CSV 文件 创建 Pr

    2024年02月02日
    浏览(51)
  • 头歌-Neo4j 的安装部署-第1关:安装 Neo4j(超详细)

     将解压包解压后开始第二步:修改配置文件:  接着修改第75行代码,如下图:  启动 Neo4j 复制下列网址,并打开Fire Fox,输入: 一开始默认账号密码都neo4j: 随后即可修改密码,账号密码都为123456,如下图:

    2024年02月07日
    浏览(293)
  • vue+neo4j(neo4j desktop安装和使用)

    官网下载安装 官方下载链接:https://neo4j.com/download/ 下载后会跳转到 Activation Key 页面,已经自动生成好密钥,复制后,粘贴到 Neo4j Deskto 的 Software Keys 输入框内即可完成激活 官方安装使用手册 https://neo4j.com/developer/neo4j-desktop/ 软件主界面,默认附带一个 Example Project ,自带一个

    2024年02月14日
    浏览(44)
  • Neo4j中创建关系的常用操作

    Neo4j图数据库遵循属性图模型来存储和管理其数据。 根据属性图模型,关系应该是定向的。 因此,基于方向性,Neo4j关系被分为两种类型: 单向关系 双向关系 在使用Neo4j CQL CREATE命令来创建两个节点时主要分为一下几种场景(适用于Uni和双向关系): 在两个现有节点之间创

    2024年04月23日
    浏览(40)
  • Neo4j的安全与隐私保护:实践指南

    随着数据化和智能化的发展,大数据技术在各行各业中得到了广泛的应用。Neo4j作为一种图数据库技术,具有很高的扩展性和灵活性,在社交网络、知识图谱、智能推荐等领域具有广泛的应用前景。然而,随着数据的积累和处理,数据安全和隐私保护问题也成为了关注的焦点

    2024年02月21日
    浏览(50)
  • 安装Neo4j

    jdk1.8对应的neo4j的版本是3.5 自行下载3.5版本的zip文件 地址 解压添加环境变量 变量名:NEO4J_HOME 变量值:D:neo4j-community-3.5.0     (你自己的地址)  PATH添加: %NEO4J_HOME%bin     (如果是挨着的注意前后英文分号)  此时进入bin目录下运行报错: neo4j.bat start Invoke-Neo4j : Could

    2024年01月18日
    浏览(44)
  • Neo4j在Ubuntu 20.04上安装、配置以及Python连接使用 - Neo4j

    1. 进入要安装neo4j的ubuntu环境。 2. 添加Debian资源库。 java 1.8.xx版本对应neo4j 3.xx版本(jdk 11版本对应neo4j 4.xx版本): (1)wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - (2)echo \\\'deb https://debian.neo4j.com stable 3.5\\\' | sudo tee /etc/apt/sources.list.d/neo4j.list(或者:echo \\\'deb

    2024年02月04日
    浏览(61)
  • Neo4j安装与配置

    注意:在安装Neo4j之前要安装JAVA SE的SDK。 企业版本的收费的,社区版本是免费的。我下载的是社区版本。 社区版本下载地址:https://neo4j.com/download-center/#community 我下载的是3.5.35 下载好以后是zip文件,把它解压放在你想要放置的路径下。 打开高级系统设置的环境变量 设置—

    2024年02月09日
    浏览(63)
  • Neo4j安装配置教程

    安装所需配件网盘一键下载。 以下描述中,官网下载均有描述,也可自官网下载。 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。由于知识图谱中存在大量的关系型信息(实体—关系—实体), 使用结构化数据库进行存储将产生大量的冗余存

    2024年02月14日
    浏览(38)
  • neo4j教程-安装部署

    •Neo4j是一个开源的NoSQL图形存储数据库,可为应用程序提供支持ACID的后端。Neo4j的开发始于2003年,自2007年转变为开源图形数据库模型。程序员使用的是路由器和关系的灵活网络结构,而不是静态表,但是可以享受企业级质量数据库的所有好处。与关系数据库索引,对于许多

    2024年02月15日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包