求助:pycharm使用neo4j代码运行在去除重复节点时报错(知识图谱类)

from py2neo import*
import pandas as pd
graph = Graph("http://localhost:7474", user="neo4j", password="neo4jneo4j",name = "neo4j")
def sjdata():
    count = 0
    frame = pd.read_csv(r"D:\aasuch\sj.csv",encoding='gbk')    #读取文件
    for i in frame.index:
        sj_name = frame["标题"].values[i]
        sj_btlj = frame["标题链接"].values[i]
        sj_jj = frame["js_text"].values[i]
        sj_fbsj = frame["发布时间"].values[i]
        sj_nf = frame["年份"].values[i]
        sj_rw = frame["人物"].values[i]

        sj_name = str(sj_name) #将数据转化为str类型
        sj_btlj = str(sj_btlj)
        sj_jj = str(sj_jj)
        sj_fbsj = str(sj_fbsj)
        sj_nf = str(sj_nf)
        sj_rw = str(sj_rw)

        # 节点创建
        sj_node = Node('人物',name=sj_rw)
        graph.merge(sj_node,'人物','name')
        nf_node = Node('年份',name=sj_nf)

        sj_node = Node('年份',name=sj_nf)
        graph.merge(sj_node,'年份','name')
        fbsj_node = Node('发布时间',name=sj_fbsj)

        sj_node = Node('发布时间',name=sj_fbsj)
        graph.merge(sj_node,'发布时间','name')    #merge方法将重复的元素去掉
        btlj_node = Node('标题链接',name=sj_btlj)
        jj_node = Node('js_text',name=sj_jj)
        name_node = Node('标题', name=sj_name)

		#创建节点间的关系
        sj_2 = Relationship(sj_node, '年份', nf_node)
        sj_3 = Relationship(sj_node, '发布时间', fbsj_node)
        sj_4 = Relationship(sj_node, '标题链接', btlj_node)
        sj_5 = Relationship(sj_node, 'js_text', jj_node)
        sj_6 = Relationship(sj_node, '标题', name_node)

		#开始创建操作
        try:
            graph.create(sj_2)
        except:
            continue
        try:
            graph.create(sj_3)
        except:
            continue
        try:
            graph.create(sj_4)
        except:
            continue
        try:
            graph.create(sj_5)
        except:
            continue
        try:
            graph.create(sj_6)
        except:
            continue
            count += 1
            print(count)
sjdata()

因为我在网上搜的知识图谱类型都是只有A——>B类型,我想写人物——>年份——>发布时间类型,但是第一个merge去除重复语句是行的,第二个merge就会报错。

报错如下:py2neo.data.UniquenessError: Found 60 matching nodes for primary label '年份' and primary key 'name' with labels {'年份'} but merging requires no more than one

求大佬们指点一下,感恩。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值