1.搜索前
导入架包:
import pymysql
from py2neo import Graph
链接数据库:
graph = Graph('http://localhost:7474', username='neo4j', password='密码')
2.搜索#company即为要查询的数据库中的label
2.1普通搜索全部节点并输出信息(string格式)
nodes=[]
dict_node = {}
nodes_data_all = self.graph.run("MATCH (n) RETURN n").data()#取出所有节点
for node in nodes_data_all:
name = node['n']['name']
href = node['n']['href']
content= node['n']['content']
#node的第一个参数['n']对应查询中的RETURN n;第二个参数对应的是数据库中每个节点的一个属性
dict_node['name'] = name
dict_node['href'] = href
dict_node['content'] = content
self.nodes.append(dict_node)
#将所有节点赋值给dict_node字典
#将每个dict_node追加都nodes列表中
2.2 搜索某个节点的所有相邻节点
#通过名字搜索,假设数据库中有
str=“某个名字”
find_rela = graph.run("match data=(a:company{name:'%s'})-[re]->(n:apple_drug) return n"%str).data()#如果return的是re的话则输出关系(即相当于三元组)
for node in find_rela:
print(node['n']['name'])
2.3搜索某一个节点:
str1=“某个名字”
find_self= graph.run("match (n:company{name:'%s'}) return n"%str1).data()
for node1 in find_self:
print(node1['n']['name']