Graph Database হল ArangoDB-এর অন্যতম গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ডেটার মধ্যে সম্পর্ক বিশ্লেষণ এবং পরিচালনার জন্য ব্যবহৃত হয়। ArangoDB গ্রাফ ডেটাবেসের জন্য শক্তিশালী Edge-Vertex মডেল এবং AQL কোয়েরি প্রদান করে, যা জটিল সম্পর্কযুক্ত ডেটার পরিচালনাকে সহজ এবং কার্যকর করে তোলে।
গ্রাফ ডেটাবেস কী?
গ্রাফ ডেটাবেস হল এমন একটি ডেটা মডেল যেখানে ডেটা Vertex (নোড) এবং সম্পর্ক Edge (লাইন বা সংযোগ) দিয়ে উপস্থাপন করা হয়।
- Vertex: ডেটার নির্দিষ্ট একটি একক (যেমন, ব্যক্তি, পণ্য)।
- Edge: দুটি Vertex-এর মধ্যে সম্পর্ক (যেমন, বন্ধুত্ব, ক্রয়)।
ArangoDB-তে গ্রাফ ডেটাবেসের বৈশিষ্ট্য
Multi-Model Database সমর্থন
- ডকুমেন্ট এবং গ্রাফ ডেটা একই ডাটাবেসে পরিচালনা করা যায়।
- গ্রাফ ডেটা ডকুমেন্ট ফর্ম্যাটে সংরক্ষিত হয়, যা সহজেই AQL দিয়ে অ্যাক্সেসযোগ্য।
Edge-Vertex মডেল
- গ্রাফ তৈরি করার জন্য Vertex এবং Edge কালেকশন ব্যবহার করা হয়।
- Edge-এ সম্পর্ক সংরক্ষণ এবং Vertex-এ মূল ডেটা সংরক্ষণ করা হয়।
Graph Traversal
- গ্রাফ নেভিগেট করার জন্য Traversal Queries।
- জটিল সম্পর্ক বিশ্লেষণের জন্য Shortest Path এবং Pattern Matching।
AQL দিয়ে Graph Operations
- Arango Query Language (AQL) ব্যবহার করে গ্রাফ ডেটাবেসে অপারেশন পরিচালনা করা যায়।
- Relationship এবং নোডের ডেটা দ্রুত ফিল্টার এবং প্রসেস করা সম্ভব।
গ্রাফ ডেটাবেসে কাজ করার ধাপ
১. Vertex এবং Edge কালেকশন তৈরি
- Vertex কালেকশন: ডেটার মূল একক সংরক্ষণ করতে।
- Edge কালেকশন: Vertex-এর মধ্যে সম্পর্ক সংরক্ষণ করতে।
২. Vertex তৈরি
INSERT { _key: "person1", name: "Rahim", age: 30 } INTO vertices
৩. Edge তৈরি
INSERT { _from: "vertices/person1", _to: "vertices/person2", relationship: "friend" } INTO edges
৪. Graph Traversal Query চালানো
FOR v, e, p IN 1..3 OUTBOUND "vertices/person1" edges
RETURN v
- এই কোয়েরি
person1থেকে ১-৩ স্তরের গভীরতায় আউটবাউন্ড সংযোগ খুঁজে বের করে।
উদাহরণ: সোশ্যাল নেটওয়ার্ক গ্রাফ
Vertex তৈরি
INSERT { _key: "user1", name: "Aisha" } INTO users
INSERT { _key: "user2", name: "Karim" } INTO users
Edge তৈরি
INSERT { _from: "users/user1", _to: "users/user2", relationship: "friend" } INTO friendships
বন্ধুত্ব সম্পর্ক খুঁজে বের করা
FOR v IN 1..1 OUTBOUND "users/user1" friendships
RETURN v.name
- এটি
user1এর বন্ধুদের নাম ফিরিয়ে দেবে।
Graph Traversal Queries
Shortest Path খুঁজে বের করা
FOR v, e IN OUTBOUND SHORTEST_PATH "vertices/start" TO "vertices/end" edges
RETURN v
বিন্যাসমাধ্যমে সম্পর্ক বিশ্লেষণ
FOR v, e IN ANY "vertices/person1" edges
FILTER e.relationship == "friend"
RETURN v
ArangoDB গ্রাফ ডেটাবেসের উপকারিতা
- সম্পর্ক বিশ্লেষণে কার্যকরী: সোশ্যাল নেটওয়ার্ক, রিকমেন্ডেশন সিস্টেম ইত্যাদিতে ব্যবহৃত।
- Traversal সুবিধা: গ্রাফের গভীরতায় সম্পর্ক খুঁজে বের করার জন্য।
- বিল্ট-ইন ইন্টিগ্রেশন: ডকুমেন্ট এবং কী-মান ডেটার সাথে গ্রাফ ডেটা সমর্থন।
- উচ্চ কার্যক্ষমতা: গ্রাফ অপারেশনের জন্য অপ্টিমাইজড স্টোরেজ এবং প্রসেসিং।
সারাংশ
ArangoDB-তে গ্রাফ ডেটাবেস জটিল সম্পর্ক বিশ্লেষণের জন্য একটি শক্তিশালী সমাধান। এর Vertex-Edge মডেল এবং AQL সমর্থন এটি ডেভেলপারদের জন্য সহজ এবং কার্যকর করে তুলেছে। গ্রাফ ট্রাভার্সাল, শর্টেস্ট পাথ, এবং রিলেশনাল অ্যানালাইসিসের জন্য ArangoDB একটি উন্নত ডেটাবেস মডেল।
গ্রাফ ডেটাবেস এমন একটি ডেটাবেস মডেল যা নোড (Node) এবং এজ (Edge) এর মাধ্যমে ডেটা এবং ডেটার সম্পর্ক সংরক্ষণ করে। ArangoDB তার মাল্টি-মডেল আর্কিটেকচারের একটি অংশ হিসেবে গ্রাফ ডেটাবেস সমর্থন করে, যেখানে ডেটার মধ্যে সম্পর্কগুলো দক্ষতার সাথে পরিচালনা করা যায়। এটি বিশেষ করে সোশ্যাল নেটওয়ার্ক, রিকমেন্ডেশন সিস্টেম, এবং জটিল নেটওয়ার্ক অ্যানালাইসিসের জন্য ব্যবহৃত হয়।
গ্রাফ ডেটাবেসের মূল উপাদান
নোড (Node)
- গ্রাফ ডেটাবেসে প্রতিটি ডেটা আইটেমকে একটি নোড হিসেবে চিহ্নিত করা হয়।
- উদাহরণ: একটি সোশ্যাল নেটওয়ার্কে একটি ব্যবহারকারী।
এজ (Edge)
- এজ হলো নোডগুলোর মধ্যে সংযোগ বা সম্পর্ক।
- উদাহরণ: দুটি ব্যবহারকারীর মধ্যে বন্ধুত্বের সম্পর্ক।
প্রোপার্টি
- নোড এবং এজ উভয়েরই নিজস্ব প্রোপার্টি বা অ্যাট্রিবিউটস থাকতে পারে।
- উদাহরণ: নোডে ব্যবহারকারীর নাম, বয়স; এজে সম্পর্কের ধরন বা সময়।
ArangoDB তে গ্রাফ ডেটাবেসের বৈশিষ্ট্য
Vertex এবং Edge Collections
- নোডগুলো Vertex Collection এ সংরক্ষণ করা হয়।
- সম্পর্কগুলো Edge Collection এ সংরক্ষণ করা হয়।
AQL এর মাধ্যমে গ্রাফ কোয়েরি
- ArangoDB-এর AQL কোয়েরি ভাষা ব্যবহার করে গ্রাফ ট্রাভার্সাল এবং সম্পর্ক বিশ্লেষণ করা যায়।
গ্রাফ ট্রাভার্সাল
- এক বা একাধিক লেভেলের সংযোগ অনুসরণ করে সম্পর্ক খুঁজে বের করা।
- উদাহরণ: বন্ধুর বন্ধুর খোঁজ করা।
দ্রুত কার্যক্ষমতা
- ArangoDB RocksDB স্টোরেজ ইঞ্জিনের মাধ্যমে বড় গ্রাফ ডেটা ম্যানেজ করতে পারে।
উদাহরণ: গ্রাফ তৈরি এবং পরিচালনা
১. Vertex Collection তৈরি:
db._create("Users")
২. Edge Collection তৈরি:
db._createEdgeCollection("Friends")
৩. Vertex এ ডেটা যোগ করা:
db.Users.insert({ _key: "user1", name: "Alice" })
db.Users.insert({ _key: "user2", name: "Bob" })
৪. Edge এ সম্পর্ক যোগ করা:
db.Friends.insert({ _from: "Users/user1", _to: "Users/user2" })
৫. গ্রাফ ট্রাভার্সাল কোয়েরি:
FOR v, e, p IN 1..2 OUTBOUND "Users/user1" GRAPH "myGraph"
RETURN v
ArangoDB গ্রাফ ডেটাবেসের উপকারিতা
জটিল সম্পর্ক বিশ্লেষণে কার্যকরী
- জটিল সম্পর্কিত ডেটার দ্রুত বিশ্লেষণ করা যায়।
সহজ ট্রাভার্সাল
- AQL ব্যবহার করে সহজেই নোড এবং এজের মধ্যকার সংযোগ খুঁজে পাওয়া যায়।
মাল্টি-মডেল সমর্থন
- ডকুমেন্ট এবং কী-মান ডেটার পাশাপাশি গ্রাফ ডেটা ব্যবস্থাপনা।
বড় আকারের ডেটার জন্য স্কেলেবিলিটি
- বড় গ্রাফ ডেটা সেটেও ArangoDB দক্ষতার সাথে কাজ করতে পারে।
ব্যবহার ক্ষেত্র
- সোশ্যাল নেটওয়ার্ক অ্যানালাইসিস: বন্ধু, অনুসরণকারী, এবং কমিউনিটি ডেটা বিশ্লেষণ।
- রিকমেন্ডেশন সিস্টেম: পণ্য বা পরিষেবার সুপারিশ।
- রুট অপ্টিমাইজেশন: সড়ক, লজিস্টিক, এবং যোগাযোগ।
- জ্ঞান ভিত্তি: বিভিন্ন ডোমেইনের সম্পর্ক বিশ্লেষণ।
সারাংশ
ArangoDB তে গ্রাফ ডেটাবেস ডেটার মধ্যে জটিল সম্পর্কগুলো সহজ এবং দ্রুত বিশ্লেষণের জন্য একটি শক্তিশালী সমাধান। এর Vertex এবং Edge Collections, AQL কোয়েরি ভাষা, এবং সহজ ট্রাভার্সাল প্রক্রিয়া এটি জটিল নেটওয়ার্ক এবং সম্পর্কিত ডেটার জন্য অত্যন্ত কার্যকরী করে তুলেছে।
ArangoDB তে Vertex (নোড) এবং Edge (সম্পর্ক) ব্যবহার করে গ্রাফ ডেটা মডেলিং করা হয়। Vertex হলো ডেটার উপস্থাপন এবং Edge হলো Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে। ArangoDB তে এই উপাদানগুলো তৈরির জন্য Document Collections এবং Edge Collections ব্যবহার করা হয়।
Vertex তৈরি করা
Vertex এর ধারণা
- Vertex হলো ডেটার একটি একক বিন্দু বা অবজেক্ট।
- এটি সাধারণত একটি Document Collection এ সংরক্ষণ করা হয়।
Vertex তৈরির প্রক্রিয়া
১. একটি Document Collection তৈরি করুন
CREATE COLLECTION "vertices"
এটি vertices নামে একটি Document Collection তৈরি করে।
২. Vertex ডেটা যোগ করুন
INSERT {
_key: "vertex1",
name: "Node A",
type: "Category"
} INTO vertices
এটি vertices Collection এ একটি Vertex যোগ করে, যেখানে _key ডেটার একটি অনন্য আইডেন্টিফায়ার।
৩. একাধিক Vertex যোগ করুন
INSERT { _key: "vertex2", name: "Node B", type: "Item" } INTO vertices
INSERT { _key: "vertex3", name: "Node C", type: "Item" } INTO vertices
এটি একই Collection এ আরও Vertex যোগ করে।
Edge তৈরি করা
Edge এর ধারণা
- Edge হলো Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে।
- এটি একটি Edge Collection এ সংরক্ষণ করা হয়।
Edge তৈরির প্রক্রিয়া
১. একটি Edge Collection তৈরি করুন
CREATE COLLECTION "edges" TYPE EDGE
এটি edges নামে একটি Edge Collection তৈরি করে, যেখানে TYPE EDGE নির্দেশ করে এটি Edge স্টোর করার জন্য ব্যবহৃত হবে।
২. Edge ডেটা যোগ করুন
INSERT {
_from: "vertices/vertex1",
_to: "vertices/vertex2",
relation: "connected_to"
} INTO edges
এটি vertex1 এবং vertex2 এর মধ্যে একটি সম্পর্ক তৈরি করে। _from এবং _to ফিল্ডে সংশ্লিষ্ট Vertex এর _key উল্লেখ করতে হবে।
৩. একাধিক Edge যোগ করুন
INSERT { _from: "vertices/vertex2", _to: "vertices/vertex3", relation: "linked_to" } INTO edges
INSERT { _from: "vertices/vertex1", _to: "vertices/vertex3", relation: "related_to" } INTO edges
এটি আরও দুটি Edge তৈরি করে, যা Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে।
গ্রাফ তৈরি করা
Graph Collection সংজ্ঞায়িত করা
ArangoDB তে একটি Graph তৈরি করতে Graph API ব্যবহার করা হয়। এটি Edge এবং Vertex Collection সমন্বিতভাবে কাজ করে।
১. একটি গ্রাফ তৈরি করুন
CREATE GRAPH "myGraph"
OPTIONS {
edgeDefinitions: [
{ collection: "edges",
from: ["vertices"],
to: ["vertices"]
}
]
}
এটি myGraph নামে একটি গ্রাফ তৈরি করে, যেখানে vertices Collection Vertex গুলো ধারণ করে এবং edges Collection Edge গুলো পরিচালনা করে।
Vertex এবং Edge ব্যবহার করে গ্রাফ ট্রাভার্সাল
১. একটি গ্রাফ ট্রাভার্সাল চালান
FOR v, e IN 1..2 OUTBOUND "vertices/vertex1" GRAPH "myGraph"
RETURN { vertex: v, edge: e }
এটি vertex1 থেকে এক বা দুই স্তরের মধ্যে সমস্ত Vertex এবং তাদের সম্পর্কিত Edge গুলো ফেরত দেয়।
সারাংশ
ArangoDB তে Vertex এবং Edge তৈরি করা সহজ এবং কার্যকর। Vertex ডেটা উপস্থাপন করে, আর Edge সম্পর্ক নির্ধারণ করে। Document এবং Edge Collection তৈরি করার মাধ্যমে জটিল গ্রাফ ডেটা মডেলিং সম্ভব হয়, যা ডেটার জটিল সম্পর্ক বিশ্লেষণে সহায়ক।
Graph Traversal Queries ArangoDB-তে গ্রাফ ডেটার মধ্যে সম্পর্ক বুঝতে এবং প্রাসঙ্গিক তথ্য অনুসন্ধানের জন্য ব্যবহৃত হয়। ArangoDB তে গ্রাফ ডেটাবেসে Vertex (নোড) এবং Edge (লিঙ্ক) ব্যবহার করে ডেটা মডেল করা হয়। AQL (ArangoDB Query Language) এর মাধ্যমে গ্রাফ ট্রাভার্সাল করা যায়।
Graph Traversal এর মূল ধারণা
Traversal মানে হলো একটি Graph এর নোড বা ভের্টেক্স থেকে একটি নির্দিষ্ট পথ অনুসরণ করে ডেটা বের করা। এটি সাধারণত বিভিন্ন লেভেল বা দূরত্বের সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়।
প্রধান উপাদান:
- Vertex: নোড বা ডেটার একক।
- Edge: নোডগুলোর মধ্যে সংযোগ।
- Direction: Traversal-এর সময় সংযোগের দিক (Inbound/Outbound/Both)।
Graph Traversal Queries এর গঠন
FOR vertex, edge, path IN min..max
OUTBOUND start_vertex edge_collection
RETURN vertex
উপাদানের ব্যাখ্যা:
min..max: ট্রাভার্সাল গভীরতার সীমা।OUTBOUND: সংযোগের দিক নির্দেশ করে। (Inbound/Outbound/Both)start_vertex: ট্রাভার্সাল শুরু করার নোড।edge_collection: সংযোগগুলো সংরক্ষিত যেখানে।RETURN: ফলাফল হিসেবে কোন উপাদান চাই তা নির্ধারণ করে।
Graph Traversal এর উদাহরণ
1. সরাসরি সংযুক্ত Vertex খোঁজা
নিচের উদাহরণে friends একটি Edge Collection, যা সংযোগ সংরক্ষণ করে।
FOR vertex IN 1..1
OUTBOUND "users/user1" friends
RETURN vertex
এটি user1 এর direct friends খুঁজে বের করবে।
2. নির্দিষ্ট লেভেলের Traversal
FOR vertex IN 2..3
OUTBOUND "users/user1" friends
RETURN vertex
এটি user1 থেকে দ্বিতীয় এবং তৃতীয় লেভেলের সংযুক্ত vertex রিটার্ন করবে।
3. Path সহ ফলাফল
FOR vertex, edge, path IN 1..2
OUTBOUND "users/user1" friends
RETURN { vertex, edge, path }
এটি Vertex, Edge, এবং Path এর সম্পূর্ণ তথ্য প্রদান করবে।
4. Inbound Traversal (Reverse Direction)
FOR vertex IN 1..1
INBOUND "users/user1" friends
RETURN vertex
এটি user1 এর সাথে incoming connections খুঁজে বের করবে।
5. Both Directions Traversal
FOR vertex IN 1..1
ANY "users/user1" friends
RETURN vertex
এটি user1 এর incoming এবং outgoing connections উভয়ই রিটার্ন করবে।
Filters এবং Conditions প্রয়োগ
Traversed ডেটাতে নির্দিষ্ট শর্ত প্রয়োগ করার জন্য FILTER ব্যবহার করা হয়।
Example: নির্দিষ্ট শর্তে Traversal
FOR vertex IN 1..2
OUTBOUND "users/user1" friends
FILTER vertex.age > 25
RETURN vertex
এটি user1 এর ১ থেকে ২ লেভেলের বন্ধুদের মধ্যে যাদের বয়স ২৫ এর বেশি তাদের রিটার্ন করবে।
Graph Statistics এবং Aggregation
Vertex Count
FOR vertex IN 1..1
OUTBOUND "users/user1" friends
COLLECT WITH COUNT INTO total
RETURN total
এটি user1 এর মোট সরাসরি সংযুক্ত Vertex সংখ্যা রিটার্ন করবে।
Edge Attributes
FOR vertex, edge IN 1..1
OUTBOUND "users/user1" friends
RETURN edge.relationship
এটি সংযোগের Edge Attributes (যেমন: সম্পর্কের ধরণ) রিটার্ন করবে।
Graph Traversal Visualization
ArangoDB এর Web Interface ব্যবহার করে ট্রাভার্সালের ফলাফল সহজে ভিজুয়ালাইজ করা যায়। Traversal কোয়েরি চালানোর পর, Web Interface এ গ্রাফিকাল আউটপুট দেখা যাবে।
সারাংশ
Graph Traversal Queries ArangoDB তে গ্রাফ ডেটার মধ্যকার সম্পর্ক বিশ্লেষণ করতে এবং জটিল গ্রাফ অপারেশন সম্পাদন করতে সাহায্য করে। AQL এর সহজ এবং শক্তিশালী গঠন এটি কার্যকরভাবে পরিচালনা করতে সহায়তা করে।
ArangoDB Query Language (AQL) ব্যবহার করে গ্রাফের ডেটা পরিচালনা করা এবং বিভিন্ন গ্রাফ অপারেশন চালানো সম্ভব। ArangoDB এর গ্রাফ মডেলটি মূলত Vertex (নোড) এবং Edge (সম্পর্ক) এর মাধ্যমে তৈরি হয়। AQL ব্যবহার করে গ্রাফ traversal, shortest path, এবং আরও জটিল অপারেশন সম্পন্ন করা যায়।
Graph Traversal
গ্রাফ ট্র্যাভার্সাল হলো একটি নোড থেকে শুরু করে সংশ্লিষ্ট নোড এবং এজগুলোর উপর ভিত্তি করে ডেটা অনুসন্ধান।
উদাহরণ: সহজ ট্র্যাভার্সাল
FOR vertex, edge, path
IN 1..3 OUTBOUND "vertices/startNode"
GRAPH "myGraph"
RETURN { vertex, edge, path }
ব্যাখ্যা:
1..3: গ্রাফের ১ থেকে ৩ লেভেল গভীরতা পর্যন্ত ট্র্যাভার্স করবে।OUTBOUND: নোড থেকে বের হওয়া এজ অনুসরণ করবে।"vertices/startNode": ট্র্যাভার্সাল শুরু হবেstartNodeথেকে।GRAPH "myGraph":myGraphগ্রাফের উপর অপারেশনটি চালানো হবে।vertex,edge, এবংpath: রিটার্নের জন্য ভেরটেক্স, এজ এবং সম্পূর্ণ পাথ।
Directional Traversal
OUTBOUND ট্র্যাভার্সাল
একটি নোড থেকে শুধু বের হওয়া এজগুলো অনুসরণ করে।
FOR vertex IN 1..2 OUTBOUND "vertices/startNode" GRAPH "myGraph"
RETURN vertex
INBOUND ট্র্যাভার্সাল
একটি নোডে প্রবেশ করা এজগুলো অনুসরণ করে।
FOR vertex IN 1..2 INBOUND "vertices/startNode" GRAPH "myGraph"
RETURN vertex
ANY ট্র্যাভার্সাল
নোড থেকে প্রবেশ এবং বের হওয়া উভয় ধরনের এজ অনুসরণ করে।
FOR vertex IN 1..2 ANY "vertices/startNode" GRAPH "myGraph"
RETURN vertex
Shortest Path
নোডগুলোর মধ্যে সবচেয়ে ছোট পথ (shortest path) বের করার জন্য AQL ব্যবহার করা হয়।
উদাহরণ: Shortest Path বের করা
FOR v, e
IN OUTBOUND SHORTEST_PATH "vertices/startNode" TO "vertices/endNode"
GRAPH "myGraph"
RETURN { vertex: v, edge: e }
ব্যাখ্যা:
SHORTEST_PATH: দুই নোডের মধ্যে সবচেয়ে ছোট পথ খুঁজে বের করে।"vertices/startNode"এবং"vertices/endNode": শুরু এবং শেষ নোড।OUTBOUND: এজের দিক নির্দেশনা।
Graph Filtering
ট্র্যাভার্সালের সময় শর্ত প্রয়োগ করে নির্দিষ্ট ডেটা অনুসন্ধান করা।
উদাহরণ: ফিল্টার সহ ট্র্যাভার্সাল
FOR vertex, edge
IN 1..3 OUTBOUND "vertices/startNode" GRAPH "myGraph"
FILTER edge.type == "follows"
RETURN vertex
ব্যাখ্যা:
FILTER edge.type == "follows": শুধুমাত্রtypeফিল্ডের মান"follows"হলে ডেটা রিটার্ন করবে।
Edge Collection থেকে ডেটা অনুসন্ধান
গ্রাফের এজ সংগ্রহ থেকে সরাসরি ডেটা রিটার্ন করতে পারেন।
উদাহরণ: এজ ফিল্টার করা
FOR edge IN edges
FILTER edge.weight > 10
RETURN edge
ব্যাখ্যা:
- শুধুমাত্র যেসব এজের
weight> 10, সেগুলো রিটার্ন করবে।
Graph Aggregation
গ্রাফ ডেটার উপর নির্দিষ্ট সংখ্যামূলক অ্যানালাইসিস করা।
উদাহরণ: গ্রাফে মোট নোড গণনা
FOR vertex IN vertices
COLLECT WITH COUNT INTO totalVertices
RETURN totalVertices
Traversal with Path Details
ট্র্যাভার্সাল পাথ সহ বিস্তারিত ফলাফল পেতে পারেন।
উদাহরণ: পাথ সহ ট্র্যাভার্সাল
FOR vertex, edge, path
IN 1..3 OUTBOUND "vertices/startNode" GRAPH "myGraph"
RETURN path
ব্যাখ্যা:
path: ট্র্যাভার্সাল পাথের বিস্তারিত প্রদান করবে।
Complex Graph Queries
গ্রাফের একাধিক নোড এবং এজের মধ্যে জটিল সম্পর্ক নির্ণয় করতে সাবকোয়েরি ব্যবহার করা যায়।
উদাহরণ: Related Nodes ফিল্টার করা
FOR v, e, p
IN 1..3 OUTBOUND "vertices/startNode" GRAPH "myGraph"
FILTER v.age > 30
RETURN { name: v.name, path: p }
সারাংশ
AQL দিয়ে গ্রাফ অপারেশন ArangoDB-কে জটিল সম্পর্ক বিশ্লেষণের জন্য একটি শক্তিশালী টুল তৈরি করে। Traversal, Shortest Path, এবং Filtering এর মতো বৈশিষ্ট্যগুলো বড় গ্রাফ ডেটাবেসের মধ্যে দ্রুত এবং কার্যকর ডেটা অনুসন্ধান করতে সহায়ক।
Read more