নিওফোরজে (Neo4J) এবং PHP এর সংযোগ (Integration) একটি জনপ্রিয় পদ্ধতি, যার মাধ্যমে PHP অ্যাপ্লিকেশন থেকে গ্রাফ ডেটাবেসের তথ্য এক্সেস এবং পরিচালনা করা যায়। PHP ব্যবহারকারীদের জন্য, Neo4J এর সাথে যোগাযোগ করার জন্য Bolt প্রোটোকল এবং HTTP API এর মাধ্যমে সহজেই সংযোগ স্থাপন করা সম্ভব।
Neo4J এবং PHP এর ইন্টিগ্রেশন সাধন করতে সাধারণত PHP ড্রাইভার ব্যবহার করা হয়। এই ড্রাইভারগুলোর মধ্যে জনপ্রিয় হচ্ছে neo4j-php-client ড্রাইভার, যা PHP থেকে Neo4J ডেটাবেসে গ্রাফ কুয়েরি চালাতে এবং ডেটা পরিচালনা করতে সাহায্য করে।
Neo4J এবং PHP এর ইন্টিগ্রেশন কিভাবে করবেন?
১. PHP ড্রাইভার ইনস্টল করা
PHP থেকে Neo4J তে সংযোগ করতে, প্রথমে আপনাকে neo4j-php-client ড্রাইভার ইনস্টল করতে হবে। এই ড্রাইভারটি Composer ব্যবহার করে ইনস্টল করা সম্ভব।
Composer এর মাধ্যমে ইনস্টলেশন:
composer require graphaware/neo4j-php-client
এই ড্রাইভারটি Neo4J এর সাথে সংযোগ স্থাপন করতে ব্যবহৃত হয় এবং এর মাধ্যমে PHP কনসোলে কুয়েরি চালানো সম্ভব হয়।
২. Neo4J সার্ভারে সংযোগ স্থাপন
একবার ড্রাইভার ইনস্টল করা হলে, আপনি PHP স্ক্রিপ্ট থেকে Neo4J সার্ভারে সংযোগ স্থাপন করতে পারবেন। এখানে একটি উদাহরণ দেওয়া হলো:
<?php
require 'vendor/autoload.php';
use GraphAware\Neo4j\Client\ClientBuilder;
// Neo4J সার্ভারে সংযোগ স্থাপন
$client = ClientBuilder::create()
->addConnection('default', 'http://localhost:7474') // Neo4J সার্ভারের HTTP এড্রেস
->build();
// কুয়েরি চালানো
$query = 'MATCH (n:Person) RETURN n LIMIT 10';
$result = $client->run($query);
// ফলাফল প্রিন্ট করা
foreach ($result->getRecords() as $record) {
echo $record->value('n')->getProperty('name') . PHP_EOL;
}
?>
এখানে, ClientBuilder::create()->addConnection() এর মাধ্যমে Neo4J সার্ভারের সাথে সংযোগ করা হচ্ছে এবং HTTP কানেকশন ব্যবহার করা হচ্ছে।
৩. কুয়েরি চালানো
PHP স্ক্রিপ্টের মাধ্যমে আপনি গ্রাফ ডেটাবেসে Cypher কুয়েরি চালাতে পারবেন। যেমন:
$query = 'MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN a, b';
$result = $client->run($query);
এখানে, MATCH কুয়েরির মাধ্যমে দুটি Person নোডের মধ্যে সম্পর্ক খোঁজা হচ্ছে এবং তার পর তাদের তথ্য ফিরিয়ে আনা হচ্ছে।
৪. গ্রাফে ডেটা সন্নিবেশ (Insert Data)
PHP স্ক্রিপ্টের মাধ্যমে নতুন ডেটা সন্নিবেশ করার জন্যও Cypher কুয়েরি ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, একটি নতুন Person নোড তৈরি করা:
$query = "CREATE (p:Person {name: 'Alice', age: 25})";
$client->run($query);
এখানে, CREATE কুয়েরি ব্যবহার করে Person লেবেলযুক্ত একটি নতুন নোড তৈরি করা হচ্ছে।
৫. ডেটা আপডেট এবং ডিলিট করা
ডেটাবেসে বিদ্যমান ডেটা আপডেট বা মুছে ফেলার জন্যও Cypher কুয়েরি ব্যবহার করা হয়। উদাহরণস্বরূপ:
আপডেট:
$query = "MATCH (p:Person {name: 'Alice'}) SET p.age = 26";
$client->run($query);
মুছে ফেলা:
$query = "MATCH (p:Person {name: 'Alice'}) DELETE p";
$client->run($query);
৬. Bolt প্রোটোকল ব্যবহার করা
Neo4J তে Bolt প্রোটোকল ব্যবহার করে দ্রুত এবং নিরাপদ সংযোগ স্থাপন করা যায়। Bolt সংযোগের জন্য PHP ড্রাইভার ব্যবহার করা যাবে, তবে এর জন্য বিশেষভাবে Bolt কানেকশন কনফিগার করা প্রয়োজন:
$client = ClientBuilder::create()
->addConnection('bolt', 'bolt://localhost:7687') // Bolt কানেকশন ব্যবহার
->build();
এই কোডে, bolt://localhost:7687 এর মাধ্যমে Bolt কানেকশন ব্যবহার করে Neo4J সার্ভারের সাথে সংযোগ স্থাপন করা হচ্ছে।
সারাংশ
নিওফোরজে (Neo4J) এবং PHP ইন্টিগ্রেশন সহজেই সম্ভব, এবং neo4j-php-client ড্রাইভার ব্যবহার করে PHP অ্যাপ্লিকেশন থেকে গ্রাফ ডেটাবেসে কুয়েরি চালানো এবং ডেটা পরিচালনা করা যায়। PHP থেকে আপনি Cypher কুয়েরি ব্যবহার করে গ্রাফ ডেটাবেসে ডেটা সন্নিবেশ, আপডেট, এবং মুছতে পারবেন। এছাড়াও, HTTP API এবং Bolt প্রোটোকল ব্যবহারের মাধ্যমে নিরাপদ ও দ্রুত সংযোগ স্থাপন করা সম্ভব।