Python se conecta a la base de datos Neo4j (a través del paquete de dependencia oficial)

Porté y traduje algunos de los contenidos más utilizados de la documentación oficial de la API.

Enlace original: Documentación de API: controlador Neo4j Python 5.9

-------------------------------------------------el siguiente inicio------------------------------------------------ - -------------------

Tabla de contenido

Consulta la base de datos (driver.execute_query):

Cláusula cifrada:

Métodos comunes (todos son llamadas de controlador):

driver.execute_query(consulta, parámetros, base de datos):

sesión (**config):

close(): cierra todas las conexiones en el grupo

verificar_conectividad (**config): Verifique que el controlador pueda establecer una conexión con el servidor

get_server_info(**config): obtiene información sobre el servidor Neo4j conectado

verificar_authentication (auth = Ninguno, ** config): compruebe si la información de autenticación es legal.

support_session_auth(): comprueba si el servidor remoto admite la reautenticación de la conexión.


Conéctese a la base de datos (controlador = GraphDatabse.driver (URI, AUTH)):

from neo4j import GraphDatabase

# URI examples: "neo4j://localhost", "neo4j+s://xxx.databases.neo4j.io"
URI = "<URI to Neo4j database>"
AUTH = ("<Username>", "<Password>")

with GraphDatabase.driver(URI, auth=AUTH) as driver: 
    driver.verify_connectivity() 
Driver对象仅在首次执行Cypher时才创建连接+池化,若要手动检测是否连接,使用verify_connectivity()

Consulta la base de datos (driver.execute_query):

Driver.execute_query()		# 执行查询

summary = driver.execute_query(
    "MERGE (:Person {name: $name})",  # 1.Cypher语句
    name="Alice",  					  # 2.查询参数
    database_="neo4j",  			  # 3.指定在哪个库执行
).summary		# summary对象返回Cypher执行的相关信息
print("Created {nodes_created} nodes in {time} ms.".format(
    nodes_created=summary.counters.nodes_created,	# 创建节点数目
    time=summary.result_available_after				# 创建节点花费时间
))

Nota: CREAR es nuevo, FUSIONAR coincide con lo existente; FUSIONAR puede coincidir con lo existente.

Cláusula cifrada:

  • Agregar
    • CREATE(: Concepto {nombre: 'John', enName: 'John'})
    • MERGE(: Concepto {nombre: 'John', enName: 'John'})
  • borrar
    • MATCH (n) WHERE ID(n) = {node_id} DELETE n [Eliminar por <id>, la condición se puede cambiar]
  • Revisar
    • MATCH (n) WHERE ID(n) = {node_id} SET n.name='newName'
  • Preguntar
    • MATCH (n) WHERE ID(n) = {node_id} RETURN n [Consulta por condición, la condición se puede cambiar]

Métodos comunes (todos son llamadas de controlador):

driver.execute_query ( consulta, parámetros, base de datos ):

  • Parámetros de entrada (1,2,4 se usan comúnmente) :
    • consulta: la declaración cifrada que se ejecutará
    • parámetros: la declaración utilizada en el momento de la ejecución
    • enrutamiento: si se debe enrutar la consulta al lector/escritor en el clúster. [lector (seguidor/réplica de lectura)/escritor] base de datos: seleccione en qué base de datos ejecutar la declaración. [Se recomienda especificar manualmente; de ​​lo contrario, primero se analizará la base de datos predeterminada]
    • impersonated_user: el nombre del usuario a suplantar. [Contexto de seguridad del usuario simulado]
    • autenticación: información de autenticación. [Utilice la configuración del controlador de forma predeterminada]
    • result_transformer: Transforma neo4j.Result en diferentes tipos [neo4j.Result -> registro, resumen, claves]
    • bookmark_manager: especifica el administrador de marcadores. [El valor predeterminado es ejecutar_query_bookmark_manager del controlador]
    • kwargs: Otros argumentos opcionales.
  • valor de retorno :
    • registros: resultados de la consulta devueltos (transitables)
    • resumen: información de ejecución de la declaración Cypyher

sesión ( **config ) :

  • Ingrese :
    • archivo de configuración de sesión (kv)
  • valor de retorno :
    • Objeto neo4j.Session (tipo de sesión)

close() : cierra todas las conexiones en el grupo

  • Ingresar:
    • Ninguno
  • valor de retorno:
    • Ninguno

verificar_conectividad ( **config ): verifica que el controlador pueda establecer una conexión con el servidor

  • Ingresar:
    • config (igual que sesión)
  • Aumentar:
    • Excepción: si el controlador no puede establecer una conexión con el control remoto, inicie una excepción para conocer el motivo específico
  • valor de retorno:
    • Ninguno

get_server_info ( **config ): obtiene información sobre el servidor Neo4j conectado

Intente establecer una conexión e intercambiar algunos datos para recuperar información. Si este método genera una excepción, aún se requiere close() para cerrar el controlador y liberar recursos.

  • Ingresar:
    • config (igual que sesión)

verificar_autenticación ( auth=None , **config ): comprueba si la información de autenticación es legal.

Similar a verificar_conectividad (), pero para verificar la autenticación.

  • Ingresar:
    • autenticación
    • configuración
  • Aumenta:
    • ídem
  • Retorno (tipo bool):
    • verdadero es legal; falso no es legal

support_session_auth (): comprueba si el servidor remoto admite la reautenticación de la conexión.

  • Valor de retorno (tipo bool):
    • verdadero apoyo; falso no apoya

Supongo que te gusta

Origin blog.csdn.net/weixin_45206129/article/details/131145749
Recomendado
Clasificación