AQL দিয়ে Graph Operations

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

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 এর মতো বৈশিষ্ট্যগুলো বড় গ্রাফ ডেটাবেসের মধ্যে দ্রুত এবং কার্যকর ডেটা অনুসন্ধান করতে সহায়ক।

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

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

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

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