2

Vertex User と Edge FriendsWith があるとします。FriendsWith は、アウトとインの両方向に存在できます (通常、アウトまたは 2 人のユーザーの間のいずれかです)。

重複とは、あるユーザーから別のユーザーへのアウトまたはインが複数回見つかった場合です (アウトとインの同時は重複とは見なされません)。

重複したエッジを見つけて削除する方法はありますか?

更新問題を示す図を追加

ここに画像の説明を入力

ありがとうございました。

4

3 に答える 3

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]);
}

それが役に立てば幸い。さよなら

于 2016-01-19T14:53:59.180 に答える