기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
openCypher를 사용하여 Neptune 그래프에 액세스
Neptune은 현재 그래프 데이터베이스를 사용하는 개발자들 사이에서 가장 많이 사용되는 쿼리 언어 중 하나인 openCypher를 사용한 그래프 애플리케이션 구축을 지원합니다. 개발자, 비즈니스 분석가, 데이터 과학자는 openCypher의 SQL에서 영감을 받은 구문을 선호합니다. openCypher의 SQL에서 영감을 받은 구문은 그래프 애플리케이션용 쿼리를 구성하는 데 익숙한 구조를 제공하기 때문입니다.
openCypher는 속성 그래프용 선언적 쿼리 언어로, Neo4j에서 처음 개발한 후 2015년에 오픈 소스로 제공되었으며, Apache 2 오픈 소스 라이선스에 따라 openCypher
openCypher 사양에 대한 Neptune 지원의 제한 및 차이점에 대해서는 Amazon Neptune의 openCypher 사양 규정 준수를 참조하세요.
참고
Cypher 쿼리 언어의 현재 Neo4j 구현은 openCypher 사양과 몇 가지 면에서 차이가 있습니다. 현재 Neo4j Cypher 코드를 Neptune으로 마이그레이션하는 경우 자세한 내용은 Neo4j에 대한 Neptune의 호환성 및 Neptune에서 in openCypher 를 실행하기 위해 Cypher 쿼리 다시 작성을 참조하세요.
엔진 릴리스 1.1.1.0부터 openCypher는 Neptune에서 프로덕션 용도로 사용할 수 있습니다.
Gremlin과 openCypher 비교: 유사점 및 차이점
Gremlin과 openCypher는 모두 속성 그래프 쿼리 언어이며, 여러 면에서 상호 보완적입니다.
Gremlin은 프로그래머에게 도움이 되고 코드에 적합하도록 설계되었습니다. 즉, Gremlin은 설계상 꼭 필요하지만, openCypher의 선언적 구문은 SQL 또는 SPARQL을 사용해 본 사람에게는 더 익숙하게 느껴질 수 있습니다. Jupyter Notebook에서 Python을 사용하는 데이터 과학자에게는 Gremlin이 더 익숙할 수 있지만, openCypher는 SQL에 대한 배경 지식이 있는 비즈니스 사용자에게 더 직관적일 수 있습니다.
좋은 소식은 Neptune에서는 Gremlin과 openCypher 중 하나를 선택할 필요가 없다는 점입니다. 두 언어 중 무엇을 사용하여 데이터를 입력했는지에 관계없이 두 언어로 된 쿼리가 동일한 그래프에서 작동합니다. 수행 중인 작업에 따라 일부 작업에는 Gremlin을 사용하고 다른 작업에는 openCypher를 사용하면 더 편리할 수 있습니다.
Gremlin은 명령형 구문을 사용하여 일련의 단계에서 그래프 이동 방식을 제어할 수 있습니다. 각 단계는 데이터 스트림을 받아 필터, 맵 등을 사용하여 그래프에 대한 작업을 수행한 후 결과를 다음 단계로 출력합니다. Gremlin 쿼리는 일반적으로 g.V()
형식을 취하고, 그 다음에 추가 단계를 거칩니다.
openCypher에서는 SQL에서 영감을 받은 선언적 구문을 사용합니다. 이 구문은 모티브 구문(예: ()-[]->()
)을 사용하여 그래프에서 찾을 노드 및 관계 패턴을 지정합니다. openCypher 쿼리는 주로 MATCH
절로 시작하고 WHERE
, WITH
, RETURN
등의 다른 절이 뒤따릅니다.