Neo4j - Introduction to Neo4j and Cypher Query Language - NoSQL Databases #3
Neo4j: 그래프 데이터베이스 소개
섹션 개요: 이 섹션에서는 Neo4j라는 인기 있는 제품에 대해 이야기하며, 2000년부터 시작된 그래프 데이터베이스로의 사용 방법을 살펴봅니다.
Neo4j 개발 역사 및 배경
- 2000년에 개발 노력 시작, 관계형 데이터베이스로 문제 해결 불가능하여 라벨 속성 그래프 고안 후 생성.
- Neo4j의 발전 과정: 2000년 시작, 2007년 Neo4j 1.0 출시, 최신 버전은 2017년 Neo4j 3.2.
Neo4j 선택 이유와 고객사
- Walmart, eBay, Microsoft 등 유명 기업들이 활발하게 사용하는 제품으로 선택한 이유.
Neo4j 에디션과 다운로드
- Community Edition과 Enterprise Edition 존재. Community Edition은 단일 데이터베이스 인스턴스 용도, Enterprise Edition은 클러스터링 및 복제를 위한 기능 제공.
- Enterprise Edition 추천: 클러스터링, 복제 및 백업 기능 포함.
Neo4j Desktop 설치와 설정
섹션 개요: 이 부분에서는 Neo4j Desktop 소프트웨어의 설치와 설정 방법에 대해 알아봅니다.
Neo4j Desktop 다운로드 및 설치
- Neo4j 웹사이트에서 다운로드하고 설치하는 단계 상세 안내.
- Java가 시스템에 설치되어 있어야 하지만, Java Virtual Machine이 함께 제공되므로 문제 없음.
Offline 모드 활성화 및 프로젝트 생성
- 오프라인 모드 활성화하여 네트워크 연결 없이 작업 가능.
- 프로젝트 생성 후 데이터베이스 추가하여 활성화하고 실행.
데이터베이스 실행과 쿼리 작업
섹션 개요: 이 부분에서는 데이터베이스 실행과 쿼리 작업을 수행하는 방법에 대해 알아봅니다.
데이터베이스 실행 및 서버 상호작용
- 클라이언트를 사용하여 서버와 상호작용할 때 필요한 단계: 프로젝트 생성, 데이터베이스 시작 후 브라우저를 통해 그래프 조작 가능.
Cipher Query Language 활용
Cipher Query Language 소개
섹션 개요: 이 섹션에서는 Cipher Query Language에 대한 기본 구문과 SQL과의 유사성에 대해 설명합니다.
Cipher Query Language 특징
- SQL에 익숙하다면 Cipher를 쉽게 시작할 수 있음.
- Cipher 쿼리 언어는 다양한 클래스로 구성되어 있음.
- 읽기 및 노드 생성과 관련된 명령에 초점을 맞춘 수업 진행.
노드 생성 명령어
섹션 개요: 이 부분에서는 노드 생성과 관련된 작은 명령어에 초점을 맞추며, 단일 노드, 다중 노드, 레이블이 있는 노드 등을 다룬다.
노드 생성 방법
- 단일 노드 생성, 다중 노드 한 문장으로 생성, 레이블이 있는 노드 생성 등 다양한 방법 소개.
- 속성, 레이블, 그래프 모델 등의 개념을 이해해야 함.
- 사원 데이터베이스 예시를 통해 단일 노드 모델링 실습 진행.
속성 및 레이블 포함한 노드 생성
섹션 개요: 이 부분에서는 속성과 레이블을 포함한 노드를 어떻게 생성하는지 상세히 설명한다.
속성 및 레이블 추가
- create 명령어를 사용하여 속성 없는 단일 노드 생성하는 방법 설명.
- 'employee'라는 label을 가진 node를 만들고 확인하는 과정 안내.
E-collar, Employee, and Department
이 섹션에서는 Neo4j를 사용하여 노드를 생성하는 방법에 대해 다룹니다.
레이블을 사용한 노드 생성
- 직원은 교수가 될 수 있음을 설명하며, 여러 레이블을 가진 노드를 만드는 방법에 대해 소개합니다.
- 직원과 교수라는 두 가지 레이블을 가진 노드를 만들고, 이를 반환하는 방법을 안내합니다.
속성을 포함한 노드 생성
- 속성을 갖는 노드를 생성하는 방법에 대해 설명하며, 예시로 이름과 주소와 같은 속성을 추가하는 과정을 안내합니다.
- 이름과 주소와 같은 다양한 속성을 갖는 직원 노드를 생성하는 과정을 상세히 안내합니다.
노드 및 속성 시각화
데이터의 시각화 및 확인 방법에 대해 다루고 있습니다.
시각화 및 확인
- 생성된 노드의 속성 확인 및 그래프로 시각화하는 방법에 대해 설명합니다.
- 그래프 데이터의 다양한 시각화 형태와 이점에 대해 살펴봅니다.
속성이 있는 여러 개의 노드 생성
하나의 쿼리에서 여러 개의 노드를 동시에 생성하는 방법에 대해 다루고 있습니다.
여러 개의 속성이 있는 노드 생성
- 부서와 직원 등 여러 개의 노드를 한 번에 만들어 반환하는 과정을 상세히 안내합니다.
분석 쿼리 및 노드 속성
섹션 개요: 이 섹션에서는 매치 쿼리를 사용하여 특정 노드 유형을 반환하고, 노드 속성을 필터링하는 방법에 대해 설명합니다.
직원과 부서 노드 반환
- : 매치 쿼리를 사용하여 직원 노드만 반환합니다. 부서 노드는 제외됩니다.
- : 직원 및 부서 모두 반환하려면 각각의 레이블에 해당하는 노드만 선택할 수 있습니다.
- : 직원과 부서 노드를 모두 일치시키고 반환하는 방법을 보여줍니다.
노드 속성 필터링
섹션 개요: 이 섹션에서는 특정 레이블을 가진 모든 노드의 이름만 볼 수 있는 쿼리와 그래프 데이터베이스에서 속성을 필터링하는 방법에 대해 다루고 있습니다.
이름 필터링
- : 직원 레이블을 가진 모든 노드의 이름만 볼 수 있는 쿼리를 작성합니다.
- : 이름 속성을 가져오기 위한 쿼리 작성 방법과 결과 확인합니다.
- : 다양한 직원의 이름 속성 값을 확인하고 비어있는 경우 null로 표시됨을 설명합니다.
다중 속성 조회
섹션 개요: 이 섹션에서는 여러 유형의 노드에 대한 다중 속성 조회 방법에 대해 다루고 있습니다.
다중 속성 조회
- : 직원 및 부서 노드의 이름 속성을 한 번의 쿼리로 선택하는 방법을 설명합니다.
- : 직원 및 부서의 이름 속성 값을 동시에 가져오는 쿼리 작성과 결과 확인 과정을 안내합니다.
속성 값 필터링
섹션 개요: 이 섹션에서는 특정 조건으로 데이터를 필터링하여 원하는 결과를 얻는 방법에 대해 다루고 있습니다.
값 필터링
- : 직원 및 부서의 이름 값 가져오기와 관련된 예제를 제시하며 결과 확인합니다.
- : 데이터 필터링 후 원하는 결과인 Satish, scope 등의 값을 얻음으로써 목적 달성 과정 설명합니다.
노드 정보 업데이트
섹션 개요: 이 섹션에서는 기존 노드 정보를 업데이트하고 추가적인 속성을 설정하는 방법에 대해 다루고 있습니다.
정보 업데이트
- : 기존 노드에 추가적인 속성 설정하기 위해 set 절 활용방안과 예제 제시
급여 속성 추가
섹션 개요: 이 섹션에서는 특정 직원인 Satish에 대해 급여를 설정하고 추가하는 방법에 대해 설명합니다.
급여 속성 추가
- Satish라는 특정 직원의 급여를 20,000으로 설정합니다.
- e dot salary를 사용하여 Satish의 급여를 20,000으로 설정합니다.
- Satish의 급여 속성을 제거하는 방법에 대해 설명합니다.
여러 속성 추가 및 제거
섹션 개요: 이 부분에서는 데이터베이스에서 여러 속성을 추가하고 제거하는 방법에 대해 다루고 있습니다.
여러 속성 관리
- 데이터베이스에서 한 속성을 제거한 후, 다른 속성을 추가할 수 있음을 설명합니다.
- 노드의 특정 속성을 업데이트하고 이름을 변경하는 방법에 대해 언급합니다.
노드의 다중 속성 업데이트
섹션 개요: 이 부분에서는 노드의 다중 속성 업데이트에 대해 자세히 알아봅니다.
다중 속성 관리
- 노드에 여러 속성을 추가하거나 업데이트하는 방법에 대한 설명이 포함되어 있습니다.
라벨 변경 및 삭제
섹션 개요: 이 섹션은 라벨 변경과 삭제에 초점을 맞추고 있습니다.
라벨 조작
- 라벨 변경 시 remove와 set 명령어를 함께 사용하는 예시가 제시됩니다.
노드 삭제하기
섹션 개요: 마지막으로, 데이터베이스에서 특정 노드를 삭제하는 과정이 설명됩니다.
노드 삭제하기