python中使用neo4j

参考上片问文档,除了在控制台输入查询外,还可在python中执行查询命令

1.find单个节点。查询tom信息

bash 复制代码
from py2neo import Graph

graph = 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等登录信息放进配置文件中。

bash 复制代码
import configparser
from py2neo import Graph

config = 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.查询指定个数的信息

python 复制代码
import configparser
from py2neo import Graph

config = 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.条件查询

python 复制代码
import configparser
from py2neo import Graph

config = 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出演的电影名称

python 复制代码
import configparser
from py2neo import Graph

config = 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中填写需要的查询命令,就能操作各种查询。

相关推荐
STLearner3 分钟前
SIGIR 2026 | LLM × Graph论文总结(图增强LLM,GraphRAG,Agent,多模态,知识图谱,搜索,推
人工智能·python·深度学习·神经网络·机器学习·数据挖掘·知识图谱
FreakStudio5 分钟前
MicroPython 内核开发者直接狂喜!这个 Claude 插件市场,把开发全流程做成了「对话式外挂」
python·单片机·嵌入式·面向对象·并行计算·电子diy
老陈说编程23 分钟前
12. LangChain 6大核心调用方法:invoke/stream/batch同步异步全解析,新手也能轻松学会
开发语言·人工智能·python·深度学习·机器学习·ai·langchain
给自己做减法28 分钟前
rag混合检索
人工智能·python·rag
014-code31 分钟前
Java 并发中的原子类
java·开发语言·并发
alphageek834 分钟前
Matlab linspace函数完全指南:从基础用法到进阶技巧
开发语言·其他·matlab
AI人工智能+电脑小能手34 分钟前
【大白话说Java面试题】【Java基础篇】第29题:静态代理和动态代理的区别是什么
java·开发语言·后端·面试·代理模式
善恶怪客34 分钟前
Java-数组和可变参数
java·开发语言
谭欣辰41 分钟前
LCS(最长公共子序列)详解
开发语言·c++·算法
RPGMZ1 小时前
RPGMakerMZ 地图存档点制作 标题继续游戏直接读取存档
开发语言·javascript·游戏·游戏引擎·rpgmz·rpgmakermz