問題タブ [py2neo]
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.
py2neo - IDによってアクセスされるpy2neoノードは、インデックスによってアクセスされるノードとは異なるオブジェクトを返します
私は py2neo 1.6.4 と neo4j 2.0.1 を使用していますが、インデックス付きノードにアクセスする際に奇妙な点を見つけています。特に、index によってアクセスされるインデックス付きノードは、id によってアクセスされるノードと同じオブジェクトを返しません。
例えば:
そのため、返された ID がインデックス ノードに割り当てられたものとまったく同じであっても、ID によってアクセスされたときに返されたノードは実際にはデータベースに存在しません。
私はneo4jとpy2neoの両方にかなり慣れておらず、インデックス作成について圧倒的に洗練された理解を持っていません.同様に知っている:)
ありがとう!
java - JVM に使用できるヒープ領域を増やします: OutOfMemoryError: 要求された配列サイズが VM の制限を超えています Ubuntu 64Bit Neo4j 2.0
私の仕様:
-Ubuntu 64 ビット
-Neo4j 2.0
-32 GB の RAM
-AMD FX-8350 8 コア プロセッサ
問題:
次のクエリを使用して、Neo4j サーバーにリクエストを送信しています。
そして、私にこのエラーを与えます:
これは、約 30,000 件の結果を返す「my_label_1」で問題なく動作します
私が信じているのは問題です:
JVM に十分なメモリが割り当てられていません
修正の試み/オンラインで見つけたもの:
そして、Ubuntuフォーラムが何をするように言っているのか
だから私は自分のneo4フォルダに行き(いつものようにcdを使って)、次のように引数で実行しようとしました:
しかし、それはうまくいきませんでした。Neo4j が起動すると、十分なスペースがない可能性があることが警告されます。
質問
私は間違いなく間違った引数を使用していることを知っています.正直なところ、私はJVM構成の経験があまりありません. これにどのようにアプローチすればよいですか、何か不足していますか?
neo4j - neo4j グラフにノードが存在するかどうかを確認する
ノート
これは、私が尋ねた単純な質問ではなく、いくつかの質問になるので、フォローアップをここで独自の質問に分割します。
元の質問
ID のリストを受け取り、それらのいずれかがグラフに含まれているかどうかを最初にテストしています。それらが /ある場合は、それらのノードをさらに処理しています。
では、例えば…
ご想像のとおり、フィルターを使用してこれを実行し、各 ID がグラフにあるかどうかを順次テストするのは非常に遅く、neo4j を適切に使用していないことは明らかです。
(User{id_str: [mylist]})
クエリのようなリストを作成し、グラフにある ID のみを返すように、クエリをどのように言い換えればよいでしょうか?
foreach - neo4j で一意のノードを作成せずに一意の関係を作成する
別の場所で尋ねた質問を第 2 部に分割します。
グラフにあることがわかっている id_str を持つ特定のノードについて、グラフにある場合とない場合がある新しい id_str のリストがあります。それらがグラフにある場合は、それらに固有の関係を作成したいと思います。(そうでない場合は、無視したいと思います。)
私の現在の方法はかなり遅いです。私は py2neo を使用し、非常に遅いフィルターを使用して一度に 1 つずつエントリを書き込んで、Neo の外でループ部分を実行しています。
もともと使っていた...
また、新しい /unique/ [:FRIENDS] 関係が必要ですが、有効な id_str を持つノードがまだ存在しない場合、新しいユーザーや新しい友達を作成したくありません。
したがって、コレクションで FOREACH を使用してこれを書き直そうとしています。実際の構文は次のようになると思います...
しかし、私のエラーは
この回答はこれが修正されたことを示唆していますが、Create Unique は FOREACH コンストラクトではサポートされていないようです。
ここでも、11.2.2 で提案されている構文は使用できません。これは、追加のノードを作成するのではなく、既存のノードとの新しい関係のみを作成する必要があるためです。
neo4j - neo4j と py2neo でのインデックスの操作
私はpy2neoとneo4jを使い始めたばかりです。
データベースでインデックスを使用する方法について混乱しています。
create_user 関数を作成しました。
ユーザー名でユーザーを取得するには、次のようにします。
Schemaクラスを見て、ラベルにインデックスを作成できることに気付きましたが"User"
、インデックスを取得してエンティティを追加する方法がわかりませんでした。
できるだけ効率的にしたいので、"User"
後で異なるラベルのノードを追加する場合に備えて、ラベルにインデックスを追加するとパフォーマンスが向上しますか? それはすでに可能な限り最も効率的ですか?
また、ユーザー名システムをユーザーごとに一意にしたい場合、どうすればそれを行うことができますか? batch.get_or_add_to_index
がエンティティを取得または追加しているかどうかを知るにはどうすればよいですか?
py2neo - Py2Neo ラベルのインデックス作成
単語とそれらの単語に関連付けられたドキュメントを含むデータセットがあります。これら2つのカテゴリに分類するために、それらにラベルを設定したいと思います。これを行うことでラベルを作成できました:
問題は、「単語」フィールドと「URL」フィールドに一意性を強制する必要があることです。次のようにノードとラベルを追加しています
私の質問は次のとおりです。
- get_or_create を使用してノードをラベル インデックスに追加する方法はありますか
- py2neo api には、ラベル インデックスに一意性を強制する方法がありますか
- これをすべて行うためのより良い方法はありますか。ドキュメントは少しあいまいです
neo4j - Neo4j: cypher とパラメーターを使用して複数の関係を作成する
私は、WriteBatch によって py2neo で 1 つのサイファー ステートメントとパラメーターを使用して、多くの関係 (16k) を作成しようとしています。10 個 (またはそれくらい) の関係のみを作成しようとすると、問題なく機能します。しかし、16k の関係では、Neo4j サーバーは 100% の CPU でハングし、py2neo は (しばらくすると) エラーを返します。
次のコードを使用して関係を作成します。
object_propsは次のようになります。
neo4j - Neo4j クラッシュ 壊れたパイプ エラー
Neo4j サーバーがクラッシュしました (v. 2.0.1)。py2neo を使用してバッチ挿入を実行したところ、突然クラッシュしました。
ログを見て、私が見つけたのは再発するエラーだけでした:
これがコンソールの最後のメッセージであり、すべてのログで他のエラーを見つけることができません。
編集:
これで、クラッシュを再現できます。次のコードを実行しています。
1000 レコードの後で常にクラッシュします。エラーは上記と同じです。私は neo4j-gc.log を持っています - そこには特別なものはなく、エラーは宣言されていません。