Python操作neo4j库py2neo使用之创建和查询(二)

Python操作neo4j库py2neo使用之创建和查询(二)

py2neo 创建操作

1、连接数据库

from py2neo import Graph
graph = Graph("bolt://100.100.20.55:7687", auth=(user, pwd), name='neo4j')

2、创建Node

from py2neo import Node, Subgraph
# 创建单个节点
node = Node(label='公司',name='XX公司',创始人='XXX')
graph.node.create(node) 
data = {"name": "XX公司","创始人": "XX"
}
node = Node(label='公司', **data)
graph.node.create(node) 
# 创建多个节点
node1 = Node("Person", name="司马师", age=18)
node2 = Node("Person", name="司马懿", age=18)
node3 = Node("Person", name="司马昭", age=18)
nodes = Subgraph([node1, node2, node3])
self.graph.create(new_nodes)
# 批量创建节点, 注意只能创建同一label的节点
from py2neo.bulk import create_nodes 
# 关键字参数
data = [{"name": "司马师", "age": 18},{"name": "司马懿", "age": 18},{"name": "司马昭", "age": 18, "职位": "大司马"}
]
create_nodes(graph.auto(), data, labels=("Person"))# 位置参数
data = [{"司马师", 18},{"司马懿", 18},{"司马昭", 18}
]create_nodes(graph.auto(), data, labels=("Person"), keys=["name", "age"])# 合并节点  根据name合并
node1 = Node("Person", name="司马师", age=18)graph.merge(node1, label='Person', "name")# 批量合并节点  根据name合并
from py2neo.bulk import merge_nodesdata = [{"name": "司马师", "age": 18},{"name": "司马懿", "age": 18},{"name": "司马昭", "age": 18}
]
merge_nodes(graph.auto(), data, labels=("Person", "name"))data = [{"司马师", 18},{"司马懿", 18},{"司马昭", 18}
]merge_nodes(graph.auto(), data, labels=("Person"), keys=["name", "age"])

py2neo 查询操作

1、连接数据库

from py2neo import Graph
graph = Graph("bolt://xx.xx.xx.xx:7687", auth=(user, pwd), name='neo4j')

2、查询节点

# 获取label为公司的单个节点
node = graph.nodes.match(label='公司').first()# 获取label为公司的所有节点
nodes = graph.nodes.match(label='公司').all()# 获取label为公司的10节点
nodes = graph.nodes.match(label='公司').limit(10)# 获取label为公司的10-20的节点
nodes = graph.nodes.match(label='公司').skip(10).limit(10)# 获取label为公司,属性name为''单个节点
node = graph.nodes.match(label='公司', name='XX公司').first()

3、查询关系

# 根据id获取关系
relationship = graph.relationships.get(1)# 获取关系为投资的单个关系
relationship = graph.match_one(r_type='投资')
relationship = graph.relationships.match(r_type='投资').first()# 获取关系为投资的所有关系
relationship = graph.relationships.match(r_type='投资').all()# 获取关系为投资的10关系
relationships = graph.match(r_type='投资', limit=10)# 获取关系为投资的10-20关系
relationship = graph.relationships.match(r_type='投资').skip(10).limit(10)# 获取节点为XX公司,关系为投资的第一个节点
node = graph.nodes.match(lable='公司', name='XX公司').first()
relationship = graph.relationships.match(node=node, r_type='投资').first()

4、查询高级方法

from py2neo import IS_NULL, IS_NOT_NULL, EQ, NE, LT, LE, GT, GE, STARTS_WIH, ENDS_WITH, CONTAINS, LIKE, IN, AND, OR, XOR# IS_NULL
# 获取label为公司的,名称为NULL的节点# IS_NOT_NULL# EQ# NE# LT# LE# GT# GE# STARTS_WIH# ENDS_WITH# CONTAINS# LIKE# IN
# 获取label为公司的,名称叫XX公司、aaa公司的公司
nodes = graph.nodes.match(label='公司', name = IN('XX公司', 'aaa公司')).all()# AND# OR# XOR# where
1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/477275.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

丹摩|重返丹摩(下)

目录 四.模型构建与训练 1.模型选择 (1). 机器学习模型 (2). 深度学习模型 (3). AutoML 功能 2.参数配置 (1). 模型参数 (2). 数据划分 (3). 超参数优化 3.模型训练与评估 (1). 训练模型 (2). 查看训练结果 (3). 模型评估 五.模型部署与应用 1.模型部署 (1). 直…

浪潮信息自动驾驶框架AutoDRRT 2.0,赋能高阶自动驾驶

随着自动驾驶技术的迅猛进步,BEVTransformer的感知模式为高阶自动驾驶带来了前所未有的精度、泛化能力和多模态融合效果,已成为众多顶尖汽车制造商的首选方案。然而,当前自动驾驶方案中的大模型算法参数规模剧增,对算力、数据IO及…

【电源专题】BUCK电源SW电压的平均值为什么等于输出电压?

在Buck电源测试过程中,我们会去测试SW开关节点的波形。那么从SW波形中我们能看出什么呢? 首先查看SW波形一般会看SW频率,通过SW波形的频率知道目前芯片的运行状态是什么。比如PSM还是PWM模式。 此外,还会看SW波形的占空比,通过占空比我们可以知道目前输出的状态是怎么样的…

微信分账系统供应链分润微信支付 (亲测源码)

搭建环境:nginxphp7.2mysql5.7 1.上传源码到网站根目录并解压 2.导入数据库文件到数据库 3.修改数据库链接文件/.env 4.设置运行目录为/public 5.伪静态设置成tp 6.后台地址:域名/zh9025.php 源码下载:https://download.csdn.net/down…

HTB:Buff[WriteUP]

目录 连接至HTB服务器并启动靶机 信息搜集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机开放的端口进行脚本、服务扫描 使用curl分别访问靶机的两个端口 使用浏览器访问靶机8080端口页面 漏洞利用 使用searchsploit搜索该WebAPP 通过python2利用该EXP成功ge…

[UE5学习] 一、使用源代码安装UE5.4

一、简介 本文介绍了如何使用源代码安装编译UE5.4,并且新建简单的项目,打包成安卓平台下的apk安装包。 二、使用源代码安装UE5.4 注意事项: 请保证可以全程流畅地科学上网。请保证C盘具有充足的空间。请保证接下来安装下载的visual studi…

遗传算法(Genetic Algorithm, GA)

简介 遗传算法(Genetic Algorithm, GA)是一种基于自然选择和遗传机制的优化算法,由 John Holland 于20世纪70年代提出。它是一种模拟生物进化过程的启发式搜索算法,被广泛应用于函数优化、机器学习、调度问题等领域。 代码说明 …

【深度学习之回归预测篇】 深度极限学习机DELM多特征回归拟合预测(Matlab源代码)

深度极限学习机 (DELM) 作为一种新型的深度学习算法,凭借其独特的结构和训练方式,在诸多领域展现出优异的性能。本文将重点探讨DELM在多输入单输出 (MISO) 场景下的应用,深入分析其算法原理、性能特点以及未来发展前景。 1、 DELM算法原理及其…

[Redis#0] iredis: linux上redis超好用的环境配置

目录 Features 特征 Install 安装 Pip Brew Linux的 Download Binary 下载 Binary Usage 用法 Using DSN 使用 DSN Change The Default Prompt更改默认提示 Configuration 配置 Keys Development 发展 Release Strategy 发布策略 Setup Environment 设置环境 De…

软件测试——性能测试概念篇

前言:在完成对web网页或者接口的功能测试后,我们还需要考虑性能方面的因素,在学习完性能测试后,目标是能够对个人编写的项目进行性能测试,找到性能不足的地方(性能问题个人很难去解决,如&#x…

从搭建uni-app+vue3工程开始

技术栈 uni-app、vue3、typescript、vite、sass、uview-plus、pinia 一、项目搭建 1、创建以 typescript 开发的工程 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project2、安装sass npm install -D sass// 安装sass-loader,注意需要版本10,…

探索 .NET 9 控制台应用中的 LiteDB 异步 CRUD 操作

本文主要是使用异步方式,体验 litedb 基本的 crud 操作。 LiteDB 是一款轻量级、快速且免费的 .NET NoSQL 嵌入式数据库,专为小型本地应用程序设计。它以单一数据文件的形式提供服务,支持文档存储和查询功能,适用于桌面应用、移动…

AWS 新加坡EC2 VPS 性能、线路评测及免费注意事项

原文论坛给你更好的阅读讨论体验💐: AWS 新加坡EC2 VPS 性能、线路评测及免费注意事项 - VPS - 波波论坛 引言 对于那些习惯薅“羊毛”的朋友来说, AWS 的 免费套餐 可能已经非常熟悉。这台vps是我用外币卡薅的免费的12个月的机器&#xf…

C++ASCII码表和字符操作

目录 1. 引言 2. ASCII码表 2.1 控制字符 2.2 可显示字符 3. 字符操作 3.1 记住几个字符规律 3.2 打印能够显示的ASCII码 3.3 字母大小写转换 3.4 数字转数字字符 1. 引言 在电子计算机中,只能识别由 0 和 1 组成的一串串的二进制数字,为了将人类…

git使用(二)

git使用(二) git常用基本操作命令git clonegit loggit remotegit statusgit addgit commitgit pushgit branchgit pull git常用基本操作命令 git clone 项目开发中项目负责人会在github上创建一个远程仓库,我们需要使用git clone将远程仓库…

密码学11

概论 计算机安全的最核心三个关键目标(指标)/为:保密性 Confidentiality、完整性 Integrity、可用性 Availability ,三者称为 CIA三元组 数据保密性:确保隐私或是秘密信息不向非授权者泄漏,也不被非授权者使…

netstat -tuln | grep 27017(显示所有监听状态的 TCP 和 UDP 端口,并且以数字形式显示地址和端口号)

文章目录 1. 确定占用端口的进程使用 lsof 命令使用 fuser 命令 2. 结束占用端口的进程3. 修改 MongoDB 配置文件4. 检查 MongoDB 日志文件5. 重新启动 MongoDB 服务6. 检查 MongoDB 服务状态总结 [rootlocalhost etc]# netstat -tuln | grep 27017 tcp 0 0 127.0.…

ElasticSearch7.x入门教程之集群安装(一)

文章目录 前言一、es7.x版本集群安装二、elasticsearch-head安装三、Kibana安装总结 前言 在工作中遇到了,便在此记录一下,以防后面会再次遇到。第一次使用是在2020年末,过了很久了,忘了些许部分了。 在工作当中,如果…

I.MX6U 裸机开发18.GPT定时器实现高精度延时

I.MX6U 裸机开发18.GPT定时器实现高精度延时 一、GPT定时器简介1. GPT 功能2. 时钟源3. 框图4. 运行模式(1)Restart mode(2)Free-Run Mode 5. 中断类型(1)溢出中断 Rollover Interrupt(2&#x…

key-value存储实现

文章目录 一、项目简介二、项目流程图三、网络3.1、epoll实现3.2、io_uring实现 四、协议五、存储5.1、array实现5.2、rbtree实现5.3、hash实现 六、测试 一、项目简介 key-value存储其实是一个小型的redis,用户在客户端输入存储相关的指令发送给服务器端&#xff…