Database Tutorials Cypher এর বেসিক Syntax গাইড ও নোট

443

Cypher হলো Neo4j-এর জন্য একটি বিশেষ Declarative Query Language, যা গ্রাফ ডেটাবেসের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে। এটি ব্যবহার করে নোড তৈরি, সম্পর্ক তৈরি এবং ডেটা অনুসন্ধানসহ বিভিন্ন কাজ করা যায়।


Cypher এর মূল উপাদান

Cypher ল্যাঙ্গুয়েজের কিছু মূল উপাদান রয়েছে, যেমন:

  1. নোড (Node)
  2. রিলেশনশিপ (Relationship)
  3. প্রপার্টি (Property)
  4. লেবেল (Label)

Cypher এর বেসিক Syntax

১. নোড তৈরি (Create Node)

নোড তৈরি করতে CREATE কীওয়ার্ড ব্যবহার করা হয়।

CREATE (n:Person {name: "Rahim", age: 30})  
  • n: নোডের জন্য একটি এলিয়াস।
  • Person: নোডের লেবেল।
  • {name: "Rahim", age: 30}: নোডের প্রপার্টি।

২. রিলেশনশিপ তৈরি (Create Relationship)

দুইটি নোডের মধ্যে সম্পর্ক তৈরি করতে CREATE এবং --> ব্যবহার করা হয়।

CREATE (a:Person {name: "Rahim"})-[:FRIEND_OF]->(b:Person {name: "Karim"})  
  • [:FRIEND_OF]: সম্পর্কের নাম।
  • a এবং b: নোডের এলিয়াস।

৩. ডেটা অনুসন্ধান (Query Nodes)

ডেটা খুঁজতে MATCH কীওয়ার্ড ব্যবহার করা হয়।

MATCH (n:Person)  
RETURN n  
  • MATCH: নোড খুঁজে বের করার জন্য।
  • RETURN: রেজাল্ট দেখানোর জন্য।

নির্দিষ্ট প্রপার্টি দিয়ে অনুসন্ধান করা:

MATCH (n:Person {name: "Rahim"})  
RETURN n  

৪. রিলেশনশিপ অনুসন্ধান (Query Relationships)

নোডের মধ্যে সম্পর্ক খুঁজতে --> বা <-- ব্যবহার করা হয়।

MATCH (a:Person)-[:FRIEND_OF]->(b:Person)  
RETURN a, b  
  • এখানে FRIEND_OF সম্পর্ক সহ নোডগুলো খোঁজা হয়েছে।

৫. প্রপার্টি আপডেট করা (Update Properties)

নোড বা রিলেশনশিপের প্রপার্টি আপডেট করতে SET ব্যবহার করা হয়।

MATCH (n:Person {name: "Rahim"})  
SET n.age = 31  
RETURN n  

৬. নোড মুছে ফেলা (Delete Node)

নোড বা রিলেশনশিপ মুছে ফেলতে DELETE ব্যবহার করা হয়।

MATCH (n:Person {name: "Rahim"})  
DELETE n  

নোট: নোডের সাথে সম্পর্ক থাকলে সরাসরি ডিলিট করা যাবে না। সম্পর্কগুলোও ডিলিট করতে হবে।

সম্পর্কসহ নোড ডিলিট করার জন্য:

MATCH (n:Person {name: "Rahim"})  
DETACH DELETE n  

৭. WHERE দিয়ে ফিল্টার করা

ডেটা ফিল্টার করতে WHERE ব্যবহার করা হয়।

MATCH (n:Person)  
WHERE n.age > 25  
RETURN n  

৮. Count এবং Aggregate ফাংশন

ডেটার উপর গণনা বা সংক্ষেপ করতে COUNT ব্যবহার করা হয়।

MATCH (n:Person)  
RETURN COUNT(n) AS totalPersons  

৯. ORDER BY দিয়ে সাজানো

ডেটা সাজানোর জন্য ORDER BY ব্যবহার করা হয়।

MATCH (n:Person)  
RETURN n.name, n.age  
ORDER BY n.age DESC  
  • DESC: ডেটা অবতরণক্রমে সাজায়।
  • ASC: ডেটা আরোহীক্রমে সাজায় (ডিফল্ট)।

১০. LIMIT দিয়ে সীমাবদ্ধ করা

ফলাফলের সংখ্যা সীমাবদ্ধ করতে LIMIT ব্যবহার করা হয়।

MATCH (n:Person)  
RETURN n  
LIMIT 5  

সম্পূর্ণ উদাহরণ

নোড তৈরি, সম্পর্ক তৈরি, এবং অনুসন্ধান:

CREATE (a:Person {name: "Rahim", age: 30})  
CREATE (b:Person {name: "Karim", age: 28})  
CREATE (a)-[:FRIEND_OF]->(b)  

MATCH (p:Person)-[:FRIEND_OF]->(f:Person)  
RETURN p.name, f.name  

সারাংশ

Cypher Query Language হলো Neo4j-এর একটি শক্তিশালী টুল, যা নোড এবং সম্পর্কের ডেটা পরিচালনা করতে ব্যবহৃত হয়। বেসিক CREATE, MATCH, WHERE, এবং DELETE এর মতো কমান্ডের মাধ্যমে সহজে ডেটা তৈরি, সংশোধন এবং অনুসন্ধান করা যায়।


Content added By
Promotion

Are you sure to start over?

Loading...