}
private static void runDemo() throws Exception {
Sail storage = new MemoryStore();
storage.initialize();
Sail linkedData = new LinkedDataSail(storage);
linkedData.initialize();
RippleSail ripple = new RippleSail(linkedData);
ripple.initialize();
Repository repo = new SailRepository(ripple);
RepositoryConnection rc = repo.getConnection();
// Constructing literal subjects
String query1 = "PREFIX math: <http://fortytwo.net/2011/04/ripple/math#>\n" +
"PREFIX stack: <http://fortytwo.net/2011/04/ripple/stack#>\n" +
"SELECT ?result WHERE {\n" +
" ?x stack:self 42 .\n" +
" ?x math:sqrt ?result .\n" +
"}";
// Constructing literal predicates
String query2 = "PREFIX graph: <http://fortytwo.net/2011/04/ripple/graph#>\n" +
"PREFIX stack: <http://fortytwo.net/2011/04/ripple/stack#>\n" +
"PREFIX s: <urn:string:>\n" +
"SELECT ?result WHERE {\n" +
" ?x stack:self \"{\\\"foo\\\": true, \\\"bar\\\": [6, 9, 42]}\" .\n" +
" ?x graph:to-json/s:foo ?result .\n" +
"}";
// Loading externally-defined programs
String query3 = "PREFIX : <http://ripple.fortytwo.net/code/2011/06/rippleSailExamples#>\n" +
"SELECT ?name WHERE {" +
" () :embarcadero/:parent-place*/s:name ?name ." +
"}";
TupleQueryResult r = rc.prepareTupleQuery(QueryLanguage.SPARQL, query2).evaluate();
while (r.hasNext()) {
System.out.println("result: " + r.next());
}
rc.close();
repo.shutDown();
ripple.shutDown();
linkedData.shutDown();
storage.shutDown();
}