return new PlaceAdjectival(currentToken.getStart(), currentToken.getEnd(), langPlaceAdjectivalsMap.get(currentTokenString)); return new PlaceAdjectival(previousToken.getStart(), currentToken.getEnd(), langPlaceAdjectivalsMap.get(concatTokensString)); return new PlaceAdjectival(currentToken.getStart(), nextToken.getEnd(), langPlaceAdjectivalsMap.get(concatTokensString));
protected SpanImpl(AnalysedTextImpl analysedText, SpanTypeEnum type, Span relativeTo,int start,int end) { this(type, relativeTo == null ? start : relativeTo.getStart()+start, relativeTo == null ? end : relativeTo.getStart()+end); setContext(analysedText); //check that Spans that are created relative to an other do not cross //the borders of that span if(relativeTo != null && relativeTo.getEnd() < getEnd()){ throw new IllegalArgumentException("Illegal span ["+start+','+end + "] for "+type+" relative to "+relativeTo+" : Span of the " + " contained Token MUST NOT extend the others!"); } }
protected SpanImpl(AnalysedTextImpl analysedText, SpanTypeEnum type, Span relativeTo,int start,int end) { this(type, relativeTo == null ? start : relativeTo.getStart()+start, relativeTo == null ? end : relativeTo.getStart()+end); setContext(analysedText); //check that Spans that are created relative to an other do not cross //the borders of that span if(relativeTo != null && relativeTo.getEnd() < getEnd()){ throw new IllegalArgumentException("Illegal span ["+start+','+end + "] for "+type+" relative to "+relativeTo+" : Span of the " + " contained Token MUST NOT extend the others!"); } }
@Override public int compareTo(Span o) { if(context != null && o.getContext() != null && !context.equals(o.getContext())){ log.warn("Comparing Spans with different Context. This is not an " + "intended usage of this class as start|end|type parameters " + "do not have a natural oder over different texts."); log.info("This will sort Spans based on start|end|type parameters "+ "regardless that the might be over different texts!"); //TODO consider throwing an IllegalStateExcetion! } //Compare Integers ASC (used here three times) // (x < y) ? -1 : ((x == y) ? 0 : 1); int start = (span[0] < o.getStart()) ? -1 : ((span[0] == o.getStart()) ? 0 : 1); if(start == 0){ //sort end in DESC order int end = (span[1] < o.getEnd()) ? 1 : ((span[1] == o.getEnd()) ? 0 : -1); //if start AND end is the same compare based on the span type //Natural order of span types is defined by the Enum.ordinal() int o1 = getType().ordinal(); int o2 = o.getType().ordinal(); return end != 0 ? end : (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1); } else { return start; } }
@Override public int compareTo(Span o) { if(context != null && o.getContext() != null && !context.equals(o.getContext())){ log.warn("Comparing Spans with different Context. This is not an " + "intended usage of this class as start|end|type parameters " + "do not have a natural oder over different texts."); log.info("This will sort Spans based on start|end|type parameters "+ "regardless that the might be over different texts!"); //TODO consider throwing an IllegalStateExcetion! } //Compare Integers ASC (used here three times) // (x < y) ? -1 : ((x == y) ? 0 : 1); int start = (span[0] < o.getStart()) ? -1 : ((span[0] == o.getStart()) ? 0 : 1); if(start == 0){ //sort end in DESC order int end = (span[1] < o.getEnd()) ? 1 : ((span[1] == o.getEnd()) ? 0 : -1); //if start AND end is the same compare based on the span type //Natural order of span types is defined by the Enum.ordinal() int o1 = getType().ordinal(); int o2 = o.getType().ordinal(); return end != 0 ? end : (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1); } else { return start; } }
private ObjectNode writeSpan(Span span) throws IOException { log.trace("wirte {}",span); ObjectNode jSpan = mapper.createObjectNode(); jSpan.put("type", span.getType().name()); jSpan.put("start", span.getStart()); jSpan.put("end", span.getEnd()); for(String key : span.getKeys()){ List<Value<?>> values = span.getValues(key); if(values.size() == 1){ jSpan.put(key, writeValue(values.get(0))); } else { ArrayNode jValues = jSpan.putArray(key); for(Value<?> value : values){ jValues.add(writeValue(value)); } jSpan.put(key, jValues); } } log.trace(" ... {}",jSpan); return jSpan; }
private ObjectNode writeSpan(Span span) throws IOException { log.trace("wirte {}",span); ObjectNode jSpan = mapper.createObjectNode(); jSpan.put("type", span.getType().name()); jSpan.put("start", span.getStart()); jSpan.put("end", span.getEnd()); for(String key : span.getKeys()){ List<Value<?>> values = span.getValues(key); if(values.size() == 1){ jSpan.put(key, writeValue(values.get(0))); } else { ArrayNode jValues = jSpan.putArray(key); for(Value<?> value : values){ jValues.add(writeValue(value)); } jSpan.put(key, jValues); } } log.trace(" ... {}",jSpan); return jSpan; }
@Override public ObjectNode serialize(ObjectMapper mapper, CorefFeature coref) { ObjectNode jCoref = mapper.createObjectNode(); jCoref.put(IS_REPRESENTATIVE_TAG, coref.isRepresentative()); Set<Span> mentions = coref.getMentions(); ArrayNode jMentions = mapper.createArrayNode(); for(Span mention : mentions) { ObjectNode jMention = mapper.createObjectNode(); jMention.put(MENTION_TYPE_TAG, mention.getType().toString()); jMention.put(MENTION_START_TAG, mention.getStart()); jMention.put(MENTION_END_TAG, mention.getEnd()); jMentions.add(jMention); } jCoref.put(MENTIONS_TAG, jMentions); return jCoref; }
@Override public ObjectNode serialize(ObjectMapper mapper, CorefFeature coref) { ObjectNode jCoref = mapper.createObjectNode(); jCoref.put(IS_REPRESENTATIVE_TAG, coref.isRepresentative()); Set<Span> mentions = coref.getMentions(); ArrayNode jMentions = mapper.createArrayNode(); for(Span mention : mentions) { ObjectNode jMention = mapper.createObjectNode(); jMention.put(MENTION_TYPE_TAG, mention.getType().toString()); jMention.put(MENTION_START_TAG, mention.getStart()); jMention.put(MENTION_END_TAG, mention.getEnd()); jMentions.add(jMention); } jCoref.put(MENTIONS_TAG, jMentions); return jCoref; }
span.getType() == SpanTypeEnum.Text ? -1 : span.getEnd()); if(!contextOnlyUriScheme || span.getType() == SpanTypeEnum.Text){ graph.add(new TripleImpl(segment, RDF_TYPE, Nif20.RFC5147String.getUri())); if(span.getEnd() - span.getStart() < 100){ graph.add(new TripleImpl(segment, Nif20.anchorOf.getUri(), new PlainLiteralImpl(span.getSpan(),language))); lf.createTypedLiteral(span.getStart()))); graph.add(new TripleImpl(segment, Nif20.endIndex.getUri(), lf.createTypedLiteral(span.getEnd()))); String content = text.getSpan(); if(span.getType() != SpanTypeEnum.Text){ graph.add(new TripleImpl(segment, Nif20.before.getUri(), new PlainLiteralImpl( content.substring(prefixStart, span.getStart()), language))); int suffixEnd = Math.min(span.getEnd() + DEFAULT_PREFIX_SUFFIX_LENGTH, text.getEnd()); graph.add(new TripleImpl(segment, Nif20.after.getUri(), new PlainLiteralImpl( content.substring(span.getEnd(), suffixEnd), language)));
lf.createTypedLiteral(span.getStart()))); metadata.add(new TripleImpl(ta, ENHANCER_END, lf.createTypedLiteral(span.getEnd()))); metadata.add(new TripleImpl(ta, ENHANCER_SELECTION_CONTEXT, new PlainLiteralImpl(context == null ? lf.createTypedLiteral(span.getStart()))); metadata.add(new TripleImpl(ta, ENHANCER_END, lf.createTypedLiteral(span.getEnd()))); metadata.add(new TripleImpl(ta, SENTIMENT_PROPERTY, lf.createTypedLiteral(sentiment)));
@Override public ObjectNode serialize(ObjectMapper mapper, DependencyRelation relation) { ObjectNode jDependencyRelation = mapper.createObjectNode(); GrammaticalRelationTag gramRelTag = relation.getGrammaticalRelationTag(); jDependencyRelation.put(RELATION_TYPE_TAG, gramRelTag.getTag()); jDependencyRelation.put(RELATION_STANBOL_TYPE_TAG, gramRelTag.getGrammaticalRelation().ordinal()); jDependencyRelation.put(RELATION_IS_DEPENDENT_TAG, (relation.isDependent())); Span partner = relation.getPartner(); if (partner != null) { jDependencyRelation.put(RELATION_PARTNER_TYPE_TAG, partner.getType().toString()); jDependencyRelation.put(RELATION_PARTNER_START_TAG, partner.getStart()); jDependencyRelation.put(RELATION_PARTNER_END_TAG, partner.getEnd()); } else { jDependencyRelation.put(RELATION_PARTNER_TYPE_TAG, ROOT_TAG); jDependencyRelation.put(RELATION_PARTNER_START_TAG, 0); jDependencyRelation.put(RELATION_PARTNER_END_TAG, 0); } return jDependencyRelation; }
@Override public ObjectNode serialize(ObjectMapper mapper, DependencyRelation relation) { ObjectNode jDependencyRelation = mapper.createObjectNode(); GrammaticalRelationTag gramRelTag = relation.getGrammaticalRelationTag(); jDependencyRelation.put(RELATION_TYPE_TAG, gramRelTag.getTag()); jDependencyRelation.put(RELATION_STANBOL_TYPE_TAG, gramRelTag.getGrammaticalRelation().ordinal()); jDependencyRelation.put(RELATION_IS_DEPENDENT_TAG, (relation.isDependent())); Span partner = relation.getPartner(); if (partner != null) { jDependencyRelation.put(RELATION_PARTNER_TYPE_TAG, partner.getType().toString()); jDependencyRelation.put(RELATION_PARTNER_START_TAG, partner.getStart()); jDependencyRelation.put(RELATION_PARTNER_END_TAG, partner.getEnd()); } else { jDependencyRelation.put(RELATION_PARTNER_TYPE_TAG, ROOT_TAG); jDependencyRelation.put(RELATION_PARTNER_START_TAG, 0); jDependencyRelation.put(RELATION_PARTNER_END_TAG, 0); } return jDependencyRelation; }
IRI segment = getNifOffsetURI(base, span.getStart(), span.getEnd()); graph.add(new TripleImpl(segment, RDF_TYPE, StringOntology.OffsetBasedString.getUri())); graph.add(new TripleImpl(segment, StringOntology.anchorOf.getUri(), lf.createTypedLiteral(span.getStart()))); graph.add(new TripleImpl(segment, StringOntology.endIndex.getUri(), lf.createTypedLiteral(span.getEnd()))); switch (span.getType()) { case Token:
IRI segment = getNifOffsetURI(base, span.getStart(), span.getEnd()); graph.add(new TripleImpl(segment, RDF_TYPE, StringOntology.OffsetBasedString.getUri())); graph.add(new TripleImpl(segment, StringOntology.anchorOf.getUri(), lf.createTypedLiteral(span.getStart()))); graph.add(new TripleImpl(segment, StringOntology.endIndex.getUri(), lf.createTypedLiteral(span.getEnd()))); switch (span.getType()) { case Token: