g = Graph(password=“XXX”)
for i in range(0,len(paper)):
'''
article = {
'label':'Article',
'properties':{
'index':i['index'],
'title':i['title'],
'year':i['year'],
'journal':i['journal']
}
}
'''
article = {}
article['label'] =
'Article'
article['properties'] =
{}
article['properties']['index'] = paper[i]['index']
article['properties']['title'] = paper[i]['title']
article['properties']['year']
= paper[i]['year']
article['properties']['journal'] = paper[i]['journal']
# 将节点的label和properties写入——按照一定的格式放入**article['properties']
article_node =
Node('Article',**article['properties'])
# 节点的更新,(创建/更新)
g.merge(article_node)
for j in
paper[i]['reference_index']:
'''
article2 = {
'label':'Article',
'properties':{
'index':j
}
}
'''
article2 = {}
article2['label'] = 'Article'
article2['properties'] = {}
article2['properties']['index'] = j
# 创建article节点
article2_node =
Node('Article',**article2['properties'])
g.merge(article2_node)
#
对创建的article之间的节点,建立关系
node_2_node2 =
Relationship(article_node,'cite',article2_node)
g.merge(node_2_node2)
# 从author中创建节点,并且创建article-author关系和属性
for j in
paper[i]['author']:
'''
author = {
'label':'Author',
'properties':{
'name'=j
}
}
'''
author = {}
author['label'] = 'Author'
author['properties'] = {}
author['properties']['name'] = j
author_node =
Node('Author',**author['properties'])
g.merge(author_node)
# !!!class
Relationship(start_node, type, end_node, **properties)!!!
'''
author_relationship = {
'properties':{
'order':i['author'].index(j)+1
}
}
'''
author_relationship = {}
author_relationship['properties'] = {}
author_relationship['properties']['order'] =
str(paper[i]['author'].index(j)+1)
# 创建的relationship
node_2_node2 =
Relationship(article_node,'author',author_node,**author_relationship['properties'])
g.merge(node_2_node2)
print g.run("MATCH (a:Author) RETURN a.name").data()