1

注释 A 具有 3 个特征,即名称、日期和索引。注释 B 具有 3 个特征,即名称、日期和索引。值被分配给除 B.index 之外的所有特征。匹配 A 和 B 的名称和日期,我想将 A.index 分配给 B.index

样本输出:

A annotaion:

   Wardlaw
      name:Wardlaw
      date:2003
      index:3
   Rahul
       name:Rahul
       date:1993
       index:4


B annotaion:

   Rahul
       name:Rahul
       date:1993
       index:0

   Wardlaw
       name:Wardlaw
       date:2003
       index:0

预期输出:

B 注释:

   Rahul
       name:Rahul
       date:1993
       index:4

   Wardlaw
       name:Wardlaw
       date:2003
       index:3
4

1 回答 1

1

您可以尝试以下方法:

a:A{a.name == b.name, a.date == b.date} # b:@B{ -> b.index = a.index};

我把锚放在上面,B这样就不会错过任何 B。需要放置条件,A以便通配符在正确的注释处停止。

如果As 和Bs 共享相同的偏移量,您需要另一个更简单的规则,只有一个规则元素且没有通配符。

免责声明:我是 UIMA Ruta 的开发人员

于 2016-11-02T07:50:22.867 回答