python中使用neo4j
参考上片问文档,除了在控制台输入查询外,还可在python中执行查询命令
1.find单个节点。查询tom信息
from py2neo import Graphgraph = Graph('bolt://xx.xx.xx.xx:7687',auth=("neo4j","neo4j1234"))
print ("数据库连接正常")result = graph.run("match (tom {name:'Tom Hanks'}) return tom")for record in result:person_node = record["tom"]print(person_node)
2.以节点中的某个属性去查询
修改了下脚本,将url等登录信息放进配置文件中。
import configparser
from py2neo import Graphconfig = configparser.ConfigParser()
config.read('config.ini')#获取数据库连接
neo4j_config = config['neo4j']
neo4j_url = neo4j_config['neo4jUrl']
neo4j_name = neo4j_config['neo4jName']
neo4j_passwd = neo4j_config['neo4jPasswd']graph = Graph(neo4j_url,auth=(neo4j_name,neo4j_passwd))
print ("数据库连接正常")result = graph.run("match (cloudAtlas {title:'Cloud Atlas'}) return cloudAtlas").data()for record in result:person_node = record["cloudAtlas"]print(person_node)
3.查询指定个数的信息
import configparser
from py2neo import Graphconfig = configparser.ConfigParser()
config.read('config.ini')#获取数据库连接
neo4j_config = config['neo4j']
neo4j_url = neo4j_config['neo4jUrl']
neo4j_name = neo4j_config['neo4jName']
neo4j_passwd = neo4j_config['neo4jPasswd']graph = Graph(neo4j_url,auth=(neo4j_name,neo4j_passwd))
print ("数据库连接正常")result = graph.run("match (cloudAtlas:Person) return cloudAtlas limit 10")for record in result:person_node = record["cloudAtlas"]print(person_node)
4.条件查询
import configparser
from py2neo import Graphconfig = configparser.ConfigParser()
config.read('config.ini')#获取数据库连接
neo4j_config = config['neo4j']
neo4j_url = neo4j_config['neo4jUrl']
neo4j_name = neo4j_config['neo4jName']
neo4j_passwd = neo4j_config['neo4jPasswd']graph = Graph(neo4j_url,auth=(neo4j_name,neo4j_passwd))
print ("数据库连接正常")result = graph.run("match (nineties:Movie) where nineties.released >= 1990 and nineties.released < 2000 return nineties.title limit 5")for record in result:person_node = record["nineties.title"]print(person_node)
5.查询出tom出演的电影名称
import configparser
from py2neo import Graphconfig = configparser.ConfigParser()
config.read('config.ini')#获取数据库连接
neo4j_config = config['neo4j']
neo4j_url = neo4j_config['neo4jUrl']
neo4j_name = neo4j_config['neo4jName']
neo4j_passwd = neo4j_config['neo4jPasswd']graph = Graph(neo4j_url,auth=(neo4j_name,neo4j_passwd))
print ("数据库连接正常")
query="match (tom:Person{ name:'Tom Hanks'})-[:ACTED_IN]->(tomHanksMovies) return tom, tomHanksMovies"
result = graph.run(query)for record in result:name = record["tom"]movies = record["tomHanksMovies"]print(name, movies)
后续的操作,只需要在query中填写需要的查询命令,就能操作各种查询。