Ejemplos de consultas parametrizadas de openCypher - 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 parametrizadas de openCypher

Neptune admite consultas de 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 abstracto (AST) en lugar de tener que analizarlo varias veces.

Ejemplo de una consulta parametrizada de openCypher con el punto de conexión HTTPS

A continuación se muestra un ejemplo de uso de una consulta parametrizada con el punto de conexión HTTPS de openCypher en Neptune. 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 de openCypher con Bolt

A continuación, se muestra un ejemplo de Python de una consulta parametrizada de openCypher 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 de Java de una consulta parametrizada de openCypher 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);