neo4jneo4j 시작하기


비고

이 섹션에서는 neo4j가 무엇인지, 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.

또한 neo4j 내의 큰 주제를 언급하고 관련 주제에 링크해야합니다. neo4j에 대한 문서가 새롭기 때문에 이러한 관련 항목의 초기 버전을 만들어야 할 수도 있습니다.

Cypher 쿼리 언어

이것은 Cypher, Neo4j의 쿼리 언어입니다. 여러 가지면에서 Cypher는 익숙하다면 SQL과 유사합니다. SQL은 테이블에 저장된 항목을 참조하고 Cypher는 그래프에 저장된 항목을 참조합니다.

먼저, 우리는 그래프를 작성하고 관계를 추가하는 방법을 배우는 것으로 시작해야합니다. 왜냐하면 이것이 본질적으로 Neo4j의 전부이기 때문입니다.

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • CREATE 를 사용하여 데이터를 생성합니다.
  • 노드를 나타 내기 위해 괄호를 사용합니다 : ()
  • ab : Object 부분은 새 노드의 변수 'ab'와 레이블 'Object'와 같이 세분화 할 수 있습니다. 변수는 무엇이든 될 수 있지만 Cypher 쿼리 라인에서는 일관성이 있어야합니다.
  • 노드에 속성을 추가하려면 대괄호 ({})를 사용하십시오.

다음으로 MATCH를 찾는 방법에 대해 배웁니다.

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;
 

MATCH는 특정 노드 / 관계 패턴 (abc : Object)을 검색하려는 경우 abc 변수에 일치 항목을 저장하는 하나의 노드 Pattern (레이블 Object 포함)을 참조합니다. 이 전체 라인을 다음과 같이 생각할 수 있습니다.

abc =  find the matches that is an Object WHERE the destination is England.
 

이 경우 WHERE는 목적지가 England 여야한다는 제한 조건을 추가합니다. 모든 MATCH 쿼리에 대해 마지막에 return을 포함해야합니다 (neo4j는 Match를 받아들이지 않습니다 ... 쿼리는 항상 어떤 값을 리턴해야합니다 [이것은 또한 어떤 유형의 쿼리를 작성 하느냐에 달려 있습니다 ...] 나중에 우리가 할 수있는 다른 유형의 쿼리를 소개합니다.]

Cypher Query Language의 몇 가지 요소를 검토 한 후 다음 줄을 설명 할 것입니다. 이것은 우리가이 언어로 할 수있는 것을 맛보기위한 것입니다! 아래에서 'T'로 시작하는 영화의 캐스트를 가져 오는 예제를 찾을 수 있습니다.

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;
 

명령 및 구문에 대한 전체 목록은 공식 Neo4j Cypher Reference Card에서 확인할 수 있습니다 .

Neo4j 서버 설치 및 시작

전제 조건 단계 :

  • 컴퓨터에 Java 설치
  • neo4j 웹 사이트를 방문하여 "Community Edition 다운로드"링크를 클릭하거나 직접 다운로드 링크를 방문하십시오.
  • 다운로드 한 .tar 파일을 홈 디렉토리에 압축을 풉니 다.

콘솔에서 Neo4j를 시작하십시오 (헤드리스, 웹 서버 없음).

  • 압축을 푼 폴더의 /bin 디렉토리로 이동하여 터미널 ./neo4j console 에서 실행하십시오.
  • 이제 터미널에서 neo4j 쿼리를 실행할 수 있습니다.

Neo4j 웹 서버 시작

  • 압축을 푼 폴더의 / bin 폴더로 이동하여 터미널에서 실행합니다 ./neo4j start
  • http : // localhost : 7474 /를 방문 하십시오.
  • 처음으로 기본 계정으로 로그인하고 기본 비밀번호를 변경해야합니다. 커뮤니티 버전 3.0.3부터 기본 사용자 이름과 비밀번호는 neo4j 및 neo4j입니다.
  • 이제 웹 브라우저에 제공된 콘솔에 Neo4j 쿼리를 삽입하고 각 쿼리의 결과를 시각적으로 조사 할 수 있습니다.

Neo4j 웹 서버 시작

현재 (커뮤니티 에디션에서) 각 Neo4j 서버는 하나의 Neo4j 데이터베이스를 호스트 할 수 있으므로 새 데이터베이스를 설정하려면 다음을 수행하십시오.

  • 하위 디렉토리 /bin 방문하여 ./neo4j stop 을 실행하여 서버를 중지하십시오.
  • 하위 디렉토리 /conf 방문하여 neo4j.conf 파일을 편집하여 매개 변수 dbms.active_database 의 값을 작성하려는 새 데이터베이스의 이름으로 변경하십시오.
  • 서브 디렉토리 / bin을 다시 방문하여 ./neo4j start 실행 ./neo4j start
  • 웹 서버가 새로운 빈 데이터베이스로 다시 시작되었습니다. http : // localhost : 7474 / 를 다시 방문하여 새 데이터베이스에 대한 작업을 할 수 있습니다.
  • 생성 된 데이터베이스는 dbms.active_database 매개 변수에 지정된 이름을 가진 폴더 아래의 /data/databases 하위 디렉토리에 있습니다.

데이터베이스 중 하나를 삭제하십시오.

  • Neo4j 서버가 실행되고 있지 않은지 확인하십시오. / bin 하위 디렉토리로 이동하여 ./neo4j status 실행 ./neo4j status . 출력 메시지가 서버가 실행 ./neo4j stop 도 실행 ./neo4j stop .

  • 그런 다음 / data / databases 하위 디렉토리로 이동하여 제거 할 데이터베이스의 폴더를 삭제하십시오.

설치 또는 설정

웹 브라우저를 통해 OS 플랫폼을 감지해야하는 Neo4j 설치로 이동하여 OS의 일반적인 설치 지침을 다운로드하여 따르십시오.

Neo4j는 Java로 작성되었으므로 Java가 설치된 모든 플랫폼에서 실행되지만 Neo4j 팀은 널리 사용되는 플랫폼 (예 : Mac 용 .dmg, Debian 및 Ubuntu 용 .deb, .exe Windows 64 및 32 비트 플랫폼 용 ...).

사용 가능한 다른 버전 및 플랫폼을 검토하려면 기타 Neo4j Releases 페이지를 참조하십시오.

Docker 컨테이너로 Neo4j 설정 :

## Required : Docker machine, docker cli

# Pull neo4j image from the docker hub
docker pull neo4j

# create the docker container
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j

# If you are running docker directly on the host (e.g ubuntu, RHEL, CentOs etc)
#     Access the neo4j console at http://localhost:7474
# If you are on OSX/ Windows
#     Access the neo4j console at http://<docker-machine-ip>:7474
 

RDBMS 대 그래프 데이터베이스

RDBMS 그래프 데이터베이스
테이블 그래프
노드
열 및 데이터 속성 및 해당 값
제약 조건 관계
조인 순회