2016-05-02 5 views
0

OriensDBの完全グラフをTRAVERSE * FROM Vで照会できます。オブジェクトとしてエッジを取得することはできません。すべてのオブジェクトの参照で10個の頂点グラフから50MB以上のデータが得られるためです。私は​​ドライバを使用します。 私のデータは次のようになります: OrientDB data 私はJson-Stringify-Safeを使ってJsonを文字列に変換しました。OrientDB Edgeオブジェクトなしの完全グラフの照会

答えて

1

あなたは

select *,out.asString(),in.asString() from (traverse * from V) fetchplan [*] in_*:-2 out_*: -2 

enter image description here

enter image description here

を使用することができ、それがお役に立てば幸いです。

+0

最後にフェッチプランを追加する理由を説明できますか? –

+1

Michelaの2番目のクエリのように、スタジオIN( 'myedge')とOUT( "myedge")から頂点に表示されないようにフェッチプランを追加します。 NodeJSでは、fetchplanを省略できます。 –

0

あなたがレコードとして示すエッジを除外するために、このいずれかを使用できます。

traverse * from V while @class NOT IN (select distinct(@class) from E) 

、BEFORE

enter image description here

enter image description here

AFTER

あなたは、各レコードからエッジを除外するために、このいずれかを使用することができますが、それは記録として、あなたにエッジが表示されます:

select from (traverse * from V) fetchplan [*] in_*:-2 out_*: -2 

enter image description here

をそして、これは両方のクエリのミックスです:

select from (traverse * from V while @class NOT IN (select distinct(@class) from E)) fetchplan [*] in_*:-2 out_*: -2 

enter image description here

は、それが

を役に立てば幸い
+0

OrientDB Studioで実行される2番目のクエリは完璧です。他の2つはエッジを取得しません。しかし、NodeJSサーバーから2番目のクエリを実行すると、再びエッジオブジェクトと56MBのデータが参照されます。 –

関連する問題