知识图谱基本工具Neo4j使用笔记 三 :Py2neo 基本增删改查使用

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

每天掌握一点,创建 -->修改–>查询–>删除

一 ,什么是 py2neo

知识图谱基本工具Neo4j使用笔记 一 :入门基本操作 Python操作api

py2neo是一个Python库,用于连接和操作Neo4j图数据库。它提供了一组API,可让用户在Python中轻松地创建查询操纵图形数据

py2neo允许用户使用Python代码创建节点关系,查询图形数据以及执行高级图形算法。它具有直观的API和良好的文档,使得学习和使用该库变得容易。
py2neo的官方文档

二,py2neo具备哪些功能

py2neo在图形数据库方面有着很强的功能。

1. 连接和操作Neo4j数据库:

py2neo允许你连接到Neo4j数据库,并对其中的节点、关系和属性进行操作。

2. 创建和删除节点和关系:

使用py2neo,可以轻松地创建删除更新图形中的节点和关系。

3. 执行查询和过滤:

使用py2neo的Cypher API,可以执行复杂的查询和过滤,以查找节点和关系,并返回所需的结果。

4. 序列化和反序列化:

py2neo提供了一些方便的方法,可以将Graph对象转换为JSONXML格式,并从这些格式中重建图形数据。

5. 集成Flask和Django框架:

py2neo提供了与FlaskDjango框架的集成,使得在这些框架中使用Neo4j数据库变得更加容易。

6. 支持高级图算法:

py2neo支持各种高级图算法,如PageRank最短路径算法社区检测算法等。

三,py2neo的使用方法

基本上就是以下步骤:

  1. 安装py2neo:可以通过pip命令来安装py2neo库。在命令行中输入“pip install py2neo”即可进行安装。

  2. 连接到Neo4j数据库:在Python代码中,首先需要建立与Neo4j数据库的连接。可以使用Graph()函数创建一个Graph对象,并传入连接字符串作为参数。

  3. 创建节点和关系:使用create()merge()函数来创建节点和关系。

  4. 执行查询:使用run()函数执行Cypher查询,并获取返回结果。

  5. 操作数据:使用Node()Relationship()Property()等函数来操作节点、关系和属性。

例如,在Python代码中创建一个名为“person”的节点,代码如下:


from py2neo import Graph, Node

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
person = Node("Person", name="John")
graph.create(person)

这段代码首先连接到本地Neo4j数据库,然后创建了一个类型为“Person”,名称为“John”的节点,并将其保存到数据库中。

更高级的使用方法包括使用Transaction批量操作等,具体可以参考py2neo的官方文档py2neo的官方文档

四,py2neo增删改查使用例子

py2neo提供了方便的API来进行增删改查等数据库操作。下面是使用py2neo进行增删改查的详细介绍和例子。

1. 增加节点和关系(增)

py2neo允许我们创建节点关系,并将它们添加到图形数据库中。例如,我们可以创建一个名为“Alice”的人物节点并将其添加到数据库中:


from py2neo import Graph, Node

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
person = Node("Person", name="Alice")
graph.create(person)

此代码首先创建了一个Graph对象连接到本地Neo4j数据库。然后,我们创建了一个类型为“Person”、名称为“Alice”的新节点,并通过create()函数将其保存到数据库中。

除了创建节点,我们还可以创建节点之间的关系。例如,我们可以创建一个名为“friend”的关系,将两个人物节点相连:

from py2neo import Graph, Node, Relationship

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
person1 = Node("Person", name="Alice")
person2 = Node("Person", name="Bob")
relationship = Relationship(person1, "friend", person2)
graph.create(relationship)

此代码首先创建了两个类型为“Person”、名称分别为“Alice”和“Bob”的节点。然后,我们创建了一个名为“friend”的关系,将这两个节点相连,并通过create()函数将其保存到数据库中。

2. 删除节点和关系(删)

py2neo允许我们通过delete()函数删除节点和关系。例如,我们可以删除名称为“Alice”的人物节点:


from py2neo import Graph, NodeMatcher

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
matcher = NodeMatcher(graph)
person = matcher.match("Person", name="Alice").first()
if person:
    graph.delete(person)

此代码首先创建了一个NodeMatcher对象,用于匹配类型为“Person”、名称为“Alice”节点。然后,我们使用match()函数获取与该条件匹配的第一个节点,并使用delete()函数将其从数据库中删除。

3. 更新节点和属性(改)

py2neo允许我们更新节点属性。例如,我们可以更新名称为“Alice”的人物节点的姓名:


from py2neo import Graph, NodeMatcher

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
matcher = NodeMatcher(graph)
person = matcher.match("Person", name="Alice").first()
if person:
    person["name"] = "Alice Smith"
    graph.push(person)

这段代码首先使用NodeMatcher来获取名称为“Alice”的人物节点,并更新其名称为“Alice Smith”。然后,我们使用push()函数将更改保存到数据库中。

4. 查询节点和关系(查)

py2neo允许我们执行复杂的查询操作。例如,我们可以查找所有名为“Bob”的人物节点:


from py2neo import Graph, NodeMatcher

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
matcher = NodeMatcher(graph)
people = matcher.match("Person", name="Bob").first()
for person in people:
    print(person)

这段代码首先使用NodeMatcher来获取所有名称为“Bob”的人物节点,并将其打印到控制台。

除了NodeMatcher,我们还可以使用Cypher查询语言来执行更复杂的查询操作。例如,我们可以查找与名为“Alice”和“Bob”的人物节点有关系的人物节点:


from py2neo import Graph

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
result = graph.run("MATCH (a:Person)-[]-(b:Person) WHERE a.name='Alice' AND b.name='Bob' RETURN a, b").data()
for record in result:
    print(record["a"], record["b"])

这段代码首先使用run()函数执行一条Cypher查询,并返回匹配的结果。然后,我们遍历返回的记录,并打印其中的节点。文章来源地址https://www.toymoban.com/news/detail-510197.html

到了这里,关于知识图谱基本工具Neo4j使用笔记 三 :Py2neo 基本增删改查使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 知识图谱小白入门(1):neo4j的安装与CQL的使用

    知识图谱,是一种实体间的信息与关系知识的网状结构,借用图论中点与边的概念进行组建,易于结构化和可视化。 所以,设计者按照图论相关知识设计Neo4j,Cypher和py2neo的相关语法,均可看到C程序设计相关的身影。 neo4j的有三个版本: Server版本,试用30天,收费版本。 C

    2024年02月07日
    浏览(44)
  • 自学笔记——利用python开展Neo4j图数据库知识图谱构建和统计分析

    前言: 在上《高级统计学》时,老师提到结合所学知识点自行设计任务,并利用所学完成。 近期正好在学习python的编程和利用neo4j开展知识图谱构建,于是在征得老师同意下,尝试完成任务:“统计近6年社科基金,并构建知识图谱。”   入门小白自学笔记,请高手勿喷。

    2024年02月16日
    浏览(58)
  • 医疗知识图谱 neo4j

    开源项目: https://github.com/liuhuanyong/QASystemOnMedicalKG pip install pyahocorasick pip install py2neo 需要改的点: 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行: build_medicalgraph.py 时间很长,几个小时 关闭neo4j客户端 导入文件 文件见网盘 1.首先通过ahocorasick提取出,属于哪种疾病

    2024年02月09日
    浏览(50)
  • 使用Neo4j知识图谱为亚马逊Bedrock应用程序提供动力

    : [Amazon Web Services re:Invent 2023, Neo4j, Knowledge Graph Construction, Natural Language Processing, Financial Data Extraction, Chatbot Question Answering, Graph Databases] 本文字数: 1000, 阅读完需: 5 分钟 如视频不能正常播放,请前往bilibili观看本视频。 https://www.bilibili.com/video/BV1tj411L7GW 将生成式AI与知识

    2024年01月20日
    浏览(60)
  • 【学习笔记】pandas提取excel数据形成三元组,采用neo4j数据库构建小型知识图谱

    前言     代码来自github项目 neo4j-python-pandas-py2neo-v3,项目作者为Skyelbin。我记录一下运行该项目的一些过程文字以及遇到的问题和解决办法。 invoice_data 如下: node_list_key 如下: node_list_value 如下: df_data 如下: 构建的知识图谱如下所示: 压缩包里其他文件说明(个人理

    2024年01月16日
    浏览(52)
  • Neo4j简单构建知识图谱实例

    目录  一、需要两组数据 二、提取所需专题数据 三、利用结巴分词将专题数据分词 四、连接并绘制知识图谱 五、消除重复节点及重复关系 六、结果展示 Ps:在使用Neo4j前,需要先在该安装路径文件下cmd运行,输入neo4j console 即可启动,可根据关闭时输入neo4j stop,如下图所示

    2023年04月12日
    浏览(58)
  • (知识图谱学习1)neo4j基础

    目录 一、neo4j安装与环境配置 官网:https://neo4j.com/download-center/ 下载社区版neo4j服务 neo4j环境变量配置 jdk下载 jdk版本: 启动neo4j 二、cypher语句基本增删改查 增 删除 改 查 三、Py2neo连接neo4j 安装pip install py2neo 连接neo4j 建立节点 建立关系 匹配节点 匹配关系 删除节点 删除关系

    2024年02月10日
    浏览(53)
  • Ubuntu20.04使用Neo4j导入CSV数据可视化知识图谱

    1.安装JDK( Ubuntu20.04 JDK11) 确认安装路径为/usr/lib/jvm/java-11-openjdk-amd64/bin/java。 2 安装Navicat查看知识库(单机版推荐数据库)(此步骤可忽略) 官网下载安装包: 手头的数据库是.db格式,使用nvicat查看。 安装好nvicat后,导入demo.db文件,将需要的数据转换成csv格式。 3 安装Neo4

    2024年04月23日
    浏览(68)
  • 知识图谱构建: Neo4j 常见实例应用

    社交网络图:存储用户之间的关系和联系,如朋友关系、粉丝关系等。 产品推荐系统:利用用户的历史购买记录和评分数据,推荐相似的产品。 客户关系管理:存储企业和客户之间的联系,包括联系信息、交易记录等。 知识图谱:存储各种实体之间的关系,如人物、事件、

    2024年02月10日
    浏览(53)
  • 图数据库_Neo4j和SpringBoot整合使用_实战创建明星关系图谱---Neo4j图数据库工作笔记0010

    2023-09-10 10:37:48 补充 注意:下面是旧版本的语法,如果你发现@NodeEntity这样的注解没有的话可以这样: 这里就要用@Node 另外如果@StartNode和@EndNode都没有了,那么说明是用法变了. 关于最新的用法,在官网有明确的说明和案例,很有用: 下面给出官网的案例:

    2024年02月12日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包