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