Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-4261

Partofneq does not match all annotations if created by exec action.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.0ruta
    • Fix Version/s: 2.3.0ruta
    • Component/s: Ruta
    • Labels:
      None

      Description

      PARTOFNEQ is not able to match all annotations if the Annotations are created by external analysis engine. Here is an example

      ENGINE TestAE;
      Document{-> EXEC(TestAE,

      {TestType}

      )};
      (TestType{-> UNMARKALL(TestType)})

      {PARTOFNEQ(TestType)}

      ;

      The TestAE is generating 4 annotations for input test rebecca minkoff mini mac

      rebecca minkoff mini mac -> TestType
      minkoff -> TestType
      mini mac -> TestType
      mac -> TestType

      PARTOFNEQ is able to match only "minkoff" and "mini mac".

      It seems that ExecAction is removing the Type form RutaBasic.partOf array at some point of the execution. After that in PartOfNeqCondition when method check is executed partOf variable is always false (see below source code). It is because the Type was removed previously from ruta basic.

      boolean partOf = beginAnchor.isPartOf(t) || endAnchor.isPartOf(t);
      if (!partOf)

      { return false; }

        Attachments

        1. patch.txt
          3 kB
          Silvestre Losada
        2. TestRutaS.zip
          31 kB
          Silvestre Losada

          Activity

            People

            • Assignee:
              pkluegl Peter Klügl
              Reporter:
              silvestrelosada Silvestre Losada
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: