問題タブ [neo4jphp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP の Cypher Query からラベル コレクションにアクセスするにはどうすればよいですか?
行き詰まったのでヒントが欲しいです。Cypher Query を起動すると
ブラウザで列を配列として受け取り、ノード「startNode」が持つすべてのラベルをリストします。
結果を print_r でスローすると、オブジェクト コードが得られますが、これを PHP の配列として取得することもできると想定していました。私は試した
クラシックでの foreach ループの使用
$row['startLabel'] などで取得できることを願っています。配列ではなくオブジェクトを取得しているように見えるため、これは失敗しました。次に、配列としてキャストするか、get_obj_vars を使用しようとしましたが、それも失敗しました。
github でドキュメントを確認したところ、
/li>
それを試してみて、オブジェクト全体または次のようなものを試したときに取得しました
エラー「致命的なエラー: 未定義のメソッド Everyman\Neo4j\Query\ への呼び出し」...
最後に、ノードからラベル (1 つまたは複数) を取得し、それらを PHP で配列として操作したいと考えています。ほんの少しの問題だと思いますが、解決策にたどり着けません。誰かがヒントを持っていれば、私は幸せです-ありがとう
アップデート
私が使用するクエリは次のとおりです。
Neo4J ブラウザーでは、コレクションを (正しく) 取得します。
PHPコードは次のとおりです。
さらに出力が必要な場合は、投稿することもできます。
ご支援いただきありがとうございます - 非常に感謝
php - 致命的なエラー: キャッチされない例外 'Everyman\Neo4j\Exception' とメッセージ 'サーバー情報を取得できません [401]:
Windowsにneo4jサーバーをインストールしたばかりで、phpに接続しようとしています。xamppを実行し、composerでneo4jphpをインストールしてから、次のスクリプトを使用して接続を確認しようとしました:
現在、サーバーのステータスを表示する代わりに、次のような致命的なエラーが発生しました。
致命的なエラー: メッセージ「サーバー情報を取得できません [401]: ヘッダー: 配列 ( [日付] => 2015 年 5 月 27 日 10:54:01 GMT [Content-Type] = > application/json; charset=UTF-8 [WWW-Authenticate] => None [Content-Length] => 144 [Server] => Jetty(9.2.z-SNAPSHOT) ) Body: Array ( [errors] => Array ( [0] => 配列 ( [メッセージ] => 認証ヘッダーがありません。[コード] => Neo.ClientError.Security.AuthorizationFailed ) ) ) ' in C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\ lib\Everyman\Neo4j\Command.php:116 スタック トレース: #0 C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\Everyman\Neo4j\Command\GetServerInfo.php(53): Everyman\Neo4j\ Command->throwException('Unable to retri...', 401, Array, Array) #1 C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\Everyman\Neo4j\Command.php(69): Everyman\Neo4j\Command\GetServerInfo->handleResult(401, Array, Array) #2 C:\xa in C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\Everyman\Neo4j\Command.php 行 116
これを解決する方法は?どんな助けでも大歓迎です。前もって感謝します。
php - PHPで返されたオブジェクトから値を取得するには?
PHPで複雑なオブジェクト構造から値を取得するには? 「->」演算子を使用して値にアクセスできることは知っていますが、返されるオブジェクトについて非常に混乱しています。返されたオブジェクトから、文字値を取得したいと思います。それ、どうやったら出来るの?私はNeo4jPHPを使用しており、暗号クエリ「MATCH (n) RETURN distinct keys(n)」を実行して、すべての個別のプロパティ キーを返そうとしています。行オブジェクトの var_dump を実行した後の出力の一部を以下に示します。
編集:- Mikkelのアドバイスに従った後の私の編集済みコード:-
codeigniter - CI-Neo4jPHP、ノードからラベルを取得
以下のスクリプトは、CI および Neo4jPHP 環境で記述されています。
ラベルのリストが期待されていましたが、何も取得できませんでした。
php - 重複行を含むneo4jの暗号制限
Cypher で Neo4J を使用する
本質的にユーザーの「壁」を取得しようとしています。このウォールには、あなた、あなたの友人による投稿、および投稿コメントがあります。
これまでの私のクエリは次のとおりです。
注意してくださいLIMIT 10
まあ、私はこれを半分予想していましたが、PHP の Doctrine が入れ子になった配列をフェッチするときと同じように、トップレベルの投稿と、投稿内の各コメントに対する 1 つのコメントを特徴とする行が返されます。
LIMIT
つまり、コメントを取得せずにこの基準に一致する投稿が 20 件ある場合、基準のおかげで 10 件の実際の投稿が返さ
れます。最初の 10 件の結果内の 1 件の投稿に 2 件のコメントが含まれているとします。 10 件ではなく 9 件の投稿を取り上げます。最初のコメントは、利用可能な場合は常に最初の行に返されるため、resultSet によって返される数を損なうことはありませんが、投稿ごとに追加のコメントがあるたびに減ります。
ここで信頼できる10の結果を得たいのですが、ここで何をすべきかわかりません。
簡潔にするために、私はEveryman\Neo4JPHPを使用しています
50 件の投稿に対してクエリを実行し、上位 10 件の結果のみを選択してプルーニングすることも考えましたが、これは明らかに正しくないようです (笑)
neo4j - neo4j の cypher から不正なゲートウェイまたはタイムアウトを受け取る
PHPコードを介してフィードするneo4jのリモートインスタンスがあります。個々のノードを送信しても、トランザクション バッチあたり 500 ノードでも問題は発生しませんでした。
しかし、数千のノード間でリンクを作成するためにサイファーを実行すると、タイムアウトのために失敗します。
UI ブラウザーで試してみましたが、エラーはゲートウェイのタイムアウトです。
PHPコードを介して、cURLが原因でタイムアウトします。タイムアウトを大幅に増やし、php コードの実行時間を 2 時間に設定しました。返される応答は、不適切なゲートウェイ応答です。
neo4j ノードにローカルでアクセスできません。neo4j-shell をインストールして -host と -port コマンドを使ってアクセスしてみました。
エラーが表示されます: リモート エンドポイントで非 JRMP サーバー
誰かが解決策を持っていますか?
編集
サイファー:
編集2:
サイファーの前に PROFILE を実行したところ、504 ゲートウェイのタイムアウトが発生しました (php コードとブラウザー UI で... リモートで接続して neo4j-shell を試すことができません)。
php - PHP 用 NeoClient を使用して Neo4j に接続できない
私はNeo4jが初めてです。次のコードでNeo4jデータベースへの接続をテストするために、WAMPでNeo4jPHPを使用しています。
しかし、上記のコードを実行すると、次のエラーが発生します。
致命的なエラー: C:\wamp\www\vendor\everyman\neo4jphp\lib\Everyman\Neo4j\Command.php 行 116 のメッセージ ' を含む例外 'Everyman\Neo4j\Exception' がキャッチされませんでした
Everyman\Neo4j\Exception: サーバー情報を取得できません [401]: ヘッダー: 配列 ( [Date] => 2015 年 9 月 8 日火曜日 21:48:28 GMT [Content-Type] => application/json; charset=UTF- 8 [WWW-Authenticate] => None [Content-Length] => 144 [Server] => Jetty(9.2.z-SNAPSHOT) ) 本体: 配列 ( [エラー] => 配列 ( [0] => 配列 ( [ message] => No authorization header provided. [code] => Neo.ClientError.Security.AuthorizationFailed ) ) ) C:\wamp\www\vendor\everyman\neo4jphp\lib\Everyman\Neo4j\Command.php の 116 行目
私が言ったように、私は Neo4j を初めて使用するので、何が間違っているのかわかりません。Neo4j が実行されており、接続してテストできました。localhost:7474
どんな助けでも大歓迎です!
php - Neo4j php インデックスの作成
私はeveryman neo4jクライアントを調べています( https://github.com/jadell/neo4jphp/wiki )
それは非常に有望で快適に使用できます。しかし、私はインデックスについて少し混乱しています。Neo4j では、インデックスを追加できることを知っています。
私の記憶が正しければ、これによりすべての Person ノードが名前で自動的にインデックス付けされます。
everyman クライアント ライブラリのインデックスに関するセクションでは、次のようにインデックスを作成してノードに追加できることが示されています。
(PS: 上記の行は正確には何をしますか?)
さて、私の質問です。上記の例のように PHP コードにインデックスを手動で追加する必要があるのはいつですか? また、Neo4j データベースにインデックスを追加して自動インデックス作成に依存する必要があるのはいつですか? 後者の場合、次のようなコードでインデックス検索を利用できますか。
?