For IntelliJ IDEA and
Android Studio


public static DatalogProgram program(Collection<CQIE> rules){ DatalogProgram datalogProgram = DATALOG_FACTORY.getDatalogProgram(); datalogProgram.appendRule(rules); return datalogProgram; }
/*** * This expands all Join that can be directly added as conjuncts to a * query's body. Nested Join trees inside left joins are not touched. * * @param query * @return */ public static void unfoldJoinTrees(CQIE query) { unfoldJoinTrees(query.getBody(), true); }
@Override public boolean hasModifiers() { return modifiers.hasModifiers(); } }
@Override public String toString() { if (dependencies != null) return dependencies.toString(); return "(empty)"; } }
/** * Rule-level variable generator. */ public VariableGenerator(CQIE initialRule) { count = 0; knownVariables = initialRule.getReferencedVariables(); }
@Override public Function f(Function firstAtom, Function secondAtom) { return DATALOG_FACTORY.getSPARQLJoin(firstAtom, secondAtom, TRUE_EQ); } }, firstAtom);
private void appendRule(Function head, List<Function> body) { CQIE rule = DATALOG_FACTORY.getCQIE(head, body); program.appendRule(rule); }
private void printQueryProjection(DatalogProgram datalog, StringBuilder sb) { sb.append(SELECT + " "); if (queryModifiers.isDistinct()) { sb.append(DISTINCT + " "); } CQIE mainQuery = datalog.getRules().get(0); // assume the first rule contains the projection for (Term term : mainQuery.getHead().getTerms()) { sb.append(toSparql(term)); sb.append(" "); } sb.append("\n"); }
@Override public Term getTerm(int index) { return terms.get(index); }
public static CQIE rule(Function head, Function... body){ return DATALOG_FACTORY.getCQIE(head, body); }
public Substitution computeHomomorphsim(TMappingRule other) { return cqc.computeHomomorphsim(stripped, other.stripped); }
public static void foldJoinTrees(CQIE query) { foldJoinTrees(query.getBody(), false); }
public static CQIE rule(Function head, List<Function> body){ return DATALOG_FACTORY.getCQIE(head, body); }
public DatalogDependencyGraphGenerator(DatalogProgram program) { this(program.getRules()); }