問題タブ [aql]
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.
arangodb - AQL グラフ クエリの例
AQL および Graph クエリでやりたいことがうまくいきません。単純なデータセットで AQL の基本的な例をいくつか取得したいと思います。
例:俳優のコレクションと映画のコレクションがあるとします。そして、頂点を接続するためのactInエッジ コレクション (年プロパティを使用)。
【俳優】←出演→【映画】
どうすれば入手できますか:
- 「movie1」または「movie2」に出演したすべての俳優
- 「movie1」と「movie2」の両方に出演したすべての俳優 ?
- 3本以上の映画に出演したすべての俳優
- "actor1" と "actor2" の間のすべての一般的な映画 ?
- 3本以上の映画に出演したすべての俳優?
- 正確に 6 人の俳優が出演したすべての映画 ?
- 映画ごとの俳優数は?
- 俳優別映画本数は?
- 2005 年から 2010 年の間に俳優が出演した映画の数は?
これは単純なクエリですが、AQL を使用してそれらを記述する方法がわかりません。
どんな助けでも大歓迎です。仕事を成し遂げる方法をよりよく理解するためのツッツやリンクがあれば、私はうれしいです!
ありがとう
arangodb - AQL リターン フラット マージ リスト
AQL で製品オプションの一意のリストを返したいのですが、COLLECT が一意のリストを返すことができることは理解していますが、それを配列にフラット化するにはどうすればよいですか。
したがって、次のフィルタリングされたリストを返したいと思います: (リスト [A] と呼びましょう)
as: (このリストを [B] と呼びましょう)
リストを取得するクエリ [A]
FLATTEN、UNIQUEを試しましたが、うまくいきませんでした。おそらく関数を正確に使用していません。私の最初の考えは、リスト[A]のアイテムを再パックしてリスト[B]を作成することです[B]にない場合は[A]を[B]にプッシュするようなものです
graph - GRAPH_NEIGHBORS AQL クエリから頂点を抽出する
フォルダー ツリーのような構造のグラフがあり、グラフの特定の開始点からすべての頂点をリーフとして取得したいと考えています。次の AQL クエリを使用しました。
クエリは正常に動作しますが、内部ハンドル ID のみを結果に取得します。
結果として、内部 ID の代わりにレコードのリストをコレクションに入れたいと思います。すべての内部 ID は同じコレクションに属します。サブクエリを使用できるかどうか疑問に思っています。構文が何であるかわかりません。
よろしく
database - ArangoDBは、クエリごとにキャッシュを使用して_idでドキュメントを取得します
ドキュメント コレクション「items」、「dictionary1」、「dictionary2」を持っている
辞書に参加すると
クエリの実行時間 ~ 150ms は、この単純なタスクには多すぎます。実験のために、私は 1 つの _id に対して dict を強制しています
クエリ実行時間 ~ 130ms
また、試したDOCUMENT機能
クエリ実行時間 ~ 1500ms :((
コレクションからの単純な読み取り:
クエリ実行時間 ~ 30ms
そのため、結合として_id 50000回同じドキュメントを取得すると、結果はキャッシュされません。1 つのコレクションにコンテンツが重複しているバリアントは役に立ちません。今、私はロジックをクライアント側に移動し、メモリ内のすべての辞書を選択し、クエリの後に結合し、最大 60 ミリ秒かかりますが、この方法は好きではありません。間違っています。
短時間で結合された辞書(80%同じ_id)で結果を得る方法はありますか?
graph-databases - 最速のArangoDBの友達の友達のクエリは何ですか(カウント付き)
ArangoDB を使用して、友達のリストを取得しようとしています。基本的な友達の友達リストだけでなく、ユーザーと友達の友達に共通の友達が何人いるかを知り、結果を並べ替えたいと思っています。最高のパフォーマンスを発揮する AQL クエリを (再) 記述しようと何度か試みた結果、次のようになりました。
残念ながら、パフォーマンスは私が望んでいたほど良くありません。同じクエリ (およびデータ) の Neo4j バージョンと比較すると、AQL はかなり遅いようです (5 ~ 10 倍)。
私が知りたいのは...クエリを改善してパフォーマンスを向上させるにはどうすればよいですか?
key-value - AQL を使用した ArangoDB の反復クエリ
JSON データを次の形式で ArangoDB コレクションに保存しました。
私はArangoDBが初めてです。ArangoDB からのデータの保存とクエリについてはわかりません。私のデータには事前定義されたキーはなく、データは時間とともに入力されます。私のデータは、固定数の属性を持たない半構造化データのようなもので、反復リスト構造のために少し複雑です。
まず、上記の形式を ArangoDB に格納するための最良の方法を誰でも提案できます。
次に、このデータを次の方法でクエリしたい: 任意のキーを指定する (実行時に指定することにより、事前に知られていない)、またはキーと値のペアの組み合わせを指定する (例: 、Key1 == value1
または AND または OR 論理を使用した組み合わせ)のような演算子Key1 == value1 AND Key2 == value2 OR Key3== value3
。
では、上記のデータをどのように反復処理できるのでしょうか?
node.js - ArangoDB - Performance issue with AQL query
I'm using ArangoDB for a Web Application through Strongloop. I've got some performance problem when I run this query:
I added some index to speed up the query like skiplist
index on the field sorted.
My Collection has inside more than 1M of records.
The application is hosted on n1-highmem-2 on Google Cloud. Below some specs:
- 2 CPUs - Xeon E5 2.3Ghz
- 13 GB of RAM
- 10GB SSD
Unluckly, my query spend a lot of time to ending. What can I do?
Best regards, Carmelo