@Override public final Pattern or(Pattern pattern) { return Graql.or(this, pattern); } }
/** * @param patterns an array of patterns to match * @return a pattern that will match when any contained pattern matches */ @CheckReturnValue public static Pattern or(Pattern... patterns) { return or(Arrays.asList(patterns)); }
@Override public Pattern visitOrPattern(GraqlParser.OrPatternContext ctx) { return Graql.or(ctx.pattern().stream().map(this::visitPattern).collect(toList())); }
/** * 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(); }