2016-10-29 5 views
0

私は2つの頂点クラスを持っています - EMPLOYEEとBRANCHには両方ともデータが設定されていますが、私はエッジクラスInBranchをそれらの関係にします。2つの頂点に共通するプロパティに基づいてエッジを作成するにはどうすればよいですか?

従業員-InBranch-> Branch。

クラスプロパティ - > empname、branchnameを持つ従業員。
クラスpropety - > branchnameで分岐します。関係として代わりに、共通の財産(branchname)の


(InBranch)をエッジとして、私はこれらを作るしたいと思います。

私は仕事に以下に類似構造にしようとしています:OrientDB: Using Schemas with Graphs, Part 1から

create edge Owns from (select from Person) to (select from Country) 

CREATE EDGE InBranch FROM (SELECT FROM Employee) TO (SELECT FROM Branch) WHERE Employee.branchname = Branch.branchname 

直感的にルカGarulliのコードの後に​​パターン化されます。

答えて

1

あなたは、SQLを経由して直接それを行うことはできませんが、JSの機能を使用することができます。このため

var g = orient.getGraph(); 
var emp = g.command('sql','select from Employee'); 

for each (a in emp){ 
    br = g.command('sql','select from Branch where branchname = "' + a.getProperty('branchname') + '"'); 
    for each (b in br){ 
    g.command('sql','create edge inBranch from ' + a.getId() + ' to ' + b.getId()); 
    } 
} 
+0

感謝を。私はこれがまたwhere節を介してSQLを使用して将来行われることを望みます。 – cosmos

関連する問題