私はOrientDBのprofiではないので、私の質問はダムと聞こえるでしょう。私はドキュメントやネット上で何の答えも見つけられませんでした。OrientDB - 選択した頂点を他の頂点でフィルタリングします
This is a sample of a data structure that I have: 私は青い目を持つすべてのビーバーを見つけたいと思っています。彼らは幸せで、彼らはそれを知っています。
SELECT out('has').eyeColors, out('is').happinessState FROM beavers
のようなものしかし、どのように私はそれらの接続の頂点でフィルタリングん -
私は目の色とアウト()関数と幸福の状態を選択するために管理していますか?私は
SELECT * FROM beavers WHERE out('has').eyeColors = 'blue' AND out('is').happinessState = 'happy and knows it'
と
SELECT * FROM beavers WHERE (SELECT out('has').eyeColors FROM beavers) = 'blue' AND (SELECT out('is').happinessState FROM beavers) = 'happy and knows it'
を試してみたが、クエリの種類の両方が空の結果を返す傾向にあります。
どうすればこのような選択を行うことができますか?
*私はCommunity Edition、v。2.1.11を実行し、このすべてをサーバー側JS関数で実行します。
おかげで、あなたはout()
のでCONTAINS
単語を使用する必要がWHERE条件で グレゴリー
は完璧、おかげでイワン:) 追加の接続の問題を作品 - 私は、サブクエリで、このようなクエリを使用することができますか? –
たとえば、「ハザー・エッジ・ビーバーズ」に接続され、「ビーバーズ・オブ・ビーバーズ」、「ブルー・アイズ」、「ハッピー・ザ・ビーバーズ」を検索したい子供たちを追加する場合(クラス名この場合、すべての名前はダミーであり、論理をより明確にするだけです)。それとも、JSサーバサイドの機能でこれを達成するためのより良い方法がありますか? –
で、これはやや複雑です。私は私の答えを変更するつもりです –