เป็นไปได้หรือไม่ที่จะสร้าง / ลบฐานข้อมูลต่างๆในฐานข้อมูลกราฟNeo4jเหมือนใน MySQL หรืออย่างน้อยวิธีการลบโหนดและความสัมพันธ์ทั้งหมดของกราฟที่มีอยู่เพื่อตั้งค่าใหม่ทั้งหมดสำหรับการทดสอบเช่นการใช้คำสั่งเชลล์ที่คล้ายกับrmrel
หรือrm
?
เป็นไปได้หรือไม่ที่จะสร้าง / ลบฐานข้อมูลต่างๆในฐานข้อมูลกราฟNeo4jเหมือนใน MySQL หรืออย่างน้อยวิธีการลบโหนดและความสัมพันธ์ทั้งหมดของกราฟที่มีอยู่เพื่อตั้งค่าใหม่ทั้งหมดสำหรับการทดสอบเช่นการใช้คำสั่งเชลล์ที่คล้ายกับrmrel
หรือrm
?
คำตอบ:
คุณสามารถลบไดเร็กทอรีกราฟทั้งหมดออกได้rm -rf
เนื่องจาก Neo4j ไม่ได้จัดเก็บอะไรไว้ภายนอก:
rm -rf data/*
นอกจากนี้คุณยังสามารถทำซ้ำผ่านโหนดทั้งหมดและลบความสัมพันธ์และโหนดของพวกเขาเองได้ แต่อาจมีค่าใช้จ่ายสูงเกินไปสำหรับการทดสอบ ...
คำสั่งที่ง่ายยิ่งขึ้นในการลบโหนดและความสัมพันธ์ทั้งหมด:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
เราสามารถลบโหนดทั้งหมดกับความสัมพันธ์ ,
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เป็นส่วนขยายที่ยอดเยี่ยมสำหรับการล้างฐานข้อมูลผ่านการเรียก REST เห็นได้ชัดว่าห้ามใช้ในการผลิต!
setRefenceNode()
โทร ( stackoverflow.com/questions/7186832/… )
รันโค้ดทดสอบของคุณบนอินสแตนซ์ neo4j อื่น
conf/neo4j-server.properties
และตั้งค่าorg.neo4j.server.webserver.port
เป็นพอร์ตที่ไม่ได้ใช้./neo4j stop
และrm -rf data/graph.db
ฉีกขาดดูรายละเอียดเพิ่มเติมได้ที่neo4j: How to Switch Database? และเอกสาร
ใน Neo4j 2.0.0? ไม่รองรับอีกต่อไป ใช้ OPTIONAL MATCH แทน:
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
คำตอบที่ง่ายที่สุดคือ: ไม่
วิธีที่ดีที่สุดในการ "เริ่มต้นใหม่" คือ
หรือ
มีวิธีลบโหนดและความสัมพันธ์ทั้งหมด (ตามที่อธิบายไว้ที่นี่ )
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
ใน 2.0.0 -M6 คุณสามารถรันสคริปต์ Cypher ต่อไปนี้เพื่อลบโหนดและความสัมพันธ์ทั้งหมด:
start n=node(*)
match (n)-[r?]-()
delete n,r
สำหรับเวอร์ชัน 3 ฉันเชื่อว่าตอนนี้สามารถสร้างอินสแตนซ์ฐานข้อมูลแยกกันได้แล้วดังนั้นตำแหน่งของพวกเขาจึงแตกต่างกันเล็กน้อย
อ้างถึง: https://neo4j.com/developer/guide-import-csv/
เห็นได้ชัดว่า --into retail.db เป็นฐานข้อมูลเป้าหมายซึ่งต้องไม่มีฐานข้อมูลที่มีอยู่
ในกล่อง Ubuntu ของฉันตำแหน่งอยู่ใน:
/var/lib/neo4j/data/databases
ซึ่งปัจจุบันฉันเห็นเฉพาะgraph.db
ที่ฉันเชื่อว่าต้องเป็นค่าเริ่มต้น
คุณสามารถลบไฟล์ข้อมูลของคุณและหากคุณต้องการดำเนินการด้วยวิธีนี้ฉันขอแนะนำให้ลบเฉพาะ graph.db ของคุณเช่น มิฉะนั้นคุณจะทำให้ข้อมูลการรับรองความถูกต้องของคุณยุ่งเหยิง