グラフデータベースは、複雑な関係を扱う企業にとって重要です。 グラフモデルの柔軟性とグラフデータベースの効率的なストレージと検索により、それらを強力なソリューションにします。 NEO4Jの大規模で相互接続されたデータセットを処理する実証済みの能力により、最大の選択肢になります。 その価値は、顧客体験の強化や複雑なマップ編集を促進するなどのアプリケーションで明らかです。
グラフデータベースとneo4j
の簡単な紹介 グラフは、関係
Wikipedia グラフデータベースは、接続されたデータの操作を最適化します。 ノードと関係の専用ストレージ構造は、高性能を確保し、クエリの実行中に費用のかかる結合操作の必要性を排除します。 ユーザーが互いにフォローするソーシャルアプリケーションを検討してください。 ユーザーは、ラベルとプロパティを備えたノードとして表されます
タイプとプロパティとの関係は、ノード間の接続を定義し、データに意味的な意味を追加します。
このデータの視覚的表現は、自然にデータベースをグラフ化することになります。
cypher:neo4jのクエリ言語
に焦点を当てています。 重要な条項には次のものが含まれます
:グラフパターンを見つけます
:結果のフィルター。
:出力形式を指定します
:ノードと関係を作成します。
:既存のパターンを一致させるか、新しいパターンを作成します。cypherは、ノードに括弧(例えば)と人間関係に矢印を使用します(例:または
)。MATCH (user:User {name:'Hannah Hilpert'})-[r:FOLLOWS]->(follower) RETURN user, follower
neo4jおよびphp < NEO4Jは、データをクエリおよび操作するためのアクセス可能なHTTP APIを備えたサーバーとして実行されます。 NEO4Jを
https://www.php.cn/link/25989f1da5598dd89e7134affeca8697からダウンロードするか、graphenedbのようなサービスを使用できます。 NEO4Jブラウザー(https://www.php.cn/link/0806a60e2e5466094ab2652bef28a251)は視覚的インターフェイスを提供します neoxygenコンポーネント
Neoxygenは、Neo4Jと相互作用するためのオープンソースPHPコンポーネントを提供しています。 NEO4J HTTP APIに堅牢なクライアントを提供します。
インストールと構成NeoClient
依存関係を:
に追加します
neoclient
接続を構成:composer.json
{ "require": { "neoxygen/neoclient":"~2.1" } }
自動応答のフォーマットを有効にします:
use Neoxygen\NeoClient\ClientBuilder; $client = ClientBuilder::create() ->addConnection('default', 'http', 'localhost', 7474) ->build();
<?php use Neoxygen\NeoClient\ClientBuilder; $connUrl = parse_url('http://master.sb02.stations.graphenedb.com:24789/db/data/'); $user = 'master'; $pwd = 's3cr3tP@ssw0rd'; $client = ClientBuilder::create() ->addConnection('default', $connUrl['scheme'], $connUrl['host'], $connUrl['port'], true, $user, $password) ->build();
$client = ClientBuilder::create() ->addConnection('default', 'http', 'localhost', 7474) ->setAutoFormatResponse(true) ->build();
関係を作成しましょう。 a クエリ:
FOLLOWS
CREATE
ユーザーを作成するための
CREATE (user:User {name:'Kenneth'}) RETURN user
関係の作成:
$query = 'CREATE (user:User {name:"Kenneth"}) RETURN user'; $result = $client->sendCypherQuery($query)->getResult(); $user = $result->getSingleNode(); $name = $user->getProperty('name');
GraphGenを使用して複数のユーザーと関係を作成すると、プロセスが簡素化されます。 生成されたグラフをデータベースにインポートします。
$query = 'MATCH (user1:User {name:{name1}}), (user2:User {name:{name2}}) CREATE (user1)-[:FOLLOWS]->(user2)'; $params = ['name1' => 'Kenneth', 'name2' => 'Maxime']; $client->sendCypherQuery($query, $params);
友情の提案のための暗号クエリ:
MATCH (user:User {firstname: {firstname}})-[:FOLLOWS]->(followed)-[:FOLLOWS]->(suggestion) WHERE user <> suggestion AND NOT (user)-[:FOLLOWS]->(suggestion) RETURN user, suggestion, count(*) as occurrence ORDER BY occurrence DESC LIMIT 10
この投稿では、NEO4JをPHPで使用する方法を示すグラフデータベース、Neo4J、およびCypherを導入しました。 次の投稿では、完全なSilexアプリケーションを構築します。 提供されたFAQは、詳細とベストプラクティスを提供します
以上がNEO4JとPHPを使用してグラフデータベースを発見しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。