ai.grakn.graql.QueryBuilder.match()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(94)

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

QueryBuilder.match介绍

暂无

代码示例

代码示例来源:origin: ai.grakn/grakn-graql

/**
 * @param patterns a collection of patterns to match in the graph
 * @return a {@link Match} that will find matches of the given patterns
 */
@CheckReturnValue
public static Match match(Collection<? extends Pattern> patterns) {
  return withoutGraph().match(patterns);
}

代码示例来源:origin: ai.grakn/grakn-graql

/**
 * @param patterns an array of patterns to match in the graph
 * @return a {@link Match} that will find matches of the given patterns
 */
@CheckReturnValue
public static Match match(Pattern... patterns) {
  return withoutGraph().match(patterns);
}

代码示例来源:origin: ai.grakn/grakn-test-tools

public static void assertNotExists(QueryBuilder qb, Pattern... patterns) {
  assertNotExists(qb.match(patterns));
}

代码示例来源:origin: ai.grakn/grakn-test-tools

public static void assertExists(QueryBuilder qb, Pattern... patterns) {
  assertExists(qb.match(patterns));
}

代码示例来源:origin: ai.grakn/grakn-graql

@Override
public Match visitMatchBase(GraqlParser.MatchBaseContext ctx) {
  Collection<Pattern> patterns = visitPatterns(ctx.patterns());
  return queryBuilder.match(patterns);
}

代码示例来源:origin: ai.grakn/grakn-graql

/**
 * Helper method to check whether the concept types in the scope have any instances
 *
 * @return
 */
private boolean scopeContainsInstance() {
  if (scopeTypeLabels().isEmpty()) return false;
  List<Pattern> checkSubtypes = scopeTypeLabels().stream()
      .map(type -> Graql.var("x").isa(Graql.label(type))).collect(Collectors.toList());
  return tx.graql().infer(false).match(Graql.or(checkSubtypes)).iterator().hasNext();
}

代码示例来源:origin: ai.grakn/migration-base

public static void printWholeCompletionMessage(MigrationOptions options){
  System.out.println("Migration complete.");
  if(options.isVerbose()) {
    System.out.println("Gathering information about migrated data. If in a hurry, you can ctrl+c now.");
    GraknTx tx = new Grakn(options.getUri()).session(options.getKeyspace()).transaction(GraknTxType.WRITE);
    QueryBuilder qb = tx.graql();
    StringBuilder builder = new StringBuilder();
    builder.append("Graph schema contains:\n");
    builder.append("\t ").append(tx.admin().getMetaEntityType().instances().count()).append(" entity types\n");
    builder.append("\t ").append(tx.admin().getMetaRelationType().instances().count()).append(" relation types\n");
    builder.append("\t ").append(tx.admin().getMetaRole().subs().count()).append(" roles\n\n");
    builder.append("\t ").append(tx.admin().getMetaAttributeType().instances().count()).append(" resource types\n");
    builder.append("\t ").append(tx.admin().getMetaRule().subs().count()).append(" rules\n\n");
    builder.append("Graph data contains:\n");
    builder.append("\t ").append(qb.match(var("x").isa(label(ENTITY.getLabel()))).aggregate(count()).execute()).append(" entities\n");
    builder.append("\t ").append(qb.match(var("x").isa(label(RELATIONSHIP.getLabel()))).aggregate(count()).execute()).append(" relations\n");
    builder.append("\t ").append(qb.match(var("x").isa(label(ATTRIBUTE.getLabel()))).aggregate(count()).execute()).append(" resources\n");
    builder.append("\t ").append(qb.match(var("x").isa(label(RULE.getLabel()))).aggregate(count()).execute()).append(" rules\n\n");
    System.out.println(builder);
    tx.close();
  }
}

代码示例来源:origin: ai.grakn/grakn-graql

public GetQuery getQuery() {
  return tx.graql().infer(false).match(getPattern()).get();
}

代码示例来源:origin: ai.grakn/grakn-graql

/**
 * Get the resource edge id if there is one. Return null if not.
 */
public static ConceptId getResourceEdgeId(GraknTx graph, ConceptId conceptId1, ConceptId conceptId2) {
  if (mayHaveResourceEdge(graph, conceptId1, conceptId2)) {
    Optional<Concept> firstConcept = graph.graql().match(
        var("x").id(conceptId1),
        var("y").id(conceptId2),
        var("z").rel(var("x")).rel(var("y")))
        .get("z")
        .stream().map(answer -> answer.get("z"))
        .findFirst();
    if (firstConcept.isPresent()) {
      return firstConcept.get().id();
    }
  }
  return null;
}

代码示例来源:origin: ai.grakn/grakn-graql

Stream<ConceptMap> answerStream = conjQuery.isRuleResolvable() ? conjQuery.resolve() : embeddedTx.graql().infer(false).match(conj).stream();
while (conjIt.hasNext()) {
  conj = conjIt.next();
  conjQuery = ReasonerQueries.create(conj, embeddedTx).rewrite();
  Stream<ConceptMap> localStream = conjQuery.isRuleResolvable() ? conjQuery.resolve() : embeddedTx.graql().infer(false).match(conj).stream();
  answerStream = Stream.concat(answerStream, localStream);

代码示例来源:origin: ai.grakn/grakn-graql

/**
   * Helper method to check whether the concept types in the target have any instances
   *
   * @return true if they exist, false if they don't
   */
  private boolean targetContainsInstance() {
    for (Label attributeType : targetTypeLabels()) {
      for (Label type : scopeTypeLabels()) {
        Boolean patternExist = tx.graql().infer(false).match(
            Graql.var("x").has(attributeType, Graql.var()),
            Graql.var("x").isa(Graql.label(type))
        ).iterator().hasNext();
        if (patternExist) return true;
      }
    }
    return false;
    //TODO: should use the following ask query when ask query is even lazier
//        List<Pattern> checkResourceTypes = statisticsResourceTypes.stream()
//                .map(type -> var("x").has(type, var())).collect(Collectors.toList());
//        List<Pattern> checkSubtypes = inTypes.stream()
//                .map(type -> var("x").isa(Graql.label(type))).collect(Collectors.toList());
//
//        return tx.get().graql().infer(false)
//                .match(or(checkResourceTypes), or(checkSubtypes)).aggregate(ask()).execute();
  }

相关文章

微信公众号

最新文章

更多