Author: clin
Date: Thu Feb 22 20:34:29 2018
New Revision: 1825098

URL: http://svn.apache.org/viewvc?rev=1825098&view=rev
Log:
Fix a bug in THYME QA xml reader

Modified:
    
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEQAAnaforaXMLReader.java

Modified: 
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEQAAnaforaXMLReader.java
URL: 
http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEQAAnaforaXMLReader.java?rev=1825098&r1=1825097&r2=1825098&view=diff
==============================================================================
--- 
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEQAAnaforaXMLReader.java
 (original)
+++ 
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/THYMEQAAnaforaXMLReader.java
 Thu Feb 22 20:34:29 2018
@@ -111,6 +111,7 @@ public class THYMEQAAnaforaXMLReader ext
 
        // TODO -- need mapping from id to relation
       Map<String, Annotation> idToAnnotation = Maps.newHashMap();
+      Map<String, BinaryTextRelation> idToRelation = Maps.newHashMap();
       for (Element entityElem : annotationsElem.getChildren("entity")) {
         String id = removeSingleChildText(entityElem, "id", null);
         Element spanElem = removeSingleChild(entityElem, "span", id);
@@ -214,6 +215,7 @@ public class THYMEQAAnaforaXMLReader ext
           TemporalTextRelation relation = new TemporalTextRelation(jCas);
           relation.setId(curRelId++);
           addRelation(jCas, relation, sourceID, targetID, tlinkType, 
idToAnnotation, id);
+          idToRelation.put(id, relation);
 
         } else if (type.equals("ALINK")) {
           String sourceID = removeSingleChildText(propertiesElem, "Source", 
id);
@@ -221,6 +223,7 @@ public class THYMEQAAnaforaXMLReader ext
           String alinkType = removeSingleChildText(propertiesElem, "Type", id);
           AspectualTextRelation relation = new AspectualTextRelation(jCas);
           addRelation(jCas, relation, sourceID, targetID, alinkType, 
idToAnnotation, id);
+          idToRelation.put(id, relation);
 
         } else if (type.equals("Question")){
                String questionText = removeSingleChildText(propertiesElem, 
"Question", id);
@@ -260,6 +263,12 @@ public class THYMEQAAnaforaXMLReader ext
         List<TOP> answerList = new ArrayList<>();
        for(String id : questionRelations.get(question)){
                TOP answer = idToAnnotation.get(id);
+               if(answer == null){
+                       answer = idToRelation.get(id);
+                       if(answer == null){
+                               LOGGER.error("cannot find answer for id: " + 
id);
+                       }
+               }
                answerList.add(answer);
        }
        qaRel.setMembers(ListFactory.buildList(jCas, answerList));


Reply via email to