org.molgenis.data.support.QueryImpl.addRule()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(81)

本文整理了Java中org.molgenis.data.support.QueryImpl.addRule方法的一些代码示例,展示了QueryImpl.addRule的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryImpl.addRule方法的具体详情如下:
包路径:org.molgenis.data.support.QueryImpl
类名称:QueryImpl
方法名:addRule

QueryImpl.addRule介绍

暂无

代码示例

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

public SearchResult findOntologyTerm(List<String> queryStrings)
{
  QueryImpl query = new QueryImpl();
  if (queryStrings.size() > 0)
  {
    for (String queryString : queryStrings)
    {
      if (query.getRules().size() > 0) query.addRule(new QueryRule(Operator.OR));
      query.addRule(new QueryRule(ONTOLOGYTERM_SYNONYM, Operator.EQUALS, queryString));
    }
    query.addRule(new QueryRule(Operator.AND));
    query.addRule(new QueryRule(ENTITY_TYPE, Operator.EQUALS, "ontologyTerm"));
    query.pageSize(100);
  }
  return searchService.search(new SearchRequest(null, query, null));
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

public Set<String> findOntologyTermSynonyms(Hit ontologyTermHit)
{
  String ontologyTermIRI = ontologyTermHit.getColumnValueMap().get(ONTOLOGY_TERM_IRI).toString();
  Set<String> synonyms = new HashSet<String>();
  QueryImpl query = new QueryImpl();
  query.addRule(new QueryRule(ONTOLOGY_TERM_IRI, Operator.EQUALS, ontologyTermIRI));
  query.pageSize(100000);
  SearchRequest searchRequest = new SearchRequest(null, query, null);
  SearchResult searchResult = searchService.search(searchRequest);
  for (Hit hit : searchResult.getSearchHits())
  {
    synonyms.add(hit.getColumnValueMap().get(ONTOLOGYTERM_SYNONYM).toString().toLowerCase());
  }
  return synonyms;
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

public Hit getOntologyByIri(String ontologyIri)
{
  QueryImpl q = new QueryImpl();
  q.pageSize(Integer.MAX_VALUE);
  q.addRule(new QueryRule(OntologyIndexRepository.ENTITY_TYPE, Operator.EQUALS,
      OntologyIndexRepository.TYPE_ONTOLOGY));
  q.addRule(new QueryRule(Operator.AND));
  q.addRule(new QueryRule(OntologyIndexRepository.ONTOLOGY_IRI, Operator.EQUALS, ontologyIri));
  SearchRequest searchRequest = new SearchRequest(AsyncOntologyIndexer.createOntologyDocumentType(ontologyIri),
      q, null);
  List<Hit> searchHits = searchService.search(searchRequest).getSearchHits();
  if (searchHits.size() > 0) return searchHits.get(0);
  return new Hit(null, AsyncOntologyIndexer.createOntologyDocumentType(ontologyIri),
      Collections.<String, Object> emptyMap());
}

代码示例来源:origin: org.molgenis/molgenis-data-rest

public Query<Entity> parseQueryString(Map<String, String[]> parameterMap) {
  QueryImpl<Entity> q = new QueryImpl<>();

  for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
   String paramName = entry.getKey();
   String[] paramValues = entry.getValue();

   if ((paramValues != null) && (paramValues.length > 0) && (paramValues[0] != null)) {
    if (paramName.equalsIgnoreCase("num")) {
     q.pageSize(DataConverter.toInt(paramValues[0]));
    } else if (paramName.equalsIgnoreCase("start")) {
     q.offset(DataConverter.toInt(paramValues[0]));
    } else if (paramName.equalsIgnoreCase("q")) {
     Query<Entity> query = molgenisRSQL.createQuery(paramValues[0], entityType);
     for (QueryRule rule : query.getRules()) {
      q.addRule(rule);
     }
    }
   }
  }

  return q;
 }
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

private List<Hit> findOntologyTerms(Hit candidateFeature)
{
  Integer featureId = Integer.parseInt(candidateFeature.getColumnValueMap()
      .get(ObservableFeature.ID.toLowerCase()).toString());
  ObservableFeature feature = dataService.findOne(ObservableFeature.ENTITY_NAME, featureId,
      ObservableFeature.class);
  QueryImpl query = new QueryImpl();
  for (OntologyTerm ot : feature.getDefinitions())
  {
    if (query.getRules().size() > 0) query.addRule(new QueryRule(Operator.OR));
    query.addRule(new QueryRule(ONTOLOGY_TERM_IRI, Operator.EQUALS, ot.getTermAccession()));
  }
  return searchService.search(new SearchRequest(null, query, null)).getSearchHits();
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

/**
 * Retrieve feature information from Index based on given featureIds list.
 * If featureIds is empty, all of features are retrieved for particular
 * dataset
 * 
 * @param protocolId
 * @param featureIds
 * @return
 */
private SearchResult retrieveFeatureFromIndex(Integer protocolId, Iterable<Integer> featureIds)
{
  QueryImpl query = new QueryImpl();
  query.pageSize(Integer.MAX_VALUE);
  if (featureIds != null && Iterables.size(featureIds) > 0)
  {
    for (Integer featureId : featureIds)
    {
      if (query.getRules().size() > 0) query.addRule(new QueryRule(Operator.OR));
      query.addRule(new QueryRule(ENTITY_ID, Operator.EQUALS, featureId));
    }
  }
  else
  {
    query.addRule(new QueryRule(ENTITY_TYPE, Operator.EQUALS, ObservableFeature.class.getSimpleName()
        .toLowerCase()));
  }
  return searchService.search(new SearchRequest(CATALOGUE_PREFIX + protocolId, query, null));
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

public List<Ontology> getAllOntologies()
{
  List<Ontology> ontologies = new ArrayList<Ontology>();
  QueryImpl q = new QueryImpl();
  q.pageSize(Integer.MAX_VALUE);
  q.addRule(new QueryRule(OntologyIndexRepository.ENTITY_TYPE, Operator.EQUALS,
      OntologyIndexRepository.TYPE_ONTOLOGY));
  SearchRequest searchRequest = new SearchRequest(null, q, null);
  for (Hit hit : searchService.search(searchRequest).getSearchHits())
  {
    Ontology ontology = new Ontology();
    ontology.setIdentifier(hit.getColumnValueMap().get(OntologyIndexRepository.ONTOLOGY_IRI).toString());
    ontology.setOntologyURI(hit.getColumnValueMap().get(OntologyIndexRepository.ONTOLOGY_IRI).toString());
    ontology.setName(hit.getColumnValueMap().get(OntologyIndexRepository.ONTOLOGY_NAME).toString());
    ontologies.add(ontology);
  }
  return ontologies;
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

private SearchResult findAllFeatures(Integer targetDataSetId)
{
  QueryImpl query = new QueryImpl();
  query.addRule(new QueryRule(ENTITY_TYPE, Operator.EQUALS, ObservableFeature.class.getSimpleName().toLowerCase()));
  query.pageSize(1000000);
  DataSet dataSet = dataService.findOne(DataSet.ENTITY_NAME, targetDataSetId, DataSet.class);
  return searchService
      .search(new SearchRequest(CATALOGUE_PREFIX + dataSet.getProtocolUsed().getId(), query, null));
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

private Set<String> retrieveUnits(OntologyTerm ot)
{
  Set<String> extractedUnitObjects = new HashSet<String>();
  QueryImpl query = new QueryImpl();
  query.pageSize(10000);
  query.addRule(new QueryRule(ONTOLOGY_TERM_IRI, Operator.EQUALS, ot.getTermAccession()));
  SearchRequest searchRequest = new SearchRequest(UNIT_DOCUMENT_TYPE, query, null);
  SearchResult result = searchService.search(searchRequest);
  for (Hit hit : result.getSearchHits())
  {
    Map<String, Object> columnValueMap = hit.getColumnValueMap();
    extractedUnitObjects
        .add(processUnitName(columnValueMap.get(ONTOLOGYTERM_SYNONYM).toString().toLowerCase()));
  }
  if (!extractedUnitObjects.contains(ot.getName()))
  {
    extractedUnitObjects.add(processUnitName(ot.getName()));
  }
  return extractedUnitObjects;
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

q.addRule(new QueryRule(PROTOCOLTREE_TYPE_FIELD, Operator.EQUALS, ObservableFeature.ENTITY_NAME.toLowerCase()));

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

q.addRule(new QueryRule(Operator.OR));
q.addRule(new QueryRule(OntologyTermIndexRepository.SYNONYMS, Operator.SEARCH, term));
first = false;

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

q.pageSize(Integer.MAX_VALUE);
q.addRule(new QueryRule(PROTOCOLTREE_TYPE_FIELD, Operator.EQUALS, ObservableFeature.ENTITY_NAME
    .toLowerCase()));
SearchRequest request = new SearchRequest(PROTOCOLTREE_PREFIX + dataSet.getProtocolUsed().getId(), q, null);

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

@Async
@RunAsSystem
@Transactional
public void applyAlgorithm(String userName, Integer targetDataSetId, List<Integer> sourceDataSetIds)
{
  currentUserStatus.setUserCurrentStage(userName, STAGE.DeleteMapping);
  removeExistingDerivedDataSets(userName, targetDataSetId, sourceDataSetIds);
  currentUserStatus.setUserCurrentStage(userName, STAGE.CreateMapping);
  createDerivedDataSets(userName, targetDataSetId, sourceDataSetIds);
  SearchResult allFeaturesResult = findAllFeatures(targetDataSetId);
  currentUserStatus.setUserTotalNumberOfQueries(userName,
      allFeaturesResult.getTotalHitCount() * sourceDataSetIds.size());
  QueryImpl query = new QueryImpl();
  query.pageSize(Integer.MAX_VALUE);
  for (Hit hit : allFeaturesResult.getSearchHits())
  {
    if (query.getRules().size() > 0) query.addRule(new QueryRule(Operator.OR));
    query.addRule(new QueryRule(STORE_MAPPING_FEATURE, Operator.EQUALS, hit.getColumnValueMap().get(ENTITY_ID)));
  }
  generateValues(userName, query, targetDataSetId, sourceDataSetIds);
  currentUserStatus.setUserCurrentStage(userName, STAGE.StoreMapping);
  searchService.indexRepository(new DataSetMatrixRepository(dataService, createDerivedDataSetIdentifier(userName,
      targetDataSetId.toString(), StringUtils.join(sourceDataSetIds, '-'))));
  currentUserStatus.setUserIsRunning(userName, false);
}

代码示例来源:origin: org.molgenis/molgenis-omx-biobankconnect

query.addRule(new QueryRule(STORE_MAPPING_FEATURE, Operator.EQUALS, request.getFeatureId()));
SearchResult result = searchService.search(new SearchRequest(mappingDataSetIdentifier, query, null));

相关文章