নিও 4 জে কীভাবে মুছে ফেলবেন / ডাটাবেস তৈরি করবেন?


104

মাইএসকিউএলের মতো গ্রাফ ডাটাবেস নিও 4 জজে বিভিন্ন ডাটাবেস তৈরি / মুছা সম্ভব ? অথবা, অন্তত, কিভাবে সব নোড এবং একটি বিদ্যমান গ্রাফ সম্পর্ক পরীক্ষার জন্য একটি পরিষ্কার সেটআপ পেতে মুছে ফেলতে, যেমন, শেল ব্যবহার অনুরূপ কমান্ড rmrelবা rm?

উত্তর:


98

আপনি কেবল সহ পুরো গ্রাফ ডিরেক্টরিটি মুছে ফেলতে পারেন rm -rf, কারণ নিও 4 জ এর বাইরে কিছু সংরক্ষণ করছে না:

rm -rf data/*

এছাড়াও, আপনি অবশ্যই সমস্ত নোডের মাধ্যমে পুনরাবৃত্তি করতে পারেন এবং তাদের সম্পর্কগুলি এবং নোডগুলি নিজেই মুছতে পারেন, তবে এটি কেবল পরীক্ষার জন্য খুব ব্যয়বহুল হতে পারে ...


7
এবং যদি আপনি সমস্ত নোডের উপরে পুনরাবৃত্তি করেন তবে রেফারেন্স নোডটি রেখে দেওয়া ভাল ধারণা হতে পারে।
নভো

6
গ্রাফ ডিরেক্টরিটি কোথায় অবস্থিত?
প্রমোদ

3
নিও 4j ডিরেক্টরিটির ডেটা ডিরেক্টরিতে এটি প্রমড করুন। আপনি এটি মিস করতে পারবেন না
ডিভশোর্টস

7
হোমব্রিউ সহ ম্যাকোএসএক্সে: / ওশার / লোকাল / সেলার
অ্যাশলে

5
সম্ভবত এই কমান্ডটি করার আগে আপনার neo4j সার্ভারটি বন্ধ করা ভাল ধারণা।
জন বাচির

98

সমস্ত নোড এবং সম্পর্কগুলি মুছতে আরও সহজ কমান্ড:

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

11
বিবৃতি জন্য +1। তবে সচেতন থাকুন, কারণ আপনি সমস্ত নোড মুছে ফেলেছেন, তার অর্থ এই নয় যে আপনি ব্যবহৃত লেবেলগুলি সম্পূর্ণ ভুলে গেছে। ব্রাউজারটি এখনও সমস্ত লেবেল প্রদর্শন করবে। নোড বৈশিষ্ট্য এবং সম্পর্কের লেবেলের জন্য ডিট্টো।
দিলুম রানাতুঙ্গা

@ দিলামরানতুঙ্গা ১. আপনি কি জানেন যে কীভাবে নিও লেবেলগুলি ভুলে যেতে পারবেন? ২. নোডগুলি মুছে ফেলা হয়, বা সম্পর্কের লেবেলগুলির সম্পর্কগুলি মুছে ফেলা হয় তবে কীভাবে নোডের বৈশিষ্ট্যগুলি টিকতে পারে?
জন বাচির

1
আমি আসল মান বলতে চাই না; আমি নিজেকে সম্পত্তি নাম বলতে চাই।
দিলুম রানাতুঙ্গা

5
কেবল নোড এবং প্রান্তই নয়, ডিবিতে সূচিও থাকতে পারে এবং সেগুলি থেকে মুক্তি পাওয়া আরও কঠিন। এছাড়াও, আমি মুছে ফেলা সহ বিশাল পুনরাবৃত্তি পরীক্ষা করে একটি ডিবি উদাহরণ নষ্ট করতে পেরেছি এবং এটি দেখতে শারীরিকভাবে ডিবি ফাইলগুলি মুছে ফেলা এবং নিও 4 জে পুনরায় চালু করার মাধ্যমে পারফরম্যান্সে একটি স্পষ্ট উন্নতি এনেছে।
প্রবাহিত করুন

ডক পাত্রে আমি নিও 4 জে স্মৃতি থেকে বেরিয়ে এসেছি।
bolec_kolec

52

Neo4j 2.3 থেকে,

আমরা সম্পর্কের সাথে সমস্ত নোড মুছতে পারি ,

MATCH (n)
DETACH DELETE n

Noe4j এ একাধিক ডাটাবেস তৈরির কোনও বিকল্প নেই। আপনার নিও 4j ডেটার একাধিক স্টোর তৈরি করতে হবে। রেফারেন্স দেখুন ।


3
আপনি যদি ফাইল সিস্টেমটি অবলম্বন করতে না চান তবে সেরা উত্তর।
থমাস এইচ

এই পদ্ধতির সাথে সমস্যাটি হ'ল এটি সীমাবদ্ধতা বা সূচিগুলি মুছে ফেলবে না
ডেভিড

47

নিও 4 জে নতুন ডাটাবেস তৈরি করা হচ্ছে

নিও 4 জনের সম্প্রদায়টি শুরুর আগে ব্রাউজ বিকল্পটি ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন

এবং একটি ভিন্ন ডিরেক্টরি চয়ন করুন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এবং স্টার্ট বোতামটি ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

সেই নির্দেশিকায় নতুন ডেটাবেস তৈরি করা হয়েছে


12

দ্রুত এবং নোংরা উপায় যা ভাল কাজ করে:

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

11

পরীক্ষার স্যুটটি চালানোর জন্য যে কারও কাছে পরিষ্কার গ্রাফ প্রয়োজন - https://github.com/jexp/neo4j-clean-remote-db-addon একটি REST কলের মাধ্যমে ডিবি সাফ করার অনুমতি দেওয়ার জন্য একটি দুর্দান্ত এক্সটেনশন। স্পষ্টতই, যদিও, এটি উত্পাদন ব্যবহার করবেন না!


এটি নোড 0 মুছবে বলে মনে হচ্ছে আমি কীভাবে এটি পুনরায় তৈরি করব?
উইল

1
আসলে, এটি রেফারেন্স নোড এড়িয়ে যায় ( github.com/jexp/neo4j-clean-remote-db-addon/blob/master/src/… )। তবে যদি আপনার রেফারেন্স নোড চলে যায় (এবং আপনার এটি প্রয়োজন হয়) আপনাকে একটি পরিষ্কার ডেটা ডির দিয়ে শুরু করতে হবে, যেহেতু setRefenceNode()এখনও কোনও কল নেই ( স্ট্যাকওভারফ্লো . com / প্রশ্নস / 18১683268২৩/২ )।
ম্যাট লুঙ্গো 20

7

আপনার পরীক্ষার কোডটি অন্য একটি নব্য 4 জে উদাহরণে চালান।

  1. আপনার neo4j ডিরেক্টরিটি একটি নতুন স্থানে অনুলিপি করুন। এটি পরীক্ষার জন্য ব্যবহার করুন। নতুন ডিরেক্টরিতে সিডি করুন।
  2. পোর্টটি পরিবর্তন করুন যাতে আপনি আপনার পরীক্ষা চালাতে পারেন এবং এটি একই সাথে ব্যবহার করতে পারেন। পোর্টটি খুলতে conf/neo4j-server.propertiesএবং org.neo4j.server.webserver.portএকটি অব্যক্ত স্থানে সেট করতে।
  3. সেটআপে পরীক্ষা সার্ভারটি শুরু করুন। কর ./neo4j stopএবং rm -rf data/graph.dbটিয়ারডাউন এ।

আরও তথ্যের জন্য neo4j দেখুন: কীভাবে ডেটাবেস স্যুইচ করবেন? এবং ডক্স


6

নিও 4 জে 2.0.0 এ? আর সমর্থিত নয়। পরিবর্তে বৈকল্পিক ম্যাচ ব্যবহার করুন:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;

6

সবচেয়ে সহজ উত্তর: না

"স্টার্ট ওভার" করার সেরা উপায়টি হল

  • অন্য খালি ডেটা ফোল্ডারে যান

অথবা

  • নিও 4 জে সম্পূর্ণ বন্ধ করুন
  • পুরানো ডেটা ফোল্ডারটি খালি করুন
  • Neo4j পুনরায় চালু করুন এবং খালি ফোল্ডারটি ডেটা ফোল্ডার হিসাবে সেট করুন

সমস্ত নোড এবং সম্পর্ক মুছে ফেলার একটি উপায় রয়েছে ( এখানে বর্ণিত হিসাবে )

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

1

2.0.0 -M6 এ আপনি সমস্ত নোড এবং সম্পর্কগুলি মুছতে নীচের সাইফার স্ক্রিপ্টটি কার্যকর করতে পারেন:

start n=node(*)
match (n)-[r?]-()
delete n,r

2
দুর্ভাগ্যক্রমে এটি সর্বশেষ ২.০.০ প্রকাশে একটি ত্রুটি তৈরি করে: সিনট্যাক্স এক্সেপশন: প্রশ্ন চিহ্নটি আর alচ্ছিক নিদর্শনগুলির জন্য ব্যবহৃত হয় না - এর পরিবর্তে বিকল্প পঠন ম্যাচটি ব্যবহার করুন (লাইন 1, কলাম 26) ==> "শুরু এন = নোড (*) ম্যাচ (এন) ) - [আর?] - () এন, আর মুছুন "

আমি ডাউনভোটগুলি বুঝতে পারি না, যেহেতু উত্তরটি 2.0.0 -M6 এ স্পষ্টভাবে বলা হয়েছে , আমি যখন প্রশ্নের উত্তর দিয়েছিলাম তখন এটি সর্বশেষতম সংস্করণ ছিল, যখন অন্যরা বর্তমানে সর্বশেষতম বিল্ডের জন্য সঠিক উত্তর সরবরাহ করেছিল।
মার্টিন সেলার

1

সংস্করণ 3 হিসাবে আমি বিশ্বাস করি পৃথক ডাটাবেস উদাহরণ তৈরি করা এখন সম্ভব এবং সুতরাং তাদের অবস্থানটি কিছুটা আলাদা different

উল্লেখ করে: https://neo4j.com/developer/guide-import-csv/

--Into খুচরা.ডাব স্পষ্টত লক্ষ্যবস্তু ডাটাবেস, যার মধ্যে বিদ্যমান ডাটাবেস থাকতে হবে না।

আমার উবুন্টু বাক্সে অবস্থানটি রয়েছে:

/var/lib/neo4j/data/databasesযেখানে আমি বর্তমানে কেবলমাত্র graph.dbযা দেখলাম তা অবশ্যই ডিফল্ট হতে হবে believe


0

আপনি আপনার ডেটা ফাইলগুলি মুছতে পারেন এবং আপনি যদি এই পথ দিয়ে যেতে চান তবে আমি কেবল আপনার গ্রাফ.ডিবি মুছে ফেলার পরামর্শ দেব। অন্যথায় আপনি আপনার প্রমাণীকরণ তথ্য বিশৃঙ্খল করতে যাচ্ছেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.