同じクラスの2つのノード間のエッジ(u、v)を同じ年とv.yearを共有するグラフに作成することに興味があります= u.year + 1。OrientDBは同じ年の2つのノード間でエッジを作成する
は、私がvertices.csvていると言う:
id,date
A,2014-01-02
B,2015-01-02
C,2016-01-02
D,2013-06-01
E,2014-06-01
F,2016-06-01
私が見てみたいエッジ構造はこのようになります:
A --> B --> C
D --> E
F
さんは「myVertex」とエッジと頂点クラスを設定してみましょうクラスは "myEdge"になる? SQLインターフェイスを使用してこれらのエッジを生成することは可能ですか?
BEGIN
LET source = SELECT FROM myVertex
LET target = SELECT from myVertex
LET edge = CREATE EDGE myEdge
FROM $source
TO (SELECT FROM $target WHERE $source.date.format('MM-dd') = $target.date.format('MM-dd')
AND $source.date.format('yyyy').asInteger() = $target.date.format('yyyy').asInteger()-1)
COMMIT
残念ながら、これは正しくありません:this questionに基づいて
は、私はこのような何かをしようとして始めました。だから私は、あまり野心的だと私はちょうど日の年の一致に基づいて、エッジを作成することができるかどうかを確認したかった。まだエラーがBEGIN
LET source = SELECT FROM myVertex
LET target = SELECT from myVertex
LET edge = CREATE EDGE myEdge FROM $source TO (SELECT FROM $target WHERE $source.date.format('MM-dd') = $target.date.format('MM-dd'))
COMMIT
...私はそれは、経験豊富なOrientDBにはかなり単純なものだと確信していますユーザー。
私はMichela suggested on this questionのようなJavaScript関数を組み合わせることを考えましたが、私はできるだけSQLコマンドを使用することに固執します。
お願いします。
他のスタックオーバーフローが
JSサーバー側の機能を使用すると簡単になります。もしあなたがそれを助けたいのであれば教えてください。 –
@ oleksandr-gubchenko私はこれのためのサーバー側の機能を探しています...機能の作成/使用の例をいくつかの良いドキュメントへのリンクはありますか? Javascriptのコードを多用してから数年経っています...もし私のスクリプトで 'V [i] .getRecord()。field( 'date')'を使ってレコードを引っ張っていたら、 [javascript date object](http://www.w3schools.com/jsref/jsref_obj_date.asp)を返すだけですか? 私はスタジオで実行することができますが、私はいくつかのコンソールインターフェイスからデータベースに追加および使用する方法を知りたいかもしれません。 – TxAG98
Javascript APIの公式ドキュメント:http:// orientdbcom/docs/last/Javascript-Driver.html –