在OrientDb中查找并删除重复的边

Fed*_*ryk 2 orientdb orientdb-2.1

考虑我们有Vertex用户和Edge FriendsWith.FriendsWith可以在两个方向上进出(通常是在两个用户之外或之间).

重复是指从一个用户到另一个用户的外出或进入时间超过一次(外出并且一起不被视为重复)

有没有办法找到重复的边并删除它们?

更新添加说明问题的图片

在此输入图像描述

谢谢.

Iva*_*tti 5

这是我的javascript函数:

var g=orient.getGraph();
var C=g.command('sql','select from FriendsWith');
var arr = new Array(C.length);
var toRemove = new Array();

for(i=0;i<C.length;i++){
  var found = false;
  for (x = 0; x < i+1 && !found; x++) {
  if (arr[x] === C[i].getProperty("out").getId()+" "+C[i].getProperty("in").getId()) {
    found = true;
    toRemove.push(C[i].getId());
    }
  }
  arr[i] = C[i].getProperty("out").getId()+" "+C[i].getProperty("in").getId();
}

for(a=0;a<toRemove.length;a++){
  var C=g.command('sql','delete edge '+toRemove[a]);
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.再见