Neo4j 용어
Neo4j에 대한 용어에 대해 설명한다.
관련 정보
Software
용어 | 설명 |
---|---|
Neo4j | Graph database 중 하나 |
Bolt | Neo4j의 공식 언어 드라이버 |
Web Tools
용어 | 설명 |
---|---|
Neo4j Browser | Neo4j를 조작하는 웹 도구. 데이터를 쿼리하고 시각화할 수 있는 인터페이스. |
Sandbox | Neo4j Browser를 사용한 테스트 DB (며칠 만에 사용하고 사라지는 무료 DB) |
Language
용어 | 설명 |
---|---|
Cypher Query | Neo4j의 쿼리 언어 |
Clause | Cypher 쿼리(ex: MATCH , CREATE , WHERE 등) |
Resources
용어 | 설명 |
---|---|
Node | 그래프 데이터 레코드 Entities or Objects in the graph |
Relationship | 노드를 연결하는 것 Node 간에 연결하는 정보(Edge) |
Property | 데이터 값의 속성값 Node와 Relationship과 함께 제공되는 정보. Key-Value 쌍. |
Label | Node의 역할을 나타내는 레이블. Ontology에서 말하는 Role |
Type | Relationship의 종류를 나타낸다. |
그래프 데이터 모델링
그래프 데이터 모델링
- 노드와 관계를 이용하여 연결(connected graph)로 기술하는 과정이다.
노드 (Node)
- 그래프를 이루는 가장 기초적인 단위이다.
- 개념적으로 유일한 대상(unique conceptual identity)이 된다.
- 관계(Relationship)를 통해 다른 노드와 연결되며, 하나 이상의 레이블(Label)과 속성(Properties)을 가질 수 있다.
관계 (Relationship)
- 노드 사이의 관계를 의미하며, 상호작용이다.
- 노드는 항상 단방향(One direction)의 방향성을 가지고 있으며, 다른 노드와의 관계 뿐만 아니라 자기 자신과의 재귀 관계도 가질 수 있다.
- 관계는 하나 이상의 속성을 가질 수 있다.
레이블 (Label)
- 비슷한 노드를 묶어 카테고리화 하기 위해 사용된다.
- 즉, 쿼리 최적화를 위해 사용된다. 레이블이 없는 경우 모든 노드가 한번에 조회되며, 레이블에는 속성이 존재하지 않는다.
- 여러 노드를 하나의 집합(set)으로 묶기 위해서 사용하는 이름을 가지는 그래프 구조체(named graph construct)이다.
- 동일한 레이블을 가지는 노드는 동일한 집합에 속한다.
- 도메인 객체의 역할(role)을 식별함으로써, 레이블을 식별할 할 수 있다.
속성 (Property)
- 노드나 관계에 저장하고 싶은 데이터를 Key-Value 형태로 저장할 수 있다.
일반 용어와 비교
Neo4j, Graph theory, Ontology 각각에서 거의 같은 의미로 사용되는 용어를 비교해 보면 아래와 같다.
Neo4j | Graph theory | Ontology |
---|---|---|
Node | Node | Entity |
Relationship | Edge | Relation |
Label | Label | Role |
최종 수정 : 2024-01-18