問題タブ [orientdb-2.1]

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.

0 投票する
2 に答える
518 参照

python-3.x - スキーマのない頂点クラスのすべてのプロパティを見つける

クラス Node が V を拡張しています。提供された一連のドキュメント タイプ情報を使用してインスタンスを Node に追加します。OrientDB データベースにクエリを実行し、ノードからいくつかの情報を返したいと考えています。これをフォーマットされた方法で表示するには、考えられるすべてのフィールド名のリストが必要です (私のアプリケーションでは、現在 115 のフィールド名があり、そのうちの 1 つだけがインデックスとして使用されるプロパティです)。

これをpyorientで行うには、これまでに見つけた唯一の解決策は次のとおりです(クライアントはデータベースハンドルの名前です):

試行錯誤を重ねて大体のことは分かってきました。あまり効率的でもエレガントでもありません。確かに、クラスまたはその他の文書型オブジェクトのすべての可能なフィールドのリストをデータベースに返させる方法が必要です。pyorient または SQL コマンドを使用してこれを行う簡単な方法はありますか?

0 投票する
0 に答える
117 参照

orientdb - パフォーマンス チューニング OrientDB の作成 (deBruijn グラフ)

OrientDB を使用した deBruijn グラフの構築時間を短縮するためのパフォーマンス チューニング機能について、インターネットとマニュアルを検索しました。以下はすべて Java の dione です。

OrientDB では: Kmerがインデックス化されます。 エッジはプロパティ ベースです。

私がやりたいことは次のとおりです。

  1. 複数シーケンスファイルを読み込む
  2. kmers での分割シーケンス
  3. Kmer をデータベースに追加し、隣接する kmer 間に Edge を作成します

1 と 2 はすでに完了しています。そのため、OrientDB に kmer を追加するときは、この kmer が存在するかどうかを確認する必要があります。存在する場合は、nwe エッジを追加するための頂点が必要です。そうするための速い方法はありますか?kmer をキーとして、OrientDB RID を値として、ローカル ハッシュを既に作成しました。しかし、頂点を取得するには時間がかかるようです。

私はすでに試しました:

256 kmers と 40.000.000 エッジを追加するには、3 時間近くかかります。また、作成したDBのサイズは9GB、起動ファイルは40MBでした。それを改善する方法はありますか?

わからないことがあれば遠慮なく聞いてください。

どうもありがとう。

マイケル

編集:

Record Grow factor の経験はありますか? Node レコードには、デフォルトでインエッジ情報とアウトエッジ情報が含まれていると思います。RECORD_GROW_FACTOR でランタイムを増やすことはできますか? その経験はありますか?

0 投票する
0 に答える
101 参照

cluster-analysis - OrientDB は、同じ頂点への出力エッジがある場合に頂点をマージします

そのため、出力エッジに基づいて頂点をグループ化したいと思います。
A --> C および B --> C の場合 A
と B を 1 つの頂点にマージしたいのですが、今後の参照用に A 、 B というラベルを残しておきます (どの頂点がマージされたかを識別できるようにするため)
ありますか?これを行うためにOrientDBに組み込まれている方法、または何かカスタムを書く必要がありますか?

これは通常、クラスタ分析またはグラフ クラスタリングと呼ばれます。

0 投票する
1 に答える
47 参照

orientdb - 次の結果を得るには、どのようにクエリを作成すればよいでしょうか?

私は2つのクラスを持っています。

活動とコメント。

活動は、コメントにリンクされています。

コメントには、フィールド username、comment、および created_at があります。


を実行するselect from Activitiesと、これが現在の結果の例です。以下に、私の希望する結果の例を示します (例 2)。

例 1

私の望ましい結果は次のとおりです

例 2

0 投票する
1 に答える
118 参照

orientdb - orientdb に相当する rdbms の「ビュー」

orientdb に相当する「ビュー」はありますか?

私は rdbms のバックグラウンドを持っており、クエリを直接クエリできるオブジェクトとして保存する方法を探しています。

たとえば、次のクエリを見てください SELECT mobile_number AS mobile_number, verifications.verification_code[0] AS verification_code, verifications.is_verified[0] AS is_verified, Max(verifications.active_devices .@ rid) AS device_rid, verifications.active_devices .@ version AS active_version FROM guests

というこのクエリで「ビュー」を作成したいのですが、次のようなものを使用してverified_guestsクエリを実行したいと思いますverified_guestsselect from verified_guests

rdbmsの世界では、次のことができます create view verified_guests as SELECT mobile_number AS mobile_number, verifications.verification_code[0] AS verification_code, verifications.is_verified[0] AS is_verified, Max(verifications.active_devices .@ rid) AS device_rid, verifications.active_devices .@ version AS active_version FROM guests

それから私はできるでしょうselect * from verified_guests

orientdb にはこれと同等または代替手段がありますか?

任意のガイダンスをいただければ幸いです。

ありがとう、