MySQL과 같이 그래프 데이터베이스 Neo4j 에서 다른 데이터베이스를 생성 / 삭제할 수 있습니까? 또는 최소한 기존 그래프의 모든 노드와 관계를 삭제하여 테스트를위한 깨끗한 설정을 얻는 방법 (예 : rmrel
또는 rm
?
답변
rm -rf
Neo4j는 그 외부에 아무것도 저장하지 않기 때문에을 사용하여 전체 그래프 디렉토리를 제거 할 수 있습니다 .
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 인스턴스에서 테스트 코드를 실행합니다.
- neo4j 디렉토리를 새 위치에 복사합니다. 테스트에 사용하십시오. 새 디렉토리로 cd하십시오.
- 테스트를 실행하고 동시에 정상적으로 사용할 수 있도록 포트를 변경하십시오. 포트 개방을 변경하고 사용하지 않는 포트로
conf/neo4j-server.properties
설정org.neo4j.server.webserver.port
합니다. - 설정시 테스트 서버를 시작하십시오. 수행
./neo4j stop
및rm -rf data/graph.db
분해합니다.
자세한 내용은 neo4j : 데이터베이스 전환 방법을 참조하십시오 . 및 문서 .