問題タブ [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.
python - Python:RDFLIBを使用してSesameデータベースをグラフ化する
RDFLIBを使用してゴマRDFデータベースのグラフを描くことは可能ですか?これは私が試したものです:
これはエラーです:
唯一のトリックは、Sesameが.rdfxmlレイアウトを返すように適切なURLを指定することだと思います。
質問の作成者: http://answers.semanticweb.com/questions/9414/python-using-rdflib-to-graph-a-sesame-databaseに再投稿(回答を参照)
graph - 複数のグラフを Neo4J に保存する
関係情報を MySQL テーブル (contact_id、other_contact_id、strength、recorded_at) に保存するアプリケーションがあります。連絡先の関係が誰であるかを示したり、2 つの連絡先の相互連絡先のリストを生成したりするだけでよい場合は、これで問題ありません。
しかし今、次のような統計を生成する必要があります:「2011 年 1 月の強度 3 以上の双方向接続の総数は?」または (各連絡先がグループの一部であると仮定して)「どのグループが接続数が最も多いか」他団体などへ
これらの統計情報を生成するための SQL が非常に速く扱いにくくなることがすぐにわかりました。
そこで、特定の日付に対してメモリ内にグラフを生成するスクリプトを作成しました。その後、そのグラフに対して必要な統計を実行できました。グラフ部分の生成を除いて、はるかに理解しやすく、一般的にパフォーマンスも大幅に向上します。
次に考えたのは、これらのグラフをキャッシュして、新しい統計を実行する必要があるときはいつでも呼び出すことができるようにすることでした (または、後でグラフを生成します。たとえば、今日のグラフの場合、昨日のグラフを取得し、昨日以降に発生した変更を適用します)。グラフが 1 MB を超えるまでうまく機能する memcached を試しました。
そこで、Neo4J のようなグラフ データベースを使用することを考えています。
唯一の問題は、グラフが 1 つだけではないことです。または私はそうしますが、それは時間の経過とともに変化するものであり、異なる参照時間でクエリできる必要があります。
私も:
- 複数のグラフをNeo4Jに保存し、それらを個別に取得/操作しますか? 次に、日付ごとに個別のソーシャル グラフを作成して保存します。
また
- 有効な to および from タイムスタンプを各エッジに追加し、グラフを適切にフィルター処理します。したがって、「5 月 1 日」のグラフが必要な場合は、「5 月 1 日」より前に作成された 2 つのノード間の最新のエッジのみをたどります (すべてのエッジが5 月 1 日以降に作成されたノードは接続されません)。
私はグラフデータベースにかなり慣れていないので、ヘルプ/ポインター/ヒントをいただければ幸いです。
database - グラフ データベース クエリ
私は、ユーザーがアイテムを購入できるショップを追跡するプロジェクトに着手しました。データベースとして Neo4j を使用することにしました。
これは私が念頭に置いているデータベースの一部です。各ショップにはノードがあり、これらの各ノードには、そのストアで入手可能なアイテムを格納する子ノードがあります。
次のシナリオを考えてみましょう: 特定のユーザー (すべてのアイテムを購入するために常に特定のショップに行く) が、購入したいアイテムのすべて (または最大数) を入手できる別のショップを知りたがっています。
問題は、すべてのショップとそのすべてのアイテムを徹底的に検索し、その後でマッチングを行うと、多くのスペースと時間がかかることです。この問題を最小限のスペース/時間コストで解決するのに役立つ手順/アルゴリズムはありますか?
PS: 他の多くのデータベースの問題を非常に効率的に解決するため、Neo4j のみを使い続けたいと思います。
social-networking - 私のウェブサイトのインタラクティブネットワークグラフ?
バックエンドにneo4jDBがあり、フロントエンドで見た目に美しくインタラクティブな方法でグラフのサブセットをユーザーに表示したいと思います。gephiのやり方に近い、非常に説得力のある外観にしたいと思います。そのため、その仕事に適したテクノロジーを選択する必要があります。FlashとSilverlightが思い浮かびますが、HTLM5がその役目を果たしている可能性があります。Unityも別のオプションかもしれませんが、それは莫大な開発コストを伴うかもしれません。
理想的には、すぐに使用できるソリューションを使用するか、機能することが証明されているソリューションをカスタマイズしたいと思います。最も理想的でないオプションは、自分で実装することです。
私の問題にぴったりの既存のソリューションをお勧めできますか?
database - 何千ものエッジを持つneo4j
数千のノードと、ノードごとに約2000のエッジを使用して頻繁にクエリを実行するには、強力なデータベースが必要です。
neo4jはこれらの関係を管理できますか?別の解決策を見つける必要がありますか?
database - ファイルシステムのインデックスにneo4jを使用することは理にかなっていますか
私は、ファイル システム上のファイルをスキャンし、バックアップするディレクトリとファイル名を Sqlite データベースに入力する Java ベースのバックアップ クライアントに取り組んでいます。sqlite の代わりに neo4j を使用することは理にかなっていますか? このアプリケーションでは、パフォーマンスが向上し、使いやすくなりますか。ファイルシステムはツリー(またはシンボリックリンクを考慮する場合はグラフ)であるため、gaph データベースが適しているのではないかと考えていました。sqlite データベース スキーマは 2 つのテーブルのみを定義します。1 つはディレクトリ用 (フル パスとその他の情報) で、もう 1 つはファイル用 (ディレクトリ テーブル内のディレクトリを含む外部キーを持つ名前のみ) であるため、比較的単純です。
アプリケーションは何百万ものファイルにインデックスを付ける必要があるため、ソリューションは高速である必要があります。
graph-theory - 概念実証グラフ データベースを実装するために何を知る必要がありますか?
私はグラフ データベースを必要とする製品を持っていますが、残念ながら私が見つけたすべてのグラフ データベースは十分に成熟しておらず、多額の費用がかかるか、単に私のニーズに合っていません。
次の機能を備えたオーダーメイドのグラフ データベースを実装したいと考えています。
- グラフは方向付けのみ可能です。
- データベースは実行中のプロセスに組み込まれている必要があるため、メモリ内に保持されます。
- データベースは次の操作のみを実行します。
- ノードからの読み取り。
- ノードへの書き込み (作成/更新)
- ノードの削除
- エッジ リダイレクション (あるノードを指すエッジを持つノードが別のノードを指すようになる操作)
- この質問に関係のないグラフ検索アルゴリズム。
- グラフ データベースには、3 種類のノードのみを含めて処理する必要があります。
これを概念実証として記述するには、何を知る必要がありますか? それを書くのにどれくらいの時間がかかりますか?
関数指向のアプローチ (再帰をより適切に処理することはわかっています) は、オブジェクト指向のアプローチよりも適していますか?
私の制約は実装を容易にしますか?
graph-databases - OrientDB 作成リンクの問題
誰かが私にここで何が間違っているのか説明してもらえますか? リンクが機能していないようです。リンクを作成するときに、0 個のリンクが作成されたと表示されるのはなぜですか? postid を削除したいのに、なぜ Error: String index out of range: 28 になるのですか?
java - セッション間でデータをクエリする Neo4j
Neo4j の埋め込み Java バージョンで以前に作成したデータベースにアクセスできません。私がやりたいのは、GraphDatabaseService を開き、数百万のリレーションシップ (BatchInserter を使用せず、トランザクションのみ) を追加してから、最後のトランザクションと接続をシャットダウンすることです。これは次のようになります。
[ここでは、非常に大きな csv (数百万の関係) を入力し、関係と userId インデックスも提供します]
次に、新しい GraphDatabaseService を開いて、挿入したすべてのデータにアクセスできるようにする必要があります。Neo4j リストを確認したところ、可能であることが確認されましたが、詳細は提供されませんでした。
インデックスを再作成したくありませんが、単純に再オープンしようとすると、インデックス (上記の userIds) が「解決できません」というエラーが表示されます。理想的には、誰かが 2 番目のコード セットがどのように見えるかの概要を知っていれば、それは素晴らしいことです。私の機能しないものは次のようになります。
[または実行したい他のクエリ]
どんな助けでも大歓迎です!
database - 効率的なソートや範囲検索をサポートするグラフデータベース
例として Twitter のデータ モデルを使用します。
ユーザー A は、それぞれが N 個の異なる投稿を投稿した N 個の他のユーザーをフォローしています。投稿にはタイムスタンプが付けられます。
ユーザー A がフォローしているユーザーからの最新の N 件の投稿を効率的に読み取ることをサポートするデータ ストアまたはグラフ データベースはありますか?
投稿は並べ替え順に保存するのが最善のようです (Cassandra ColumnFamily や Redis ZSET のように)。
また、異なるマシン間でデータを分割する機能も重要です。