Workerman でグラフ データベース ストレージとクエリに Neo4j を使用する方法

PHPz
リリース: 2023-11-08 14:23:06
オリジナル
751 人が閲覧しました

Workerman でグラフ データベース ストレージとクエリに Neo4j を使用する方法

Workerman で Neo4j を使用してグラフ データベースのストレージとクエリを行う方法

概要:
Workerman は高性能 PHP 非同期ネットワーク プログラミング フレームワークであり、Neo4j は強力なグラフデータベース。この記事では、Workerman で Neo4j を使用してグラフ データベースを保存およびクエリする方法を紹介し、具体的なコード例を示します。

ステップ 1: Neo4j 拡張機能をインストールする

  1. まず、Neo4j 拡張機能を PHP にインストールします。 Composer を通じてインストールできます。次のコマンドを実行します。
    composer requiregraphaware/neo4j-php-client
  2. インストールが完了したら、php で Neo4j 拡張機能を有効にします。 ini ファイルに次の行を追加します。
    extension=neo4j.so
  3. Web サーバーを再起動して、拡張機能を有効にします。

ステップ 2: グラフ データベースに接続する

  1. Workerman のイベント コールバック関数で、次のコードを使用して Neo4j データベースに接続します:

    use GraphAwareBoltGraphDatabase;
    
    $driver = GraphDatabase::driver("bolt://localhost", GraphAwareBoltConfiguration::fromArray([
     'username' => 'neo4j',
     'password' => 'password',
    ]));
    ログイン後にコピー

    このうち、bolt://localhost は Neo4j データベースの接続アドレス、neo4j はユーザー名、password はパスワードです。実際の状況に応じてこれらのパラメータを変更してください。

ステップ 3: ノードの作成

  1. 次のコード例を使用してノードを作成します。

    $session = $driver->session();
    $session->run("CREATE (n:Person {name: 'John Doe', age: 30})");
    ログイン後にコピー

    このコードは、ラベルを作成します。「人物」のノードとなり、名前属性を「John Doe」、年齢属性を 30 に設定します。

ステップ 4: ノードのクエリ

  1. 次のコード例を使用して、「John Doe」という名前のすべてのノードをクエリします:

    $session = $driver->session();
    $result = $session->run("MATCH (n:Person {name: 'John Doe'}) RETURN n");
    foreach ($result->getRecords() as $record) {
     $node = $record->get('n');
     // 处理节点数据
     echo $node->value('name');
     echo $node->value('age');
    }
    ログイン後にコピー

    このコードは Cypher クエリを実行し、ノードの属性で「John Doe」という名前のノードを見つけて、結果セットを返します。次に、結果セットを反復処理して、各ノードのデータを処理します。

ステップ 5: 接続を閉じる

  1. Workerman のイベント コールバック関数の適切な場所で、次のコードを使用してデータベース接続を閉じます。

    $driver->close();
    ログイン後にコピー

上記は、Neo4j を使用して Workerman にグラフ データベースを保存およびクエリするための基本的な手順です。この記事がお役に立てば幸いです。ご質問がございましたら、お気軽にお問い合わせください。

以上がWorkerman でグラフ データベース ストレージとクエリに Neo4j を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート