neo4j 图数据库 py2neo 操作 示例代码

2024-01-14 06:44

本文主要是介绍neo4j 图数据库 py2neo 操作 示例代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 摘要
    • 前置
    • NodeMatcher & RelationshipMatcher
      • 创建节点
      • 查询获取节点
      • 节点有则查询,无则创建
      • 创建关系
      • 查询关系
      • 关系有则查询,无则创建
    • Cypher语句
      • 创建节点

摘要

利用py2neo包,实现把excel表里面的数据,插入到neo4j 图数据库中;

  • 创建新(节点或关系)到neo4j图数据库中;
  • 能够获取neo4j 中已有的(节点或关系),不再创建新(节点或关系);

进阶, 敬请期待,案例

前置

安装py2neo: pip install py2neo
安装neo4j软件,请自行安装

NodeMatcher & RelationshipMatcher

代码由 Jupyter 编写,建议使用vscode

from py2neo import Graph, Node, NodeMatcher, RelationshipMatcher
import pandas as pd# 连接到Neo4j数据库  
graph = Graph("bolt://localhost:7687", auth=("neo4j", "你设置的密码")) node_matcher = NodeMatcher(graph)
relationship_matcher = RelationshipMatcher(graph)

在这里插入图片描述

TODO: 设置neo4j 远程连接

创建节点

node = Node("Person", name="Alice", age=18)
graph.create(node)

在这里插入图片描述

查询获取节点

# 拿到匹配到的第一个节点
node_matcher.match('Person', name='Alice').first()# 拿到可匹配到的所有
node_matcher.match('Person', name='Alice').all()

节点有则查询,无则创建

def get_node(class_, **kwargs):if node := node_matcher.match('Person', **kwargs):# 节点存在,则获取return node.first()else:# 节点不存在,则创建node = Node("Person", **kwargs)graph.create(node)return node

在这里插入图片描述

创建关系

Alice - Friend -> Bob

node1 = get_node('Person', name='Alice', age=21)
node2 = get_node('Person', name='Bob', age=20)graph.create(Relationship(node1, 'Friend', node2))

在这里插入图片描述

查询关系

查询 node1 和 node2 之间是否有 Friend 关系

node1 = get_node('Person', name='Alice', age=21)
node2 = get_node('Person', name='Bob', age=20)relationship_matcher.match([node1, node2],r_type='Friend').first()

关系有则查询,无则创建

def get_relation(node1, node2, r_type):if r :=  relationship_matcher.match([node1, node2],r_type=r_type):return r.first()else:r = Relationship(node1, r_type, node2)graph.create(r)return r
# 查询已有关系
get_relation(node1, node2, 'Friend')
# 创建新关系
get_relation(node1, node2, 'Classmate')

在这里插入图片描述

Cypher语句

虽然 在 NodeMatcher & RelationshipMatcher 介绍的接口已经能够满足大部分情况的使用,本文仍想提供一种使用cypher语句的插入数据到neo4j图数据库的思路。

创建节点

graph.run("create (n:Person {name:'js'}) return n"
)
graph.run("MERGE (n:Person {name: $name}) \ON CREATE SET n.created_at = timestamp() \return n",name='Cyder'
)

这篇关于neo4j 图数据库 py2neo 操作 示例代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/604262

相关文章

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一