Я создал небольшую БД, чтобы попробовать ваше дело. Это мой код:
create class User extends V
create class follows extends E
create property User.id integer
create property User.name String
create vertex User set id=1, name="Paul"
create vertex User set id=2, name="John"
create vertex User set id=3, name="Mark"
create vertex User set id=4, name="Robert"
create edge follows from (select from User where id=1) to (select from User where id=2)
create edge follows from (select from User where id=2) to (select from User where id=1)
create edge follows from (select from User where id=1) to (select from User where id=3)
create edge follows from (select from User where id=2) to (select from User where id=3)
create edge follows from (select from User where id=3) to (select from User where id=2)
create edge follows from (select from User where id=3) to (select from User where id=4)
График:
Затем я создал простую функцию Javascript, удаляющий после того, как нашел дублированный край, край в-направлении.
Вход: Rida (Yout начиная @rid)
Код:
var g=orient.getGraph();
var outF=g.command('sql','select expand(out("follows")) from '+ridA);
var inF=g.command('sql','select expand(in("follows")) from '+ridA);
for(x=0;x<outF.length;x++){
var ridOut=outF[x].getId();
for(y=0;y<inF.length;y++){
var ridIn=inF[y].getId();
if(ridOut==ridIn){
g.command('sql','delete edge follows from '+ridIn+' to '+ridA);
}
}
}
Edit:
Например, если вы пытаетесь удалить дублированные ребра из вершины # 12: 1 , после того, как запустила эту функцию, два «направления» в направлении «будут удалены».
может быть полезно для вас функция JavaScript? – lsavio
уверен, что javascript тоже будет хорош –
для будущего вы можете добавить уникальный индекс для ребер, так что одинаковые дубликаты меток не допускаются между двумя вершинами – arisalexis