Skip to content

Instantly share code, notes, and snippets.

@mhgrove
Created October 31, 2012 17:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhgrove/3988683 to your computer and use it in GitHub Desktop.
Save mhgrove/3988683 to your computer and use it in GitHub Desktop.
Distinct
Projection
ProjectionElemList
ProjectionElem "g"
ProjectionElem "var35"
ProjectionElem "b"
ProjectionElem "c"
LeftJoin
LeftJoin
SingletonSet
StatementPattern FROM NAMED CONTEXT
Var (name=var35)
Var (name=-const-1, value=urn:address, anonymous)
Var (name=b)
Var (name=g)
StatementPattern FROM NAMED CONTEXT
Var (name=b)
Var (name=-const-2, value=urn:streetAddress, anonymous)
Var (name=c)
Var (name=g)
Distinct
Projection
ProjectionElemList
ProjectionElem "g"
ProjectionElem "var35"
ProjectionElem "b"
ProjectionElem "var2"
LeftJoin
LeftJoin
SingletonSet
StatementPattern FROM NAMED CONTEXT
Var (name=b)
Var (name=-const-2, value=urn:streetAddress, anonymous)
Var (name=var2)
Var (name=g)
StatementPattern FROM NAMED CONTEXT
Var (name=var35)
Var (name=-const-1, value=urn:address, anonymous)
Var (name=b)
Var (name=g)
package test;
import org.openrdf.query.parser.sparql.SPARQLParser;
public class WeirdSesameBehavior {
public static void main(String[] args) throws Exception {
SPARQLParser aParser = new SPARQLParser();
final String aQuery1 = "SELECT DISTINCT *\n" +
"WHERE {\n" +
"\n" +
" GRAPH ?g {\n" +
"\n" +
" OPTIONAL { ?var35 <urn:address> ?b . }\n" +
" OPTIONAL { ?b <urn:streetAddress> ?c . }\n" +
" }\n" +
"}";
final String aQuery2 = "SELECT DISTINCT *\n" +
"WHERE {\n" +
"\n" +
" GRAPH ?g {\n" +
"\n" +
" OPTIONAL { ?var35 <urn:address> ?b . }\n" +
" OPTIONAL { ?b <urn:streetAddress> ?var2 . }\n" +
" }\n" +
"}";
System.out.println(aParser.parseQuery(aQuery1, "http://example.org"));
System.out.println();
System.out.println(aParser.parseQuery(aQuery2, "http://example.org"));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment