【发布时间】:2021-06-01 09:05:09
【问题描述】:
我有一个基因名称列表genes_list 和一个针对其他基因的基因列表(元组列表)genes2,我成功连接到我的本地数据库并创建了标记为GEN 和@987654324 的20244 个节点@ 财产。
我正在尝试生成一个脚本,该脚本自动为 Neo4j 图中的任何一对节点(使用变量tupla[0]and tupla[1])创建关系,但我无法让 for 循环为元组列表工作,有什么建议吗?我还在学习如何使用这个库,任何建议都会很棒!问候!
from py2neo import Node,Relationship,Graph, database,NodeMatcher
import time
import pandas as pd
genes_list=pd.read_csv("Gen_list.txt",delimiter="\t",header=None)
genes_list=genes_list[0].tolist()
for name in genes_list:
graph.run("CREATE(:GEN{name:$name})",name=name)
genes=pd.read_csv(r"C:\Users\espin\OneDrive\Escritorio\MCI\SCRIPTS\dorothea_final.csv", delimiter="\t",header=None)
genes2=list(genes.to_records(index=False))
for tupla in genes2:
existing_u1 = matcher.match("GEN").where(name=tupla[0]).first()
existing_u2 = matcher.match("GEN").where(name=tupla[1).first()
graph.merge(existing_u1,"REGULATES", existing_u2)
【问题讨论】:
-
您遇到的错误是什么?
-
当我运行最后 4 行时,我得到这个: AttributeError: 'NoneType' object has no attribute 'db_merge' 在处理上述异常期间,发生了另一个异常:merge = subgraph.__db_merge__ AttributeError: 'NoneType' 对象没有属性 'db_merge' TypeError("No method defined to merge object %r" % subgraph) TypeError: No method defined to merge object None