Added a new SPARQL query and using a external SPARQL Endpoint
This commit is contained in:
parent
27ca4898e7
commit
08a8c05b2d
|
@ -9,7 +9,6 @@ import org.apache.jena.query.Query;
|
|||
import org.apache.jena.query.QueryExecution;
|
||||
import org.apache.jena.query.QueryExecutionFactory;
|
||||
import org.apache.jena.query.QueryFactory;
|
||||
import org.apache.jena.query.ResultSet;
|
||||
import org.apache.jena.rdf.model.Model;
|
||||
import org.apache.jena.rdf.model.ModelFactory;
|
||||
|
||||
|
@ -17,6 +16,7 @@ import hsh.ins_jena.model.Generator;
|
|||
|
||||
public class App {
|
||||
public static String OUTPUT_PATH = "./output";
|
||||
public static String SPARQL_ENDPOINT = "http://localhost:3030/foobar/query";
|
||||
|
||||
public static void main(String[] args) {
|
||||
generateFiles(OUTPUT_PATH);
|
||||
|
@ -36,32 +36,63 @@ public class App {
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
System.err.println("Loaded model:");
|
||||
System.out.println(model);
|
||||
|
||||
Query query = QueryFactory.create("" + "PREFIX : <" + Generator.OWN_URI + ">" + "" + "SELECT ?console\n"
|
||||
Query queryReleaseYear = QueryFactory.create(
|
||||
"PREFIX : <" + Generator.OWN_URI + ">"
|
||||
+ "SELECT ?console\n"
|
||||
+ "WHERE {\n" + " ?console :madeBy :Nintendo .\n" + " ?console :releaseYear ?releaseYear . \n"
|
||||
+ " FILTER(?releaseYear > 2015)\n" + "}");
|
||||
|
||||
Query queryCEOForConsole = QueryFactory.create(
|
||||
"PREFIX : <" + Generator.OWN_URI + ">" +
|
||||
"PREFIX rdf: <" + Generator.RDF_URI + ">" +
|
||||
"PREFIX rdfs: <" + Generator.RDFS_URI + ">" +
|
||||
"PREFIX foaf: <" + Generator.FOAF_URI + ">" +
|
||||
"CONSTRUCT {\n" +
|
||||
" ?ceo :isRelatedToConsole ?console .\n" +
|
||||
"}\n" +
|
||||
"WHERE {\n" +
|
||||
" ?console rdf:type :GameConsole .\n" +
|
||||
" ?console :madeBy ?org .\n" +
|
||||
" ?org :ceo ?ceo .\n" +
|
||||
" ?ceo rdf:type foaf:Person .\n" +
|
||||
"}\n" +
|
||||
"");
|
||||
|
||||
// Query query = QueryFactory
|
||||
// .create("PREFIX : <" + Generator.OWN_URI + ">" + " " + " SELECT ?s ?p ?p WHERE {" + "?s ?p ?o .}");
|
||||
|
||||
QueryExecution queryExec = QueryExecutionFactory.create(query, model);
|
||||
QueryExecution queryExecLocalReleaseDate = QueryExecutionFactory.create(queryReleaseYear, model);
|
||||
QueryExecution queryExecRemoteReleaseDate = QueryExecutionFactory.sparqlService(SPARQL_ENDPOINT,queryReleaseYear);
|
||||
|
||||
ResultSet rs = queryExec.execSelect();
|
||||
QueryExecution queryExecLocalCEOtoConsole = QueryExecutionFactory.create(queryCEOForConsole, model);
|
||||
QueryExecution queryExecRemoteCEOtoConsole = QueryExecutionFactory.sparqlService(SPARQL_ENDPOINT,queryCEOForConsole);
|
||||
|
||||
if (rs.hasNext()) {
|
||||
rs.forEachRemaining(qs -> {
|
||||
System.out.println(qs);
|
||||
});
|
||||
System.err.println("Doing local release date query");
|
||||
printQueryResult(queryExecLocalReleaseDate);
|
||||
System.err.println("Doing remote release date query");
|
||||
printQueryResult(queryExecRemoteReleaseDate);
|
||||
|
||||
System.err.println("Doing local CEO query");
|
||||
printQueryConstructs(queryExecLocalCEOtoConsole);
|
||||
System.err.println("Doing remote CEO query");
|
||||
printQueryConstructs(queryExecRemoteCEOtoConsole);
|
||||
}
|
||||
|
||||
private static void printQueryResult(QueryExecution queryExec) {
|
||||
queryExec.execSelect().forEachRemaining(qs -> System.out.println(qs));
|
||||
}
|
||||
|
||||
private static void printQueryConstructs(QueryExecution queryExec) {
|
||||
queryExec.execConstruct().listStatements().toList().stream().forEach(s -> System.out.println(s));
|
||||
}
|
||||
|
||||
private static void generateFiles(String outputhPath) {
|
||||
new File(OUTPUT_PATH).mkdirs();
|
||||
System.out.print("Generating ... ");
|
||||
System.err.println("Generating model and saving it...");
|
||||
Generator.createTBoxAndABox(OUTPUT_PATH);
|
||||
System.out.println("done.");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue