기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
openCypher 파라미터화된 쿼리의 예
Neptune은 parameterized openCypher 쿼리를 지원합니다. 이렇게 하면 인수가 다른 동일한 쿼리 구조를 여러 번 사용할 수 있습니다. 쿼리 구조는 변경되지 않으므로 Neptune은 여러 번 구문 분석할 필요 없이 추상 구문 트리(AST)를 캐싱할 수 있습니다.
HTTPS 엔드포인트를 사용한 an openCypher 파라미터 쿼리의 예
다음은 Neptune HTTPS openCypher 엔드포인트와 함께 파라미터화된 쿼리를 사용하는 예제입니다. 쿼리는 다음과 같습니다.
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 프로토콜을 사용하는 a 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 프로토콜을 사용하는 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);