org.vertexium.query.Query.has()方法的使用及代码示例

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

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

Query.has介绍

[英]Adds a has filter to the query.
[中]将has筛选器添加到查询中。

代码示例

代码示例来源:origin: org.visallo/visallo-core

private void applyDirectoryEntityJsonObjectEqualityToQuery(Query graphQuery, String propertyName, JSONObject value0, User user) {
  String directoryEntityId = value0.optString("directoryEntityId", null);
  if (directoryEntityId != null) {
    graphQuery.has(propertyName, Compare.EQUAL, directoryEntityId);
  } else if (value0.optBoolean("currentUser", false)) {
    directoryEntityId = directoryRepository.getDirectoryEntityId(user);
    graphQuery.has(propertyName, Compare.EQUAL, directoryEntityId);
  } else {
    throw new VisalloException("Invalid directory entity JSONObject filter:\n" + value0.toString(2));
  }
}

代码示例来源:origin: org.visallo/visallo-core

private void updateQueryWithDataTypeFilter(Query graphQuery, JSONObject obj, User user, SearchOptions searchOptions) {
  String dataType = obj.getString("dataType");
  String predicateString = obj.optString("predicate");
  PropertyType propertyType = PropertyType.valueOf(dataType);
  try {
    if ("has".equals(predicateString)) {
      graphQuery.has(PropertyType.getTypeClass(propertyType));
    } else if ("hasNot".equals(predicateString)) {
      graphQuery.hasNot(PropertyType.getTypeClass(propertyType));
    } else if ("in".equals(predicateString)) {
      JSONArray values = obj.getJSONArray("values");
      graphQuery.has(PropertyType.getTypeClass(propertyType), Contains.IN, JSONUtil.toList(values));
    } else {
      JSONArray values = obj.getJSONArray("values");
      Object value0 = jsonValueToObject(values, propertyType, 0);
      if (PropertyType.GEO_LOCATION.equals(propertyType)) {
        GeoCompare geoComparePredicate = GeoCompare.valueOf(predicateString.toUpperCase());
        graphQuery.has(GeoShape.class, geoComparePredicate, value0);
      } else {
        throw new UnsupportedOperationException("Data type queries are not yet supported for type: " + dataType);
      }
    }
  } catch (ParseException ex) {
    throw new VisalloException("Could not update query with filter:\n" + obj.toString(2), ex);
  }
}

代码示例来源:origin: visallo/vertexium

.reduce(
          query,
          (q, labelName) -> q.has(ctx.getLabelPropertyName(), labelName),
          (q, q2) -> q
      );
  query.has(propertyMatch.getKey(), Contains.IN, value);
} else {
  query.has(propertyMatch.getKey(), value);

代码示例来源:origin: org.visallo/visallo-core

private void applyDoubleEqualityToQuery(Query graphQuery, JSONObject obj, Object value0) throws ParseException {
  String propertyName = obj.getString("propertyName");
  JSONObject metadata = obj.has("metadata") ? obj.getJSONObject("metadata") : null;
  if (metadata != null && metadata.has("http://visallo.org#inputPrecision") && value0 instanceof Double) {
    double doubleParam = (double) value0;
    int inputPrecision = Math.max(metadata.getInt("http://visallo.org#inputPrecision"), 0);
    double lowerBound = Precision.round(doubleParam, inputPrecision, BigDecimal.ROUND_DOWN);
    double upperBound = Precision.equals(doubleParam, lowerBound, Precision.EPSILON) ? lowerBound + Math.pow(10, -inputPrecision) :
        Precision.round(doubleParam, inputPrecision, BigDecimal.ROUND_UP);
    graphQuery.has(propertyName, Compare.GREATER_THAN_EQUAL, (lowerBound - Precision.EPSILON));
    graphQuery.has(propertyName, Compare.LESS_THAN, (upperBound + Precision.EPSILON));
  } else {
    graphQuery.has(propertyName, Compare.EQUAL, value0);
  }
}

代码示例来源:origin: org.visallo/visallo-core

String propertyName = obj.getString("propertyName");
if ("has".equals(predicateString)) {
  graphQuery.has(propertyName);
} else if ("hasNot".equals(predicateString)) {
  graphQuery.hasNot(propertyName);
} else if ("in".equals(predicateString)) {
  graphQuery.has(propertyName, Contains.IN, JSONUtil.toList(obj.getJSONArray("values")));
} else {
  PropertyType propertyDataType = PropertyType.convert(obj.optString("propertyDataType"));
    graphQuery.has(propertyName, TextPredicate.CONTAINS, value0);
  } else if (PropertyType.DATE.equals(propertyDataType)) {
    applyDateToQuery(graphQuery, obj, predicateString, values, searchOptions);
  } else if (PropertyType.BOOLEAN.equals(propertyDataType)) {
    graphQuery.has(propertyName, Compare.EQUAL, value0);
  } else if (PropertyType.GEO_LOCATION.equals(propertyDataType)) {
    GeoCompare geoComparePredicate = GeoCompare.valueOf(predicateString.toUpperCase());
    graphQuery.has(propertyName, geoComparePredicate, value0);
  } else if ("<".equals(predicateString)) {
    graphQuery.has(propertyName, Compare.LESS_THAN, value0);
  } else if (">".equals(predicateString)) {
    graphQuery.has(propertyName, Compare.GREATER_THAN, value0);
  } else if ("range".equals(predicateString)) {
    graphQuery.has(propertyName, Compare.GREATER_THAN_EQUAL, value0);
    graphQuery.has(propertyName, Compare.LESS_THAN_EQUAL, jsonValueToObject(values, propertyDataType, 1));
  } else if ("=".equals(predicateString) || "equal".equals(predicateString)) {
    if (PropertyType.DIRECTORY_ENTITY.equals(propertyDataType) && value0 instanceof JSONObject) {
      applyDoubleEqualityToQuery(graphQuery, obj, value0);

代码示例来源:origin: org.visallo/visallo-core

@Override
public void addConceptTypeFilterToQuery(Query query, Collection<ElementTypeFilter> filters, String workspaceId) {
  checkNotNull(query, "query cannot be null");
  checkNotNull(filters, "filters cannot be null");
  if (filters.isEmpty()) {
    return;
  }
  Set<String> conceptIds = new HashSet<>(filters.size());
  for (ElementTypeFilter filter : filters) {
    Concept concept = getConceptByIRI(filter.iri, workspaceId);
    checkNotNull(concept, "Could not find concept with IRI: " + filter.iri);
    conceptIds.add(concept.getIRI());
    if (filter.includeChildNodes) {
      Set<Concept> childConcepts = getConceptAndAllChildren(concept, workspaceId);
      conceptIds.addAll(childConcepts.stream().map(Concept::getIRI).collect(Collectors.toSet()));
    }
  }
  query.has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), Contains.IN, conceptIds);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public User findByPasswordResetToken(String token) {
  QueryResultsIterable<Vertex> userVertices = graph.query(authorizations)
      .has(UserVisalloProperties.PASSWORD_RESET_TOKEN.getPropertyName(), token)
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), userConceptId)
      .vertices();
  Vertex user = singleOrDefault(userVertices, null);
  return createFromVertex(user);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public User findByUsername(String username) {
  username = formatUsername(username);
  Iterable<Vertex> vertices = graph.query(authorizations)
      .has(UserVisalloProperties.USERNAME.getPropertyName(), username)
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), userConceptId)
      .vertices();
  Vertex userVertex = singleOrDefault(vertices, null);
  if (userVertex == null) {
    return null;
  }
  userVertexCache.put(userVertex.getId(), userVertex);
  return createFromVertex(userVertex);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public Iterable<Relationship> getRelationshipsByIRI(List<String> relationshipIRIs, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_RELATIONSHIP)
      .has(OntologyProperties.ONTOLOGY_TITLE.getPropertyName(), Contains.IN, relationshipIRIs)
      .vertices();
  return transformRelationships(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
protected List<Concept> findLoadedConceptsByIntent(String intent, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_CONCEPT)
      .has(OntologyProperties.INTENT.getPropertyName(), intent)
      .vertices();
  return transformConcepts(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public Iterable<Concept> getConceptsByIRI(List<String> conceptIRIs, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_CONCEPT)
      .has(OntologyProperties.ONTOLOGY_TITLE.getPropertyName(), Contains.IN, conceptIRIs)
      .vertices();
  return transformConcepts(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
protected List<Relationship> findLoadedRelationshipsByIntent(String intent, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_RELATIONSHIP)
      .has(OntologyProperties.INTENT.getPropertyName(), intent)
      .vertices();
  return transformRelationships(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public Iterable<OntologyProperty> getPropertiesByIRI(List<String> propertyIRIs, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_PROPERTY)
      .has(OntologyProperties.ONTOLOGY_TITLE.getPropertyName(), Contains.IN, propertyIRIs)
      .vertices();
  return transformProperties(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public List<OntologyProperty> getPropertiesByIntent(String intent, String workspaceId) {
  QueryResultsIterable<Vertex> vertices = getGraph().query(getAuthorizations(workspaceId))
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), OntologyRepository.TYPE_PROPERTY)
      .has(OntologyProperties.INTENT.getPropertyName(), intent)
      .vertices();
  return transformProperties(vertices, workspaceId);
}

代码示例来源:origin: org.visallo/visallo-model-vertexium

@Override
public Iterable<User> findByStatus(int skip, int limit, UserStatus status) {
  QueryResultsIterable<Vertex> userVertices = graph.query(authorizations)
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), userConceptId)
      .has(UserVisalloProperties.STATUS.getPropertyName(), status.toString())
      .skip(skip)
      .limit(limit)
      .vertices();
  return new ConvertingIterable<Vertex, User>(userVertices) {
    @Override
    protected User convert(Vertex vertex) {
      return createFromVertex(vertex);
    }
  };
}

代码示例来源:origin: org.visallo/visallo-core

public JSONObject getAverages(int minutes, Graph graph, Authorizations authorizations) {
  Date minutesAgo = new Date(System.currentTimeMillis() - minutes * 60 * 1000);
  Query q = graph.query(authorizations)
      .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), PingOntology.IRI_CONCEPT_PING)
      .has(PingOntology.CREATE_DATE.getPropertyName(), Compare.GREATER_THAN, minutesAgo)
      .limit(0);
  q.addAggregation(new StatisticsAggregation(PingOntology.SEARCH_TIME_MS.getPropertyName(), PingOntology.SEARCH_TIME_MS.getPropertyName()));
  q.addAggregation(new StatisticsAggregation(PingOntology.RETRIEVAL_TIME_MS.getPropertyName(), PingOntology.RETRIEVAL_TIME_MS.getPropertyName()));
  q.addAggregation(new StatisticsAggregation(PingOntology.GRAPH_PROPERTY_WORKER_WAIT_TIME_MS.getPropertyName(), PingOntology.GRAPH_PROPERTY_WORKER_WAIT_TIME_MS.getPropertyName()));
  q.addAggregation(new StatisticsAggregation(PingOntology.LONG_RUNNING_PROCESS_WAIT_TIME_MS.getPropertyName(), PingOntology.LONG_RUNNING_PROCESS_WAIT_TIME_MS.getPropertyName()));
  QueryResultsIterable<Vertex> vertices = q.vertices();
  StatisticsResult searchTimeAgg = vertices.getAggregationResult(PingOntology.SEARCH_TIME_MS.getPropertyName(), StatisticsResult.class);
  StatisticsResult retrievalTimeAgg = vertices.getAggregationResult(PingOntology.RETRIEVAL_TIME_MS.getPropertyName(), StatisticsResult.class);
  StatisticsResult gpwWaitTimeAgg = vertices.getAggregationResult(PingOntology.GRAPH_PROPERTY_WORKER_WAIT_TIME_MS.getPropertyName(), StatisticsResult.class);
  StatisticsResult lrpWaitTimeAgg = vertices.getAggregationResult(PingOntology.LONG_RUNNING_PROCESS_WAIT_TIME_MS.getPropertyName(), StatisticsResult.class);
  JSONObject json = new JSONObject();
  json.put("pingCount", searchTimeAgg.getCount());
  json.put("averageSearchTime", searchTimeAgg.getAverage());
  json.put("averageRetrievalTime", retrievalTimeAgg.getAverage());
  json.put("graphPropertyWorkerCount", gpwWaitTimeAgg.getCount());
  json.put("averageGraphPropertyWorkerWaitTime", gpwWaitTimeAgg.getAverage());
  json.put("longRunningProcessCount", lrpWaitTimeAgg.getCount());
  json.put("averageLongRunningProcessWaitTime", lrpWaitTimeAgg.getAverage());
  return json;
}

代码示例来源:origin: org.vertexium/vertexium-test

@Test
public void testGraphQueryForEdgesUsingInOutVertexIds() {
  Vertex v1 = graph.addVertex("v1", VISIBILITY_A, AUTHORIZATIONS_A);
  Vertex v2 = graph.addVertex("v2", VISIBILITY_A, AUTHORIZATIONS_A);
  Vertex v3 = graph.addVertex("v3", VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e1", v1, v2, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e2", v1, v3, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e3", v3, v1, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.flush();
  QueryResultsIterable<Edge> edges = graph.query(AUTHORIZATIONS_A)
      .has(Edge.OUT_VERTEX_ID_PROPERTY_NAME, "v1")
      .has(Edge.IN_VERTEX_ID_PROPERTY_NAME, "v2")
      .edges();
  assertEdgeIdsAnyOrder(edges, "e1");
  edges = graph.query(AUTHORIZATIONS_A)
      .has(Edge.OUT_VERTEX_ID_PROPERTY_NAME, "v1")
      .edges();
  assertEdgeIdsAnyOrder(edges, "e1", "e2");
}

代码示例来源:origin: visallo/vertexium

@Test
public void testGraphQueryForEdgesUsingInOutVertexIds() {
  Vertex v1 = graph.addVertex("v1", VISIBILITY_A, AUTHORIZATIONS_A);
  Vertex v2 = graph.addVertex("v2", VISIBILITY_A, AUTHORIZATIONS_A);
  Vertex v3 = graph.addVertex("v3", VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e1", v1, v2, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e2", v1, v3, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.addEdge("e3", v3, v1, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A);
  graph.flush();
  QueryResultsIterable<Edge> edges = graph.query(AUTHORIZATIONS_A)
      .has(Edge.OUT_VERTEX_ID_PROPERTY_NAME, "v1")
      .has(Edge.IN_VERTEX_ID_PROPERTY_NAME, "v2")
      .edges();
  assertEdgeIdsAnyOrder(edges, "e1");
  edges = graph.query(AUTHORIZATIONS_A)
      .has(Edge.OUT_VERTEX_ID_PROPERTY_NAME, "v1")
      .edges();
  assertEdgeIdsAnyOrder(edges, "e1", "e2");
}

代码示例来源:origin: org.vertexium/vertexium-test

.has("name", Compare.EQUAL, "Joe")
    .vertices();
Assert.assertEquals(1, count(vertices));

代码示例来源:origin: visallo/vertexium

.has("name", Compare.EQUAL, "Joe")
    .vertices();
Assert.assertEquals(1, count(vertices));

相关文章