from fastapi import FastAPI
from pydantic import BaseModel
import os
from dotenv import load_dotenv
from neo4j import GraphDatabase
load_dotenv()
uri=os.getenv("uri")
user=os.getenv("user")
pwd=os.getenv("pwd")
class database(BaseModel):
db:str
def connection():
driver=GraphDatabase.driver(uri=uri,auth=(user,pwd))
return driver
app=FastAPI()
@app.post("/selectdb")
def selectdb(database:database):
driver_neo4j=connection()
session=driver_neo4j.session()
query = f":use {database.db}"
result = session.run(query)
return {"response: You have selected the database: " + database.db}
在Python Neo4j驱动程序中使用:use进行查询是不可能的,还是我在这里做错了什么?
1条答案
按热度按时间eeq64g8w1#
以冒号开头的命令,如
:use
,是只有neo4j浏览器才能理解的特殊命令。使用neo4j驱动程序时,需要指定创建Session时要使用的数据库的名称,例如,请参见Python驱动程序示例中的
with
子句,我将其摘录如下: