Exemples de requêtes openCypher paramétrées - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de requêtes openCypher paramétrées

Neptune prend en charge les requêtes paramétrées openCypher . Vous pouvez ainsi utiliser la même structure de requête plusieurs fois avec des arguments différents. Comme la structure de la requête ne change pas, Neptune peut mettre en cache son arbre de syntaxe abstrait (AST) plutôt que d'avoir à l'analyser plusieurs fois.

Exemple de requête openCypher paramétrée utilisant le point de terminaison HTTPS

Vous trouverez ci-dessous un exemple d'utilisation d'une requête paramétrée avec le point de terminaison Neptune. openCypher HTTPS Voici cette requête :

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

Les paramètres sont définis, comme suit :

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

Avec GET, vous pouvez soumettre la requête paramétrée comme suit :

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"

Vous pouvez également utiliser POST :

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

Ou, en utilisant 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"

Exemples de requêtes openCypher paramétrées utilisant Bolt

Voici un exemple en Python d'une requête openCypher paramétrée utilisant le protocole 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()

Voici un exemple Java de requête openCypher paramétrée utilisant le protocole 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);