如何最好地基于 2 个顶点共有的 属性 创建边?
How best to create edges based on a property common to 2 vertices?
我有 2 个顶点 classes - EMPLOYEE 和 BRANCH,它们都填充了数据,我想要一个边 class InBranch 作为它们的关系。
所以 Employee -InBranch-> Branch。
Class 具有属性的员工 -> empname、branchname。
Class 具有属性的分支 --> 分支名称。
而不是常见的属性(分支名称)作为关系,
我想将这些作为边 (InBranch).
我正在努力使工作成为类似于以下的结构:
CREATE EDGE InBranch FROM (SELECT FROM Employee) TO (SELECT FROM Branch) WHERE Employee.branchname = Branch.branchname
这是根据 Luca Garulli 的代码直观地设计的:
create edge Owns from (select from Person) to (select from Country)
你不能直接通过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());
}
}
我有 2 个顶点 classes - EMPLOYEE 和 BRANCH,它们都填充了数据,我想要一个边 class InBranch 作为它们的关系。
所以 Employee -InBranch-> Branch。
Class 具有属性的员工 -> empname、branchname。
Class 具有属性的分支 --> 分支名称。
而不是常见的属性(分支名称)作为关系,
我想将这些作为边 (InBranch).
我正在努力使工作成为类似于以下的结构:
CREATE EDGE InBranch FROM (SELECT FROM Employee) TO (SELECT FROM Branch) WHERE Employee.branchname = Branch.branchname
这是根据 Luca Garulli 的代码直观地设计的:
create edge Owns from (select from Person) to (select from Country)
你不能直接通过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());
}
}