Esempi di interrogazioni parametrizzate openCypher - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di interrogazioni parametrizzate openCypher

Neptune supporta le interrogazioni parametrizzate. openCypher Ciò consente di utilizzare la stessa struttura di query più volte con argomenti diversi. Poiché la struttura della query non cambia, Neptune può memorizzare nella cache la sua sintassi astratta tree AST () anziché doverla analizzare più volte.

Esempio di una query openCypher parametrizzata che utilizza l'endpoint HTTPS

Di seguito è riportato un esempio di utilizzo di una query parametrizzata con l'endpoint Neptune. openCypher HTTPS La query è:

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

I parametri sono definiti come segue:

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

Con GET è possibile inviare la query parametrizzata in questo modo:

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"

In alternativa, è possibile utilizzare POST:

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

Oppure, 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"

Esempi di interrogazioni parametrizzate che utilizzano Bolt openCypher

Ecco un esempio in Python di una query openCypher parametrizzata che utilizza il protocollo 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()

Ecco un esempio in Java di una query openCypher parametrizzata che utilizza il protocollo 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);