resultIt = new AdaptingIterator<Entity,Representation>(site.findEntities(query).iterator(), new AdaptingIterator.Adapter<Entity,Representation>() { @Override
log.debug(" > query site {}",site.getId()); try { QueryResultList<Entity> results = site.findEntities(query); if(processedQuery == null){ processedQuery = results.getQuery();
log.debug(" > query site {}",site.getId()); try { QueryResultList<Entity> results = site.findEntities(query); if(processedQuery == null){ processedQuery = results.getQuery();
protected QueryResultList<Entity> query(Site dbpediaSite, String savedEntityLabel, String language, String extractionContext) throws SiteException { FieldQuery query = dbpediaSite.getQueryFactory().createFieldQuery(); if (savedEntityLabel != null && !savedEntityLabel.isEmpty()) { Constraint labelConstraint; if (language != null) { labelConstraint = new TextConstraint(savedEntityLabel, false, language, null); } else { labelConstraint = new TextConstraint(savedEntityLabel, false); } // TODO: what happens if a recommendation was not based on rdfs:label? query.setConstraint(RDFS_LABEL.getUnicodeString(), labelConstraint); } else { log.warn("parsed label {} was empty or NULL. Will use Similarity constraint only!", savedEntityLabel); } query.setConstraint(SpecialFieldEnum.fullText.getUri(), new SimilarityConstraint(extractionContext)); query.setLimit(25); return dbpediaSite.findEntities(query); }
site.findEntities(query); // else the referenced site log.debug(" - {} results returned by query {}", results.size(), results.getQuery()); if (results.isEmpty()) { // no results nothing to do
/** * Gets an Entity from the configured {@link Site} based on the NER text and type. * * @param ner * @param language * @return * @throws EngineException */ private Entity lookupEntity(Span ner, String language) throws EngineException { Site site = getReferencedSite(); FieldQueryFactory queryFactory = site == null ? entityHub.getQueryFactory() : site.getQueryFactory(); FieldQuery query = queryFactory.createFieldQuery(); Constraint labelConstraint; String namedEntityLabel = ner.getSpan(); labelConstraint = new TextConstraint(namedEntityLabel, false, language, null); query.setConstraint(RDFS_LABEL.getUnicodeString(), labelConstraint); query.setConstraint(RDF_TYPE.getUnicodeString(), new ReferenceConstraint(ner.getAnnotation(NlpAnnotations.NER_ANNOTATION).value().getType() .getUnicodeString())); query.setLimit(1); QueryResultList<Entity> results = site == null ? // if site is NULL entityHub.findEntities(query) : // use the Entityhub site.findEntities(query); // else the referenced site if (results.isEmpty()) return null; // We set the limit to 1 so if it found anything it should contain just 1 entry return results.iterator().next(); }