翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
openCypher パラメータ化されたクエリの例
Neptune はパラメータ化された openCypher クエリをサポートしています。これにより、同じクエリ構造を異なる引数で複数回使用できます。クエリ構造は変更されないため、Neptune は抽象構文ツリー (AST) を複数回解析するのではなくキャッシュできます。
openCypher エンドポイントを使用した anHTTPS パラメータ化されたクエリの例
以下は、Neptune openCypher HTTPS エンドポイントでパラメータ化されたクエリを使用する例です。クエリ は、次のとおりです。
MATCH (n {name: $name, age: $age}) RETURN n
パラメータの定義は次のとおりです。
parameters={"name": "john", "age": 20}
GET
を使用すると、次のようなパラメータ化されたクエリを送信できます。
curl -k \ "https://localhost:8182/openCypher?query=MATCH%20%28n%20%7Bname:\$name,age:\$age%7D%29%20RETURN%20n¶meters=%7B%22name%22:%22john%22,%22age%22:20%7D"
または、POST
を使用することもできます。
curl -k \ https://localhost:8182/openCypher \ -d "query=MATCH (n {name: \$name, age: \$age}) RETURN n" \ -d "parameters={\"name\": \"john\", \"age\": 20}"
または、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"
Bolt を使用した openCypher パラメータ化されたクエリの例
Bolt プロトコルを使用した an openCypher パラメータ化されたクエリの Python の例を次に示します。
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()
Bolt プロトコルを使用した an openCypher パラメータ化されたクエリの Java の例を次に示します。
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);