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