2017-01-01 4 views
0

存在していても存在しないドキュメントを指定してエッジを作成することはできますか?ArangoDBでエッジと頂点を同時に作成することは可能ですか?

INSERT {_to: 'docs/something', _from: 'docs/other'} IN edges 

他のドキュメント/何かまたはドキュメント/どちらかがまだ存在しない場合、私はエラーを取得します:私はのようなクエリを実行する場合は例えば

、。それらが存在しない場合、ドキュメント/何かとドキュメント/その他(空のオブジェクトとして、おそらく)を作成するオプションがありますか?

注:私は、一括インポートを行うと書類なしエッジを作成することができます - _from _toおよび/または単にどこにつながる - しかし、私はむしろ管理グラフの機能の

答えて

1

一つの空白のドキュメントを作成したいですそれは、グラフの完全性を保証するということです。したがって、the edge management facilityを使用すると、ArangoDBではダングリングエッジの挿入が許可されなくなります。

しかし、ArangoDBのグラフ機能はドキュメント機能の上に重ねられています。文書の機能性は、グラフの完全性を保証するものではありません。したがってinserting edges referencing non existant vertices is possible this wayとなり、エッジコレクションが存在する場合はサンプルクエリが機能します。しかし

quoting the insert documentation

Each INSERT operation is restricted to a single collection, 
and the collection name must not be dynamic. 
Only a single INSERT statement per collection is allowed per AQL query, 
and it cannot be followed by read operations that access 
the same collection, by traversal operations, 
or AQL functions that can read documents. 

ですから、同じクエリでAQLで動的に頂点を作成することができません。

ArangoDB 2.8では、頂点コレクションが最初に存在する必要があります。

関連する問題