Map<AnnotationType, List<Annotation>> getReferencedAnnotations() { Map<AnnotationType, List<Annotation>> referenced = new HashMap<AnnotationType, List<Annotation>>(); List<Term> referencedTerms = new ArrayList<Term>(); if ((this.opinionExpression != null) && (this.opinionExpression.getSpan() != null)) referencedTerms.addAll(this.opinionExpression.getSpan().getTargets()); if ((this.opinionHolder != null) && (this.opinionHolder.getSpan() != null)) referencedTerms.addAll(this.opinionHolder.getSpan().getTargets()); if ((this.opinionTarget != null) && (this.opinionTarget.getSpan() != null)) referencedTerms.addAll(this.opinionTarget.getSpan().getTargets()); referenced.put(AnnotationType.TERM, (List<Annotation>) (List<?>) referencedTerms); return referenced; }
if (opinion.getOpinionHolder() != null && !opinion.getOpinionHolder().getTerms().isEmpty()) { holder = opinion.getHolderSpan().getStr(); indexes.put("holder-start", opinion.getHolderSpan().getTargets().get(0).getOffset());
String attitude = agent.getValue("writerAttitude"); if (attitude != null) { opinionHolder.setType(attitude);
String ohType = getOptAttribute("type", opinionHolderElem); if (ohType != null) { opinionHolder.setType(ohType); opinionHolder.addExternalRefs(getExternalReferences(holderExternalRefs.get(0), kaf));
if (holder != null) { Element opinionHolderElem = new Element("opinion_holder"); if (holder.hasType()) { opinionHolderElem.setAttribute("type", holder.getType()); Comment comment = new Comment(StringEscapeUtils.escapeXml11(opinion.getSpanStr(opinion.getOpinionHolder().getSpan()))); opinionHolderElem.addContent(comment); List<Term> targets = holder.getTerms(); Span<Term> span = holder.getSpan(); if (targets.size() > 0) { Element spanElem = new Element("span");
String ohType = getOptAttribute("type", opinionHolderElem); if (ohType != null) { opinionHolder.setType(ohType);
if (holder != null) { Element opinionHolderElem = new Element("opinion_holder"); if (holder.hasType()) { opinionHolderElem.setAttribute("type", holder.getType()); Comment comment = new Comment(opinion.getSpanStr(opinion.getOpinionHolder().getSpan())); opinionHolderElem.addContent(comment); List<Term> targets = holder.getTerms(); Span<Term> span = holder.getSpan(); if (targets.size() > 0) { Element spanElem = new Element("span"); if (!holder.getExternalRefs().isEmpty()) { opinionHolderElem.addContent(externalReferencesToDOM(holder.getExternalRefs()));
for (Term term : opinion.getOpinionHolder().getTerms()) { termSpan.addTarget(nafTerms.get(idConverter.get(term.getId())));
return "opinion target '" + ((OpinionTarget) annotation).getSpan().getStr() + "'"; } else if (annotation instanceof OpinionHolder) { return "opinion holder '" + ((OpinionHolder) annotation).getSpan().getStr() + "'"; } else if (annotation instanceof OpinionExpression) { return "opinion expression '" + ((OpinionExpression) annotation).getSpan().getStr()
holder.getSpan(), sentenceID); final Set<Term> holderHeads = holderSpan == null ? ImmutableSet.<Term>of() : NAFUtils .extractHeads(this.document, null, holderSpan.getTargets(), NAFUtils
OpinionHolder(final OpinionHolder oh, final HashMap<String, Term> terms) { /* Copy span */ final Span<Term> span = oh.span; final List<Term> targets = span.getTargets(); final List<Term> copiedTargets = new ArrayList<Term>(); for (final Term term : targets) { final Term copiedTerm = terms.get(term.getId()); if (copiedTerm == null) { throw new IllegalStateException("Term not found when copying opinion_holder"); } copiedTargets.add(copiedTerm); } if (span.hasHead()) { final Term copiedHead = terms.get(span.getHead().getId()); this.span = new Span<Term>(copiedTargets, copiedHead); } else { this.span = new Span<Term>(copiedTargets); } this.externalReferences = new ArrayList<ExternalRef>(); for (final ExternalRef externalRef : oh.getExternalRefs()) { this.externalReferences.add(new ExternalRef(externalRef)); } }
private static List<ExternalRef> getRefs(final Object annotation) { List<ExternalRef> refs = ImmutableList.of(); if (annotation instanceof Term) { refs = ((Term) annotation).getExternalRefs(); } else if (annotation instanceof Entity) { refs = ((Entity) annotation).getExternalRefs(); } else if (annotation instanceof Predicate) { refs = ((Predicate) annotation).getExternalRefs(); } else if (annotation instanceof Role) { refs = ((Role) annotation).getExternalRefs(); } else if (annotation instanceof Opinion) { refs = ((Opinion) annotation).getExternalRefs(); } else if (annotation instanceof OpinionExpression) { refs = ((OpinionExpression) annotation).getExternalRefs(); } else if (annotation instanceof OpinionTarget) { refs = ((OpinionTarget) annotation).getExternalRefs(); } else if (annotation instanceof OpinionHolder) { refs = ((OpinionHolder) annotation).getExternalRefs(); } else { throw new IllegalArgumentException("Unsupported annotation object: " + annotation); } return refs; }
Opinion(final Opinion opinion, final HashMap<String, Term> terms) { this.id = opinion.id; if (opinion.opinionHolder != null) { this.opinionHolder = new OpinionHolder(opinion.opinionHolder, terms); } if (opinion.opinionTarget != null) { this.opinionTarget = new OpinionTarget(opinion.opinionTarget, terms); } if (opinion.opinionExpression != null) { this.opinionExpression = new OpinionExpression(opinion.opinionExpression, terms); } this.externalReferences = new ArrayList<ExternalRef>(); for (final ExternalRef externalRef : opinion.getExternalRefs()) { this.externalReferences.add(new ExternalRef(externalRef)); } }
Opinion(Opinion opinion, HashMap<String, Term> terms) { super(opinion.getId()); if (opinion.opinionHolder != null) { this.opinionHolder = new OpinionHolder(opinion.opinionHolder, terms); } if (opinion.opinionTarget != null) { this.opinionTarget = new OpinionTarget(opinion.opinionTarget, terms); } if (opinion.opinionExpression != null) { this.opinionExpression = new OpinionExpression( opinion.opinionExpression, terms); } }
public Span<Term> getHolderSpan() { return this.opinionHolder == null ? null : this.opinionHolder.getSpan(); }
public void setHolderSpan(final Span<Term> holderSpan) { if (holderSpan == null || holderSpan.isEmpty()) { this.opinionHolder = null; } else if (this.opinionHolder == null) { this.opinionHolder = new Opinion.OpinionHolder(holderSpan); } else { this.opinionHolder.setSpan(holderSpan); } }
public OpinionHolder createOpinionHolder(final Span<Term> span) { this.opinionHolder = new Opinion.OpinionHolder(span); return this.opinionHolder; }
public OpinionHolder createOpinionHolder(Span<Term> span) { this.opinionHolder = new Opinion.OpinionHolder(span); return this.opinionHolder; }
Map<AnnotationType, List<Annotation>> getReferencedAnnotations() { Map<AnnotationType, List<Annotation>> referenced = new HashMap<AnnotationType, List<Annotation>>(); referenced.put(AnnotationType.TERM, (List<Annotation>) (List<?>) this.getSpan().getTargets()); return referenced; }