当前位置: 首页 > news >正文

neo4j vs python

1.将库中已经存在的两个节点,创建关系。

查询库中只有2个独立的节点。

方式一,python,使用py2neo库

#coding:utf-8
from py2neo import Graph,Node,Relationship,NodeMatcher##连接neo4j数据库,输入地址、用户名、密码
graph = Graph('bolt://xx.xx.xx.xx:7687',auth=("neo4j","neo4j1234"))hd = graph.nodes.match("person",name="宋太祖").first()
hh = graph.nodes.match("person",name="皇后").first()graph.create(Relationship(hd,"夫妻",hh))

执行成功

查看库

方式二:使用neo4j, 原生cypher语句

#coding:utf-8
from neo4j import GraphDatabase##获取已经存在的节点,创建关系
driver = GraphDatabase.driver('bolt://xx.xx.xx.xx:7687',auth=("neo4j","neo4j1234"))with driver.session() as session:hd = session.run("MATCH (a:person {name:'宋太祖'}) return a").single().get("a")hh = session.run("MATCH (b:person {name:'皇后'}) RETURN b").single().get("b")session.run("Match (a:person), (b:person) where a.name='皇后' and b.name='宋太祖' create (a) - [:老婆] -> (b)")
driver.close()

查看库

看着上面的脚本就奇怪,那获取节点干嘛呢,信息存入了变量里,后面又没用到这个变量。

直接用最后面的cypher语句,不就能执行了嘛。执行一次,没报错,查看库

果然不需要那两句,直接match查询就可以。

总结

通过这两个方式也看出来了,还是用封装好的方法操作便捷,出错的概率也小。

 

相关文章:

  • 小刚说C语言刷题——1032分糖果
  • 【今日三题】小红的ABC(找规律) / 不相邻取数(多状态dp) / 空调遥控(排序+二分/滑动窗口)
  • PLOT: PROMPT LEARNING WITH OPTIMAL TRANSPORT FOR VISION -LANGUAGE MODELS
  • Kafka 的服务端的物理存储架构是什么?零拷贝,mmap,sendfile、DMA gather又是什么?
  • Go语言中的错误处理
  • ETL数据集成与数据资产的紧密关联,解锁数据价值新密码
  • 阿里云服务迁移实战: 04-IP 迁移
  • 阿里云 OpenManus 实战:高效AI协作体系
  • 数据中心网络架构:高效规划与自动化设计实践
  • python的turtle库实现四叶草
  • 缺口拼图,非线性坐标关联
  • Tomcat 部署配置指南
  • Flume启动报错
  • 人工智能数学基础(四):线性代数
  • Plesk 下的 IP 地址管理
  • QT中的网络编程
  • [零基础]内网ubuntu映射到云服务器上,http访问(frp内网穿透)
  • FastDDS 解析xml文件
  • neo4j暴露公网ip接口——给大模型联通知识图谱
  • 【uom】 0 配置文件(Cargo.toml)
  • 当老年人加入“行为艺术基础班”
  • 顺利撤离空间站,神十九乘组踏上回家之旅
  • 促进产销对接,安徽六安特色产品将来沪推介
  • 中日友好医院通报“医师肖某被举报”:基本属实,开除党籍并解聘
  • 印方称与巴基斯坦军队在克什米尔交火
  • 京东美团开打,苦了商家?