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.getOpinionTarget() != null && !opinion.getOpinionTarget().getTerms().isEmpty()) { target = opinion.getTargetSpan().getStr(); indexes.put("target-start", opinion.getTargetSpan().getTargets().get(0).getOffset());
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)); } }
String otType = getOptAttribute("type", opinionTargetElem); if (otType != null) { opinionTarget.setType(otType); opinionTarget.addExternalRefs(getExternalReferences(targetExternalRefs.get(0), kaf));
if (opTarget != null) { Element opinionTargetElem = new Element("opinion_target"); Comment comment = new Comment(StringEscapeUtils.escapeXml11(opinion.getSpanStr(opinion.getOpinionTarget().getSpan()))); opinionTargetElem.addContent(comment); List<Term> targets = opTarget.getTerms(); Span<Term> span = opTarget.getSpan(); if (targets.size() > 0) { Element spanElem = new Element("span");
if (opTarget != null) { Element opinionTargetElem = new Element("opinion_target"); if (opTarget.hasType()) { opinionTargetElem.setAttribute("type", opTarget.getType()); Comment comment = new Comment(opinion.getSpanStr(opinion.getOpinionTarget().getSpan())); opinionTargetElem.addContent(comment); List<Term> targets = opTarget.getTerms(); Span<Term> span = opTarget.getSpan(); if (targets.size() > 0) { Element spanElem = new Element("span"); if (!opTarget.getExternalRefs().isEmpty()) { opinionTargetElem.addContent(externalReferencesToDOM(opTarget.getExternalRefs()));
String attitude = target.getValue("writerAttitude"); if (attitude != null) { opinionTarget.setType(attitude);
for (Term term : opinion.getOpinionTarget().getTerms()) { termSpan.addTarget(nafTerms.get(idConverter.get(term.getId())));
return "opinion " + ((Opinion) annotation).getId(); } else if (annotation instanceof OpinionTarget) { return "opinion target '" + ((OpinionTarget) annotation).getSpan().getStr() + "'"; } else if (annotation instanceof OpinionHolder) { return "opinion holder '" + ((OpinionHolder) annotation).getSpan().getStr() + "'";
target.getSpan(), sentenceID); final Set<Term> targetHeads = targetSpan == null ? ImmutableSet.<Term>of() : NAFUtils .extractHeads(this.document, null, targetSpan.getTargets(),
OpinionTarget(final OpinionTarget ot, final HashMap<String, Term> terms) { /* Copy span */ final Span<Term> span = ot.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_target"); } 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 : ot.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(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> getTargetSpan() { return this.opinionTarget == null ? null : this.opinionTarget.getSpan(); }
public OpinionTarget createOpinionTarget(final Span<Term> span) { this.opinionTarget = new Opinion.OpinionTarget(span); return this.opinionTarget; }
public OpinionTarget createOpinionTarget(Span<Term> span) { this.opinionTarget = new Opinion.OpinionTarget(span); return this.opinionTarget; }
public void setTargetSpan(final Span<Term> targetSpan) { if (targetSpan == null || targetSpan.isEmpty()) { this.opinionTarget = null; } else if (this.opinionTarget == null) { this.opinionTarget = new Opinion.OpinionTarget(targetSpan); } else { this.opinionTarget.setSpan(targetSpan); } }
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; }