@Test
/**
 * Here we have two GraphPatternGroup one after the other
 * but it is ok, the BNF is still correct
 */
public void testDisjointGGPs3()
throws Exception {

  final String q = "SELECT * { ?s1 <knows> ?o1 . { SELECT * { ?o ?p ?o2. ?s2 a ?Person OPTIONAL {?s a ?POF} } } }";
  ast = SyntaxTreeBuilder.parseQuery(q);
  final String expected = "QueryContainer\n" +
                          " SelectQuery\n" +
                          "  Select ( * )\n" +
                          "  WhereClause\n" +
                          "   GraphPatternGroup\n" +
                          "    GraphPatternGroup\n" +
                          "     SelectQuery\n" +
                          "      Select ( * )\n" +
                          "      WhereClause\n" +
                          "       GraphPatternGroup\n" +
                          "        OptionalGraphPattern\n" +
                          "         BasicGraphPattern\n" +
                          "          TriplesSameSubjectPath\n" +
                          "           Var (s)\n" +
                          "           PropertyListPath\n" +
                          "            PathAlternative\n" +
                          "             PathSequence\n" +
                          "              PathElt\n" +
                          "               IRI (http://www.w3.org/1999/02/22-rdf-syntax-ns#type)\n" +
                          "            ObjectList\n" +
                          "             Var (POF)";
  RecommendationScopeProcessor.process(ast);
  assertEquals(expected, ast.dump(""));
}