Ejemplos de consultas openCypher parametrizadas - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de consultas openCypher parametrizadas

Neptune admite consultas openCypher parametrizadas. Esto le permite usar la misma estructura de consulta varias veces con argumentos diferentes. Como la estructura de la consulta no cambia, Neptune puede almacenar en caché su árbol de sintaxis abstracta (AST) en lugar de tener que analizarlo varias veces.

Ejemplo de una consulta openCypher parametrizada que utiliza el punto final HTTPS

A continuación, se muestra un ejemplo del uso de una consulta parametrizada con el punto final de Neptune. openCypher HTTPS La consulta es:

MATCH (n {name: $name, age: $age}) RETURN n

Los parámetros se definen como sigue:

parameters={"name": "john", "age": 20}

Con GET, puede enviar la consulta parametrizada de la siguiente manera:

curl -k \ "https://localhost:8182/openCypher?query=MATCH%20%28n%20%7Bname:\$name,age:\$age%7D%29%20RETURN%20n&parameters=%7B%22name%22:%22john%22,%22age%22:20%7D"

Como alternativa también puede utilizar POST.

curl -k \ https://localhost:8182/openCypher \ -d "query=MATCH (n {name: \$name, age: \$age}) RETURN n" \ -d "parameters={\"name\": \"john\", \"age\": 20}"

O con DIRECT POST:

curl -k \ -H "Content-Type: application/opencypher" \ "https://localhost:8182/openCypher?parameters=%7B%22name%22:%22john%22,%22age%22:20%7D" \ -d "MATCH (n {name: \$name, age: \$age}) RETURN n"

Ejemplos de consultas parametrizadas con Bolt openCypher

A continuación, se muestra un ejemplo en Python de una consulta openCypher parametrizada que utiliza el protocolo Bolt:

from neo4j import GraphDatabase uri = "bolt://[neptune-endpoint-url]:8182" driver = GraphDatabase.driver(uri, auth=("", "")) def match_name_and_age(tx, name, age): # Parameterized Query tx.run("MATCH (n {name: $name, age: $age}) RETURN n", name=name, age=age) with driver.session() as session: # Parameters session.read_transaction(match_name_and_age, "john", 20) driver.close()

A continuación, se muestra un ejemplo en Java de una consulta openCypher parametrizada que utiliza el protocolo Bolt:

Driver driver = GraphDatabase.driver("bolt+s://(your cluster endpoint URL):8182"); HashMap<String, Object> parameters = new HashMap<>(); parameters.put("name", "john"); parameters.put("age", 20); String queryString = "MATCH (n {name: $name, age: $age}) RETURN n"; Result result = driver.session().run(queryString, parameters);