openCypher パラメータ化されたクエリの例 - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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&parameters=%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);