Graph Traversal Queries

Database Tutorials - আরাঙ্গো (ArangoDB) Graph Database in ArangoDB |
297
297

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 এর সহজ এবং শক্তিশালী গঠন এটি কার্যকরভাবে পরিচালনা করতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion