0

今日、私は PHP から Neo4j の最初の基本的なプログラムを書きました。これは基本的に、Neo4jPhp を使用して PHP から新しいプロジェクトで Neo4j を使用できるかどうかを確認するために行われました。 https://github.com/jadell/neo4jphp

ここに私のコードがあります

<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php

include 'neo4jphp.phar';
echo "Hello World!";

// Connecting to the default port 7474 on localhost
$client = new Everyman\Neo4j\Client();
$queryString = 
    "MATCH (n)".
    "RETURN n";
$query = new Everyman\Neo4j\Cypher\Query($client, $queryString);
$result = $query->getResultSet();


foreach ($result as $row) {
    echo $row['n']->getProperty('name') . "\n";
}

?>

</body>
</html>

ここで、プロパティを使用してすべてのノードを取得しています。ものすごく単純。

これを Neo4j のグラフィカル コンソールから実行すると、86 ミリ秒かかります。私は200ノードしかなく、ほぼ同じプロパティを持っています。

match (n)
return n


Returned 50 rows in 86 ms

上記の PHP ファイルからこれを実行すると、ブラウザにデータをダンプするのに合計 2 ~ 4 秒かかります。Neo4j は同じマシンで実行されています。

PHP と Neo4j の両方の構成に変更を加えていないことに注意してください。すべてデフォルトです。これが PHP での Neo4j の予想される動作なのか、それともコードや構成に何か問題があるのか​​教えてください。

どうもありがとう

4

2 に答える 2

0

neo4j サーバーへの REST リクエストが実際に行っていることをデバッグして測定できますか? それは 86ms のようなもので、残りは PHP コードにあるはずですか? また、サイファー クエリを繰り返すためのクエリ プランを作成するオーバーヘッドがないように、パラメーターを使用してください。

于 2014-01-28T12:08:23.637 に答える