:通过Neo4j Python驱动程序使用

3yhwsihp  于 2023-02-19  发布在  Python
关注(0)|答案(1)|浏览(123)
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进行查询是不可能的,还是我在这里做错了什么?

eeq64g8w

eeq64g8w1#

以冒号开头的命令,如:use,是只有neo4j浏览器才能理解的特殊命令。
使用neo4j驱动程序时,需要指定创建Session时要使用的数据库的名称,例如,请参见Python驱动程序示例中的with子句,我将其摘录如下:

with driver.session(database="neo4j") as session:
    records, summary = session.execute_read(get_people)
    .
    .
    .

相关问题