그래프 데이터베이스 개요
데이터베이스 기술 변화
그래프 씽킹의 등장 과정을 보여주는 역사적 괌점의 데이터베이스 기술 변화
- 1960년대 : 계층형
- 1980년대 : 관계형
- 2000년대 : NoSQL
- 2020년대 : 그래프 씽킹
그래프 DB 소개
그래프 데이터는 수학적 그래프 이론을 토대를 두고 있으며, 개별 객체의 데이터를 나타내는 점(Node/Vertex), 성질이 비슷한 객체들의 묶음(Label), 객체 간의 관계를 표시하는 선(Edge) 으로 이루어져 있다

점과 선으로 인간관계를 보여주는 그래프의 개념
그래프 이론 용어
그래프 이론(graph theory)에 대한 용어에 대해 알아보자.
그래프 종류
| 용어 | 설명 |
|---|---|
| Graph | 물건의 관계를 Node와 Edge로 나누어 정리하는 데이터 구조 |
| Directed Graph | Node 간 Edge에 지향성을 갖는 그래프 |
| Undirected Graph | Node 간 Edge에 지향성이 없고, 2개 Node 간의 관계가 양방향 인 그래프 |
| Weighted Graph | Node 사이의 Edge에 가중치가있는 그래프 |
| Unweighted Graph | Node 사이의 Edge에 가중치가 없으며 어느 Edge도 동등한 강도인 그래프 |
Resources in Graph
| 용어 | 설명 |
|---|---|
| Node | Ontology에서 말하는 entity |
| Edge | Ontology에서 말하는 relation |
| Properties | Node, Edge와 관련된 정보 |
| Label | Ontology에서 말하는 Role |
온톨로지(Ontology)란?
사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를, 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다. - 출처: [Wiki](https://ko.wikipedia.org/wiki/%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80)
Properties on Node: Node 속성
| 용어 | 설명 |
|---|---|
| title | Node 이름 |
| caption | Node 설명 |
:Properties on Edge: Edge 속성
| 용어 | 설명 |
|---|---|
| Directionality | 연결 방향 |
| Weight | 연결 가중치 |
데이터 수집
| 용어 | 설명 |
|---|---|
| Node List | 모든 Node 목록 |
| Edge List | 모든 Edge 목록 |
| Adjacency Matrix | 모든 Node x 모든 Node의 2차원 테이블. 각 항목에는 Edge 상태가 수치 표현된다 (ex: -1: 연결이 없다, 1~N: Weight) |
| Neighbors | 한 노드에 인접한 노드 목록 |