[
https://issues.apache.org/jira/browse/STANBOL-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181343#comment-13181343
]
Rupert Westenthaler commented on STANBOL-85:
--------------------------------------------
Currently this utility is used in 3 places
* autotagger: This component is no longer used and was replaced by the NER and
NamedEntityTaggingEngine
* NamedEntityTaggingEngine
* TaxonomyLinkingEngine: Engine is no longer used and was replaced by the
KeywordLinkingEngine [1]
Still moving utilities to write EntityEnhancement based on a Entity data would
be nice to have on a common place. However this can be done as part of
introducing the new Stanbol Enhancement Structure (STANBOL-351)
[1] see at the end of
http://incubator.apache.org/stanbol/docs/trunk/enhancer/engines/keywordlinkingengine.html
for more information
> Duplicate class EnhancementRDFUtils inside engines.entityTagging &
> engines.autotagging
> --------------------------------------------------------------------------------------
>
> Key: STANBOL-85
> URL: https://issues.apache.org/jira/browse/STANBOL-85
> Project: Stanbol
> Issue Type: Bug
> Components: Enhancer
> Reporter: Florent ANDRE
>
> $ diff
> entitytagging/src/main/java/org/apache/stanbol/enhancer/engines/entitytagging/impl/EnhancementRDFUtils.java
>
> autotagging/src/main/java/org/apache/stanbol/enhancer/engines/autotagging/impl/EnhancementRDFUtils.java
>
> 17c17
> < package org.apache.stanbol.enhancer.engines.entitytagging.impl;
> ---
> > package org.apache.stanbol.enhancer.engines.autotagging.impl;
> 20d19
> < import java.util.Iterator;
> 22,23d20
> < import org.apache.clerezza.rdf.core.Language;
> < import org.apache.clerezza.rdf.core.Literal;
> 28d24
> < import org.apache.clerezza.rdf.core.impl.PlainLiteralImpl;
> 29a26
> > import org.apache.stanbol.autotagging.TagInfo;
> 32,35d28
> < import org.apache.stanbol.entityhub.servicesapi.model.Reference;
> < import org.apache.stanbol.entityhub.servicesapi.model.Sign;
> < import org.apache.stanbol.entityhub.servicesapi.model.Text;
> < import org.apache.stanbol.entityhub.servicesapi.model.rdf.RdfResourceEnum;
> 40,46d32
> < /**
> < * Utility taken form the engine.autotagging bundle and adapted from
> < * using TagInfo to {@link Sign}.
> < *
> < * @author Rupert Westenthaler
> < * @author ogrisel (original utility)
> < */
> 48a35,37
> > private EnhancementRDFUtils() {
> > }
> >
> 54c43
> < * @param entity the related entity
> ---
> > * @param tag the related entity
> 57,81c46
> < MGraph graph, UriRef contentItemId, Collection<NonLiteral>
> relatedEnhancements, Sign entity) {
> < //1. check if the returned Entity does has a label -> if not return
> null
> < //add labels (set only a single label. Use "en" if available!
> < Text label = null;
> < Iterator<Text> labels =
> entity.getRepresentation().getText(RDFS_LABEL.getUnicodeString());
> < while (labels.hasNext()) {
> < Text actLabel = labels.next();
> < if(label == null){
> < label = actLabel;
> < } else {
> < if("en".equals(actLabel.getLanguage())){
> < label = actLabel;
> < }
> < }
> < }
> < if (label == null){
> < return null;
> < }
> < Literal literal;
> < if (label.getLanguage() == null){
> < literal = new PlainLiteralImpl(label.getText());
> < } else {
> < literal = new PlainLiteralImpl(label.getText(), new
> Language(label.getLanguage()));
> < }
> < //Now create the entityAnnotation
> ---
> > MGraph graph, UriRef contentItemId, Collection<NonLiteral>
> > relatedEnhancements, TagInfo tag) {
> 86c51,52
> < graph.add(new TripleImpl(entityAnnotation, DC_RELATION,
> enhancement));
> ---
> > graph.add(new TripleImpl(entityAnnotation,
> > DC_RELATION, enhancement));
> 88c54
> < UriRef entityUri = new UriRef(entity.getId());
> ---
> > UriRef entityUri = new UriRef(tag.getId());
> 90,104c56,60
> < graph.add(new TripleImpl(entityAnnotation,
> ENHANCER_ENTITY_REFERENCE, entityUri));
> < //add the label parsed above
> < graph.add(new TripleImpl(entityAnnotation, ENHANCER_ENTITY_LABEL,
> literal));
> < //TODO: add real confidence values!
> < // -> in case of SolrYards this will be a Lucene score and not
> within the range [0..1]
> < // -> in case of SPARQL there will be no score information at all.
> < Object score =
> entity.getRepresentation().getFirst(RdfResourceEnum.resultScore.getUri());
> < Double scoreValue = new Double(-1); //use -1 if no score is
> available!
> < if (score != null){
> < try {
> < scoreValue = Double.valueOf(score.toString());
> < } catch (NumberFormatException e) {
> < //ignore
> < }
> < }
> ---
> > graph.add(new TripleImpl(entityAnnotation,
> > ENHANCER_ENTITY_REFERENCE, entityUri));
> > graph.add(new TripleImpl(entityAnnotation,
> > ENHANCER_ENTITY_LABEL,
> > literalFactory.createTypedLiteral(tag.getLabel())));
> 107,110c63,64
> < literalFactory.createTypedLiteral(scoreValue)));
> <
> < Iterator<Reference> types =
> entity.getRepresentation().getReferences(RDF_TYPE.getUnicodeString());
> < while (types.hasNext()) {
> ---
> > literalFactory.createTypedLiteral(tag.getConfidence())));
> > for (String entityType : tag.getType()) {
> 112c66
> < ENHANCER_ENTITY_TYPE, new
> UriRef(types.next().getReference())));
> ---
> > ENHANCER_ENTITY_TYPE, new UriRef(entityType)));
> 114,118d67
> < //TODO: for now add the information about this entity to the graph
> < // -> this might be replaced by some additional engine at the end
> < // RdfValueFactory rdfValueFactory = RdfValueFactory.getInstance();
> < // RdfRepresentation representation =
> rdfValueFactory.toRdfRepresentation(entity.getRepresentation());
> < // graph.addAll(representation.getRdfGraph());
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira