View a markdown version of this page

Contoh kueri parameter OpenCypher - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh kueri parameter OpenCypher

Neptunus mendukung kueri OpenCypher berparameter. Ini memungkinkan Anda menggunakan struktur kueri yang sama beberapa kali dengan argumen yang berbeda. Karena struktur kueri tidak berubah, Neptunus dapat men-cache pohon sintaks abstrak (AST) daripada harus menguraikannya beberapa kali.

Contoh kueri parameter OpenCypher menggunakan titik akhir HTTPS

Di bawah ini adalah contoh penggunaan kueri parameter dengan titik akhir Neptunus OpenCypher HTTPS. Kuerinya adalah:

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

Parameter didefinisikan sebagai berikut:

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

Anda dapat mengirimkan kueri parameter seperti ini:

AWS CLI
aws neptunedata execute-open-cypher-query \ --endpoint-url https://your-neptune-endpoint:port \ --open-cypher-query "MATCH (n {name: \$name, age: \$age}) RETURN n" \ --parameters '{"name": "john", "age": 20}'

Untuk informasi selengkapnya, lihat execute-open-cypher-querydi Referensi AWS CLI Perintah.

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.execute_open_cypher_query( openCypherQuery='MATCH (n {name: $name, age: $age}) RETURN n', parameters='{"name": "john", "age": 20}' ) print(response['results'])

Untuk contoh AWS SDK dalam bahasa lain, lihatAWS SDK.

awscurl
awscurl https://your-neptune-endpoint:port/openCypher \ --region us-east-1 \ --service neptune-db \ -X POST \ -d "query=MATCH (n {name: \$name, age: \$age}) RETURN n" \ -d 'parameters={"name": "john", "age": 20}'
catatan

Contoh ini mengasumsikan bahwa AWS kredensil Anda dikonfigurasi di lingkungan Anda. Ganti us-east-1 dengan Wilayah cluster Neptunus Anda.

curl

MenggunakanPOST :

curl https://your-neptune-endpoint:port/openCypher \ -d "query=MATCH (n {name: \$name, age: \$age}) RETURN n" \ -d "parameters={\"name\": \"john\", \"age\": 20}"

Menggunakan GET (dikodekan URL):

curl -X GET \ "https://your-neptune-endpoint:port/openCypher?query=MATCH%20%28n%20%7Bname:\$name,age:\$age%7D%29%20RETURN%20n&parameters=%7B%22name%22:%22john%22,%22age%22:20%7D"

MenggunakanDIRECT POST :

curl -H "Content-Type: application/opencypher" \ "https://your-neptune-endpoint:port/openCypher?parameters=%7B%22name%22:%22john%22,%22age%22:20%7D" \ -d "MATCH (n {name: \$name, age: \$age}) RETURN n"

Contoh kueri parameter OpenCypher menggunakan Bolt

Berikut adalah contoh Python dari kueri parameter OpenCypher menggunakan protokol 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()

Berikut adalah contoh Java dari kueri parameter OpenCypher menggunakan protokol 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);