neo4j批量追加属性、节点、关系

这篇具有很好参考价值的文章主要介绍了neo4j批量追加属性、节点、关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提:这个方法是用python连接neo4j再循环执行cql语句来实现的,适合1w条记录以内的数据,太大了就比较慢,平均1s执行30条语句左右。
主要的不同就在于cql语句的使用

准备工作

连接数据库:

from py2neo import Graph
import pandas as pd
graph=Graph('http://localhost:7474',auth=('neo4j','密码'))

读取节点表和关系表,该文件是存储好的csv文件

node_df=pd.read_csv('./neo4j_test/节点表.csv')
edge_df=pd.read_csv('./neo4j_test/关系表.csv')

中文是替代的文件名字,不是源文件名

追加属性

追加节点属性

for i in range(len(node_df)):
    id=node_df['id'][i]  # 唯一标识id
    age=node_df['age'][i]  # 新增的属性和值
    cql=f"match (a:Person{{ID:{id}}}) set a.age={age}"  # 新增了年龄属性
	graph.run(cql)

追加关系属性

替换cql为对应的语句:文章来源地址https://www.toymoban.com/news/detail-576084.html

f"match (a:Person{{ID:{id}}})-[r:friends]->(b:Person{{ID:{id}}}) set r.year={year}"

追加记录

批量追加节点

for i in range(len(node_df)):
    code=node_df['ecode'][i]
    name=node_df['ename'][i]
    cap=node_df['ecap'][i]
    province=node_df['province'][i]
    cql=f"merge (a:Company{{code:{code},name:'{name}',cap:'{cap}',province:'{province}'}})"
    graph.run(cql)

批量追加关系

for i in range(len(edge_df)):
    scode=edge_df['scode'][i]
    ecode=edge_df['ecode'][i]
    pct=edge_df['pct'][i]
    year=edge_df['notice_year'][i]
    relation=edge_df['relation'][i]
    cql=f"match (s:Company{{code:{scode}}}) match (e:Company{{code:{ecode}}}) merge (s)-[r:Supply{{pct:'{pct}',year:'{year}',relation:'{relation}'}}]->(e) "
    graph.run(cql)

到了这里,关于neo4j批量追加属性、节点、关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • neo4j数据库的创建简单的节点和关系

    创建节点 案例 1. 创建关系 说明:在neo4j中创建一个小明的同学是张三,里斯的朋友是张三的知识图谱 创建节点和关系 查询节点和关系 查询lisi的朋友是谁 查询lisi和张三是什么关系

    2024年02月16日
    浏览(35)
  • Neo4j---(2)批量导入实体和关系csv文件之neo4j-admin import

    要点: neo4j-admin import命令的适用情况:未初始化空数据库or新建数据库 csv文件的编码:有中文用 “UTF-8” 节点csv和关系csv文件的固定格式以及必要的属性列 一、neo4j-admin import命令 1.作用:批量导入csv数据 2.条件:必须有权限对dbmis.directories.data 和dbms.directories.log进行写入操作

    2024年02月06日
    浏览(35)
  • 图数据库_Neo4j和SpringBoot整合使用_创建节点_删除节点_创建关系_使用CQL操作图谱---Neo4j图数据库工作笔记0009

    首先需要引入依赖   springboot提供了一个spring data neo4j来操作 neo4j   可以看到它的架构   这个是下载下来的jar包来看看 有很多cypher对吧   可以看到就是通过封装的驱动来操作graph database   然后开始弄一下 首先添加依赖

    2024年02月12日
    浏览(38)
  • 知识图谱构建:图数据库Neo4j的节点和关系的新增、删除

    目录 1、新增节点和节点属性,批量添加属性 2、节点显示信息修改 3、新增关系 4、同时新增两个节点与节点关系 5、删除节点 6、删除关系 7、同时删除节点和关系 CREATE(n:节点名称 {属性1:\\\'属性值\\\', 属性2:\\\'属性值\\\',  ......} ) return n 其中,n只在此语句运行时代表创建的节点

    2024年02月10日
    浏览(44)
  • Neo4j---(3)批量导入实体和关系csv文件之LOAD CSV

    一、几大导入方式的差异 1. neo4j-admin import: 只能初始化,若要用的话必需清空之前的数据库。 不能很好的适应不断要添加新节点和关系的需求。 必需关闭数据库 neo4j stop 2. LOAD CSV 可以在原数据库基础上新增数据,导入中小型数据,1kw条左右 不用关闭数据库,可以直接在b

    2024年02月07日
    浏览(54)
  • neo4j学习笔记:使用neo4j-admin import命令批量处理CSV文件

    neo4j-admin是管理neo4j DBMS的主要工具之一,是一种命令行工具。 neo4j admin命令需与当前neo4j用户一致。 (1)位置: 以neo4j desktop为例,neo4j-admin在当前project下活动的database的dbms文件夹下的bin文件夹中。 (2)启动方式: 打开当前project的terminal; 进入bin文件夹:执行cd bin,此时,

    2024年02月01日
    浏览(38)
  • Neo4j 批量导入数据 从官方文档学习LOAD CSV 命令 小白可食用版

           在使用Neo4j进行大量数据导入的时候,发现如果用代码自动一行一行的导入效率过低,因此明白了为什么需要用到批量导入功能,在Neo4j中允许批量导入CSV文件格式,刚开始从网上的中看了各种半残的博客或者视频,拼拼凑凑也实现了功能,然后想写个博客记录一下

    2024年03月16日
    浏览(36)
  • Neo4j-双向关系

    这是GraphAware中关于双向关系的解释。 网址链接Modelling Data in Neo4j: Bidirectional Relationships | GraphAware Neo4j中的关系必须有一个语义化的类型和方向。 没有方向关系是模棱两可的,上面A队打败B队,如果没有方向,就不知道谁打败了谁。 还有一个常见的错误,同时创建两个具有相

    2024年02月07日
    浏览(30)
  • neo4j电影库-关系查询

    关系类型 数量 源数据 目标数据 属性 ACTED_IN 172 演员 电影 roles(角色扮演)属性,属性值为数组 DIRECTED 44 导演 电影 无 PRODUCED 15 制片商 电影 无 WROTE 10 作家 电影 无 FOLLOWS 3 影评人 影评人 无 REVIEWED 9 影评人 电影 summary(影评摘要)和 rating(评分)属性 【先按照书本整理下,

    2024年02月14日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包