データベースとしてOrientDBを使用してアプリケーションを開発しています。データベースはすでに埋め尽くされており、特定の情報を得るためにいくつかのクエリを行う必要があります。特定の関係に一致するOrientDBグラフクエリ
3つのクラスと3つのエッジがあります。私がする必要があるのは、特定の関係が存在するかどうかをデータベースに照会することです。関係は次のようである:
ParlamentarVertex --Realiza> TransacaoVertex --FornecidaPor> EmpresaFornecedoraVertex AND ParlamentarVertex --SocioDe> EmpresaFornecedoraVertex
それに頂点を持つ名前はもちろんの頂点であり、矢印は2つの頂点間のエッジです。
私はこれを行うにしようとしました:
SELECT TxNomeParlamentar, SgPartido, SgUF FROM Parlamentar where ...
SELECT EXPAND(out('RealizaTransacao').out('FornecidaPor')) FROM Parlamentar
しかし、私は、where句の後に関係を指定する方法がわかりません。
私も試合
MATCH {class: Parlamentar, as: p} -Realiza-> {as:realiza}
を使用することを試みた。しかし、私は、私のクエリのために非常に重要である句を指定する方法がわからないです。
誰かがヒントを持っているので、正しい方向に進むことができますか? ありがとうございます!
私は以下のクエリを使用するために管理してきた1
EDIT:
SELECT EXPAND(out('RealizaTransacao').out('FornecidaPor').in('SocioDe')) FROM Parlamentar
それはほとんど動作しますが、間違っていくつかの関係を返します。それは、私がPkとFKに縛らなかったというようなものです。
ありがとうございました。私はこの解決策を試し、あなたにお返しします。 –
これは動作します、ありがとう! –