問題タブ [graph-databases]
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.
google-analytics - 生成されたレコメンデーションのための Google Prediction API とグラフ データベースの比較?
(私はグラフ データベースや NoSQL の専門家ではないことを認めます。これまでのところ、いくつかの趣味のプロジェクトにしか使用していません。)
私は InfiniteGraph や Stig などのテクノロジをレコメンデーションに使用してきました。これらは、このようなタスク用に最適化されていると思われるグラフ データベースです。新しい Google Predictions API は、同じ目的を果たすことができるようです。データセットとユーザーの実際の好みをサブセットとして与えられた場合、ユーザーが実際に何を好むかを予測できます。
Google Predictions を他のグラフベースのデータベースと比較する確実な指標はありますか?
java - 128番目のノードがneo4jインデックスに作成された後、それ以上のノードにアクセスできなくなります
これは非常に奇妙な問題のようです。私はneo4jグラフデータベースのストレステストを行っているので、私のテストの1つでは、多数のユーザーを作成する必要があります(この特定のテストでは、1000)。したがって、そのためのコードは次のとおりです。
そして、dataService.createUser()のコードは次のとおりです。
これらのユーザーを作成した後、dataService.getUser()を呼び出す必要があります。getUser()のコードは次のとおりです。
したがって、129番目のユーザーを作成するまで、すべてが順調に進んでいます。デバッガーをフォローして、2番目のノードであるdataService.getUser(BigInteger.valueOf(1))、128番目のノードであるdataService.getUser(BigInteger.valueOf(127))、およびdataServiceの値を監視しています。最後に作成されたノードであるgetUser(BigInteger.valueOf(i-1))。また、デバッガーは、ノード128が作成された後、getUser()がそれらのノードに対してDoesNotExistExceptionをスローするため、ノード129以上は作成されないが、ノード2とノード128の値を提供することを通知します。
createUser()に渡すユーザーIDは自動インデックス付けされます。
より多くのノードを作成しない(またはこれらのノードにインデックスを付けない)理由はありますか?
groovy - java.lang.StackOverflowErrorエラーがgroovyで発生する理由
次のコードを実行している間:
mこのエラーが発生します:
より多くのスタックトレースがあります。
このエラーが発生する理由を提案してください。
python - Python の Neo4j のようなグラフ データベースを使用した ORM
Graph-Database(fe Neo4j)を使用したORMのソリューション(または必要性)があるかどうか疑問に思います。私はエンティティ(それらのエンティティの追加属性を含む)の関係(AはCなどを介してAに関連するBに関連しているため、大きなグラフを構築しています)を追跡しており、それらをDBに保存する必要があります。グラフ データベースは、このタスクに完全に適合します。
現在、SQL のような DB では、sqlalchemyś ORM を使用してオブジェクトを格納しています。特に、データベースからオブジェクトを取得し、それらを Python スタイルで操作できる (メソッドなどを使用する) ことができるためです。
Neo4j または他の Graph-DB 用のオブジェクト マッピング ソリューションはありますか?
または、Python sqlite ドキュメント (http://docs.python.org/library/sqlite3.html#letting-your-object-adapt-itself) のように、オブジェクトを取得して保存する関数やアダプターを作成しますか?
neo4j - 削除されたノードが Neo4j に再表示される
Neo4j を使い始めたばかりで、「Hello World」タイプの例を実行しています。
新しいデータベースを作成し、ノードの数を出力します。これは 1 です (データベースの作成時にデフォルト ノードがあるように見えるため)。
ノードを作成してグラフに追加します。グラフは、現在 2 つのノードがあることを報告しています - OK。
次にノードを再度削除すると、グラフはノードが 1 つあることを報告します - OK。
次に、データベースをシャットダウンしました。
ただし、同じコードを再度実行すると(データベースファイルを削除せずに)。最初は 2 つのノードがあると報告されるようになりました。1-2-1 ではなく、2-3-2 になります。これは 1 回だけ発生します。最初の実行後は常に 2-3-2 と報告されます。
削除したノードが再表示されるのはなぜですか?
以下のコード:
そして出力:
2 回目 (およびそれ以降) の実行:
neo4j - Neo4jでの関係の強さの表現(および増分)
Neo4jグラフでノード間の関係の強さの変化を表現したいと思います。
静的グラフの場合、これは、関係に「強度」プロパティを設定することで簡単に実行できます。
ただし、時間の経過とともに更新する必要があるグラフの場合、書き込み前の読み取りが必要なため、プロパティの値をアトミックに(RESTインターフェイスを介して)インクリメントできないため、問題があります。入ってくるストリーミングデータに応じてグラフを更新する場合は、(単に更新するのではなく)インクリメントする必要があります。
一度に1つのRESTクライアントのみが読み取りと書き込みを行うようにする(外部同期)か、組み込みのトランザクションを使用できるように組み込みAPIのみに固執する必要があります。これは実行可能かもしれませんが、厄介なようです。
もう1つの解決策は、プロパティなしで複数の関係を記録することです。これにより、「強度」は実際には関係の数になります。
強さ3の関係を意味します。
- 短所:整数の強さしか記録できません
- 利点:書き込み前の読み取りは必要ありません
- 短所:(おそらく)より多くのストレージが必要
- 短所:(おそらく)複数の関係を抽出してカウントする必要があるため、値の抽出がはるかに遅くなります
誰かがこのアプローチを試しましたか、そして特に読書のときにパフォーマンスの問題に遭遇する可能性がありますか?
これをモデル化するためのより良い方法はありますか?
nosql - Orientdb エディションの違いは何ですか?
私はしばらく OrientDB について読んでいましたが、ソフトウェアの「エディション」について少し混乱しています。
メイン バージョンは単なるドキュメント ストアのように聞こえますが、インターネット上のものは、ドキュメント データベースとグラフ データベースの両方のように聞こえます。http://nosql.mypopescu.com/post/1254869909/correction-orientdb-is-a-document-and-graph-store
それとグラフ版の違いは何ですか?グラフ エディションはノードとエッジを使用してグラフ化するだけですか、それともドキュメント グラフ データベースですか?
更新:キー値ストアのバージョンは? どう違うの?他のエディションと併用できますか?
sorting - グラフデータベース内の関係を時系列の逆順で並べ替える
グラフデータベースでデータを保存するソーシャルアプリケーションを作成しているとします。ここで、エンティティ(人、物など)はノード(プロパティ「名前」付き)であり、アクションは関係(プロパティ「何」と「いつ")。また、巨大なデータベースと高負荷を想定しているため、実装は単に機能するだけでなく、可能な限り高速である必要があります。
「過去5分間に何が起こったのか」などの質問にどのように答えますか。アクション(およびそのサブジェクト/オブジェクト)を時系列の逆順にリストしますか?
database - neo4j のクイック チュートリアルはどこにありますか?
さらなる処理とクエリのために、有向グラフをデータベースに保存しようとしていました。そして、neo4j は私のニーズに合っているようです。ただし、次に関する適切なチュートリアルが見つからないようです。
- データベースを作成してデータを入れます。
- クエリを作成します。
手動と自動 (つまり、プログラムを使用) の両方でそれらを実行できるようにしたいと考えています。公式マニュアルでは、Maven、Index、REST API などについて話し続けていますが、基本的には今のところまったく気にしないことです。
では、neo4j に関する実践的なチュートリアルはありますか? または、単純なニーズを持つ完全な初心者に適していると思われる他のグラフ データベース (つまり、ストア グラフとクエリ グラフ) はありますか?
neo4j - Cypherを使用してneo4jで切断されたノードを見つけるにはどうすればよいですか?
私はneo4jをいじっていて、すべてのCypherクエリがSTART
句の開始点を必要としていることに気づきました。Cypherを使用して切断されたすべてのノードを見つけるにはどうすればよいですか?
ありがとう