Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python在Neo4j中创建关系,但并非所有关系都已创建_Python_Database_Error Handling_Neo4j_Py2neo - Fatal编程技术网

使用python在Neo4j中创建关系,但并非所有关系都已创建

使用python在Neo4j中创建关系,但并非所有关系都已创建,python,database,error-handling,neo4j,py2neo,Python,Database,Error Handling,Neo4j,Py2neo,我试图在neo4j上的图形上创建关系。当我运行python代码时,它会在excel文件中运行,并为每一行创建一个基于两个id列的关系。但是,并不是所有这些都是创建的 例如,当我运行一个包含33k行的excel文件时,数据库中只创建了7.5k条边 我已经检查了流程是否正确运行,每次都在正确的函数/var上传递正确的值,所以我真的想不出这里的问题是什么 下面是我的代码以及excel文件中的屏幕,以便您可以查看其结构 代码: Excel文件(3列,无法发布图片抱歉): 我觉得你的问题很有意思,但请你回

我试图在neo4j上的图形上创建关系。当我运行python代码时,它会在excel文件中运行,并为每一行创建一个基于两个id列的关系。但是,并不是所有这些都是创建的

例如,当我运行一个包含33k行的excel文件时,数据库中只创建了7.5k条边

我已经检查了流程是否正确运行,每次都在正确的函数/var上传递正确的值,所以我真的想不出这里的问题是什么

下面是我的代码以及excel文件中的屏幕,以便您可以查看其结构

代码:

Excel文件(3列,无法发布图片抱歉):


我觉得你的问题很有意思,但请你回答。否则很难帮助你。谢谢。是否可能某些
id1
id2
值在数据库中没有相应的
User
节点?
my_set = set()
graph = Graph(url,password=password)
tx = graph.begin()
rels = list()
filename = input('Give file name --- ')
df = pd.read_csv(filename, header=None)
df.columns = ['Timestamp', 'id1', 'id2']
if filename.startswith('attack'):
    rel_type = 'ATTACKS'
elif filename.startswith('trade'):
    rel_type = 'TRADES'
else:
    rel_type = 'MESSAGES'
row_cnt = 0
for index,row in df.iterrows():
    row_cnt = row_cnt + 1
    if row_cnt%1000 == 0 : print('Computed '+ str(row_cnt))
    t1 = datetime.now()
    ts = int(row['Timestamp'])
    formatted_ts = datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
    splitted_ts = formatted_ts.split()
    date = splitted_ts[0]
    time = splitted_ts[1]  

    node1 = graph.evaluate('MATCH (n:User) WHERE n.id={id} RETURN n', id=int(row["id1"]))
    node2 = graph.evaluate('MATCH (n:User) WHERE n.id={id} RETURN n', id=int(row['id2']))
    rels.append(Relationship(node1, rel_type, node2, date=date, time=time))

print('FileFInished************')
print('Computed ' + str(row_cnt))
edge_cnt = 0
for v in rels:
    edge_cnt = edge_cnt + 1
    if edge_cnt%1000==0: print('edge count: ', edge_cnt)
    tx.create(v)
tx.commit()
print('edges: ' + str(edge_cnt))
____________________________
|Timestamp| userId1 | userId2|
------------------------------
|123342312| 3123    | 12312  |
|33121123 | 332     | 21231  |