{#glossary-glossary} # 용어집 이 매뉴얼이 쓰는 용어이며, 각 용어를 제대로 다루는 페이지로 가는 링크를 함께 두었습니다. 여럿이 서로 나란히 놓여야만 뜻이 통하므로, 용어를 가나다순이 아니라 무엇을 설명하는지에 따라 묶었습니다. {#glossary-the-model} ## 모델 속성 그래프(property graph) : 데이터가 간선으로 이어진 정점의 집합이고, 그 둘 모두 이름 붙은 값을 지니는 데이터 모델입니다. AgensGraph는 속성 그래프 하나와 관계형 테이블 한 벌을 같은 데이터베이스에 담으며, 문장 하나가 둘 다 읽을 수 있습니다. [속성 그래프 모델](../concepts/property-graph-model.md)을 참고하십시오. 그래프(graph) : 이름이 붙은 속성 그래프입니다. 레이블 집합을 담는 그릇이자 `graph_path`가 고르는 단위입니다. 그래프는 `CREATE GRAPH`로 만드는 PostgreSQL 스키마입니다. [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md)를 참고하십시오. 정점(vertex) : 그래프 안의 개체 하나입니다. 사람, 영화, 계정 같은 것입니다. 정점은 식별자 하나와 정확히 하나의 레이블, 그리고 속성의 집합을 가집니다. `label[graphid]{properties}` 형태로 찍히며, 예를 들어 `movie[3.7]{"title": "Avatar"}` 입니다. [속성 그래프 모델](../concepts/property-graph-model.md)을 참고하십시오. 간선(edge) : 정점 둘 사이의 방향 있는 연결 하나이며, 자기 레이블과 속성을 가집니다. 간선은 양 끝점 없이는 존재할 수 없습니다. 모든 간선은 방향이 있고, 패턴은 어느 방향으로든 그것을 지날 수 있습니다. [속성 그래프 모델](../concepts/property-graph-model.md)을 참고하십시오. 속성(property) : 정점이나 간선에 붙은, 이름이 있는 값 하나입니다. `title`·`year`·`weight` 같은 것입니다. 속성에는 스키마가 없습니다. 레이블이 같은 정점 둘이 같은 키를 지녀야 할 이유가 없습니다. 속성들은 요소마다 하나씩 있는 `jsonb` 문서 안에 함께 삽니다. 속성 키는 식별자가 아니므로 키워드 예약이나 대소문자 접기의 영향을 받지 않습니다. [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md)를 참고하십시오. 레이블(label) : 정점이나 간선을 분류하는 이름이자 저장의 단위입니다. 레이블은 PostgreSQL 테이블입니다. 정점은 레이블을 정확히 하나 가지며, 정점을 만든 뒤에는 바꿀 수 없습니다. 레이블의 집합이란 것은 없습니다. [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md)를 참고하십시오. vlabel : 정점 레이블이며 `CREATE VLABEL`로 만드는 것입니다. 그 테이블은 `(id graphid, properties jsonb)`이고 그래프의 `ag_vertex`를 상속합니다. [데이터 정의](../reference/ddl/index.rst)를 참고하십시오. elabel : 간선 레이블이며 `CREATE ELABEL`로 만드는 것입니다. 그 테이블은 vlabel의 컬럼에 `start`와 `end`를 더하고 그래프의 `ag_edge`를 상속합니다. [데이터 정의](../reference/ddl/index.rst)를 참고하십시오. 레이블 상속(label inheritance) : 레이블은 다른 레이블을 상속할 수 있으며, 그래서 부모에 대한 일치가 모든 자식의 행도 함께 반환합니다. 레이블 집합 대신 개체 하나가 여러 역할을 맡는 방법이 이것입니다. `MATCH (n:parent ONLY)`이 그것을 끕니다. [레이블 상속](../concepts/label-inheritance.md)을 참고하십시오. {#glossary-identity-and-addressing} ## 식별과 지칭 graphid : 정점이나 간선의 식별자이자 일급 타입입니다. *레이블 id*`.`*로컬 id* 라는 숫자 둘로 찍히는 64비트 값입니다. 그래서 `3.7`은 레이블 3의 7번 행입니다. 그것을 반환하는 것은 `id(n)`입니다. `n.id`는 아닙니다. `id`는 평범한 속성 이름일 뿐이기 때문입니다. [제한](limits.md)을 참고하십시오. graph_path : 문장이 상대할 그래프를 가리키는 설정입니다. 기본값은 없습니다. `graph_path`가 설정돼 있지 않으면 모든 그래프 문장이 `ERROR: graph_path is NULL`로 거부됩니다. 세션에는 `SET graph_path = name`으로, 그 밖에 롤마다 또는 클러스터 전체에 설정할 수 있습니다. [설정](../operations/configuration.md)을 참고하십시오. {#glossary-querying} ## 쿼리 경로(path) : 정점과 간선이 번갈아 이어진 것이며, 생성자가 아니라 패턴이 만들어 냅니다. `MATCH p = (a)-[e]->(b)`가 그것을 `graphpath` 타입의 값으로 묶고, 그다음 `nodes()`· `relationships()`·`length()`가 그것을 읽습니다. [그래프 읽기](../querying/reading.md)를 참고하십시오. 순회(traversal) : 한 정점에서 간선을 따라 다른 정점에 닿는 것입니다. 그래프 쿼리는 키로 조인하는 대신 이것을 합니다. 깊이를 모르는 순회는 수량이 붙은 간선 `-[r*1..3]->`으로 씁니다. [그래프 읽기](../querying/reading.md)를 참고하십시오. 속성 인덱스(property index) : 속성 표현식에 대한 인덱스이며 `CREATE PROPERTY INDEX ON label (key)`로 만듭니다. 키가 `properties` 문서에 대한 표현식인 PostgreSQL 인덱스이고, 평범한 `CREATE INDEX`로는 그 키를 적을 수 없습니다. [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md)를 참고하십시오. 승격된 컬럼(promoted column) : 선언한 타입의 실제 컬럼을 받은 속성이며, `properties` 문서에서 생성되어 저장됩니다. 속성 읽기가 그 컬럼으로 해석되므로 그것에 대한 평범한 인덱스가 쿼리를 처리하고 값도 자기 타입을 지킵니다. 예제 데이터셋의 `movie.year`가 그런 것입니다. [`CREATE VLABEL`](../reference/ddl/create-vlabel.md)과 [`ALTER VLABEL`](../reference/ddl/alter-label.md)을 참고하십시오. {#glossary-the-languages} ## 언어 Cypher : AgensGraph가 처음부터 받아 온 그래프 쿼리 언어입니다. 선언형이고, 패턴을 ASCII로 그려 일치시킵니다. AgensGraph의 방언은 다른 구현과 비슷하지만 같지는 않습니다. [Cypher, GQL, SQL](../concepts/languages.md)과 [Cypher 호환성](cypher-compatibility.md)을 참고하십시오. GQL : 그래프 쿼리 언어의 국제 표준인 ISO/IEC 39075:2024입니다. 2.18 릴리스가 그 상당 부분을 구현했으며, `LET`·`NEXT`·`FILTER`·`FINISH`·`INSERT`·`FOR` 문장이 거기에 들어갑니다. GQL은 별도의 모드가 아닙니다. GQL의 문장과 Cypher의 문장은 한 파이프라인에서 자유롭게 섞입니다. [GQL 적합성](gql-conformance.md)을 참고하십시오. {#glossary-see-also} ## 관련 항목 - [속성 그래프 모델](../concepts/property-graph-model.md) — 예제를 곁들인 모델 설명 - [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md) — 위의 용어들이 어떻게 저장되는가 - [예제 데이터셋](../get_started/example-dataset.md) — 모든 예제가 쓰는 그래프