[database] Neo4j에서 데이터베이스를 삭제 / 생성하는 방법은 무엇입니까?

MySQL과 같이 그래프 데이터베이스 Neo4j 에서 다른 데이터베이스를 생성 / 삭제할 수 있습니까? 또는 최소한 기존 그래프의 모든 노드와 관계를 삭제하여 테스트를위한 깨끗한 설정을 얻는 방법 (예 : rmrel또는 rm?



답변

rm -rfNeo4j는 그 외부에 아무것도 저장하지 않기 때문에을 사용하여 전체 그래프 디렉토리를 제거 할 수 있습니다 .

rm -rf data/*

또한 물론 모든 노드를 반복하고 관계와 노드 자체를 삭제할 수 있지만 테스트에는 너무 많은 비용이들 수 있습니다 …


답변

모든 노드와 관계를 삭제하는 더 간단한 명령 :

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r


답변

Neo4j 2.3부터

관계가있는 모든 노드를 삭제할 수 있습니다 .

MATCH (n)
DETACH DELETE n

현재 Noe4j에는 여러 데이터베이스를 생성 할 수있는 옵션이 없습니다. Neo4j 데이터의 여러 저장소를 만들어야합니다. 참조를 참조 하십시오 .


답변

Neo4j에서 새 데이터베이스 만들기

neo4j 커뮤니티를 시작하기 전에 찾아보기 옵션을 클릭하십시오

여기에 이미지 설명 입력

다른 디렉토리를 선택하십시오

여기에 이미지 설명 입력

여기에 이미지 설명 입력

시작 버튼을 클릭합니다.

여기에 이미지 설명 입력

해당 디렉토리에 생성 된 새 데이터베이스


답변

잘 작동하는 빠르고 더러운 방법 :

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start


답변

깨끗한 그래프를 필요로 다른 사람이 테스트 스위트를 실행하려면 – https://github.com/jexp/neo4j-clean-remote-db-addon은 지내는 호출을 통해 DB를 취소 할 수있는 좋은 확장이다. 하지만 프로덕션에서 사용하지 마세요!


답변

다른 neo4j 인스턴스에서 테스트 코드를 실행합니다.

  1. neo4j 디렉토리를 새 위치에 복사합니다. 테스트에 사용하십시오. 새 디렉토리로 cd하십시오.
  2. 테스트를 실행하고 동시에 정상적으로 사용할 수 있도록 포트를 변경하십시오. 포트 개방을 변경하고 사용하지 않는 포트로 conf/neo4j-server.properties설정 org.neo4j.server.webserver.port합니다.
  3. 설정시 테스트 서버를 시작하십시오. 수행 ./neo4j stoprm -rf data/graph.db분해합니다.

자세한 내용은 neo4j : 데이터베이스 전환 방법을 참조하십시오 . 문서 .