/*** * 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); }
Function currentAtom = (Function) body.get(i); if (currentAtom.getFunctionSymbol() == DatalogAlgebraOperatorPredicates.SPARQL_LEFTJOIN) unfoldJoinTrees(currentAtom.getTerms(), false); else if (currentAtom.getFunctionSymbol() == DatalogAlgebraOperatorPredicates.SPARQL_JOIN) { unfoldJoinTrees(currentAtom.getTerms(), true); int dataAtoms = countDataItems(currentAtom.getTerms()); if (isJoin || dataAtoms == 1) {