use of org.eclipse.rdf4j.query.algebra.QueryRoot in project incubator-rya by apache.
the class SparqlToPigTransformVisitorTest method testFixedStatementPatternInferenceQuery.
public void testFixedStatementPatternInferenceQuery() throws Exception {
String query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + " PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + " PREFIX ub: <urn:lubm:rdfts#>\n" + " SELECT * WHERE\n" + " {\n" + " ?y ub:memberOf <http://www.Department3.University10.edu>.\n" + " {?y rdf:type ub:Professor.}\n" + " UNION \n" + " {?y rdf:type ub:GraduateStudent.}\n" + " }";
// System.out.println(query);
QueryParser parser = new SPARQLParser();
ParsedQuery parsedQuery = parser.parseQuery(query, null);
TupleExpr tupleExpr = parsedQuery.getTupleExpr();
// Configuration conf = new Configuration();
// Connector connector = new ZooKeeperInstance("stratus", "stratus13:2181").getConnector("root", "password".getBytes());
//
// InferenceEngine inferenceEngine = new InferenceEngine();
// CloudbaseRdfDAO rdfDAO = new CloudbaseRdfDAO();
// rdfDAO.setConf(conf);
// rdfDAO.setConnector(connector);
// rdfDAO.setNamespaceTable("l_ns");
// rdfDAO.setSpoTable("l_spo");
// rdfDAO.setPoTable("l_po");
// rdfDAO.setOspTable("l_osp");
// rdfDAO.init();
//
// inferenceEngine.setRdfDao(rdfDAO);
// inferenceEngine.setConf(conf);
// inferenceEngine.init();
//
// tupleExpr.visit(new TransitivePropertyVisitor(conf, inferenceEngine));
// tupleExpr.visit(new SymmetricPropertyVisitor(conf, inferenceEngine));
// tupleExpr.visit(new InverseOfVisitor(conf, inferenceEngine));
// tupleExpr.visit(new SubPropertyOfVisitor(conf, inferenceEngine));
// tupleExpr.visit(new SubClassOfVisitor(conf, inferenceEngine));
//
// CloudbaseRdfEvalStatsDAO rdfEvalStatsDAO = new CloudbaseRdfEvalStatsDAO();
// rdfEvalStatsDAO.setConnector(connector);
// rdfEvalStatsDAO.setEvalTable("l_eval");
// RdfCloudTripleStoreEvaluationStatistics stats = new RdfCloudTripleStoreEvaluationStatistics(conf, rdfEvalStatsDAO);
// (new QueryJoinOptimizer(stats)).optimize(tupleExpr, null, null);
// System.out.println(tupleExpr);
SparqlToPigTransformVisitor visitor = new SparqlToPigTransformVisitor();
visitor.setTablePrefix(tablePrefix);
visitor.setInstance(instance);
visitor.setZk(zk);
visitor.setUser(user);
visitor.setPassword(password);
visitor.meet(new QueryRoot(tupleExpr));
// System.out.println(visitor.getPigScript());
}
use of org.eclipse.rdf4j.query.algebra.QueryRoot in project incubator-rya by apache.
the class SparqlQueryPigEngine method generatePigScript.
public String generatePigScript(final String sparql) throws Exception {
Preconditions.checkNotNull(sparql, "Sparql query cannot be null");
final QueryParser parser = new SPARQLParser();
final ParsedQuery parsedQuery = parser.parseQuery(sparql, null);
final QueryRoot tupleExpr = new QueryRoot(parsedQuery.getTupleExpr());
if (inference || stats) {
if (inference) {
tupleExpr.visit(new TransitivePropertyVisitor(conf, inferenceEngine));
tupleExpr.visit(new SymmetricPropertyVisitor(conf, inferenceEngine));
tupleExpr.visit(new InverseOfVisitor(conf, inferenceEngine));
}
if (stats) {
(new QueryJoinOptimizer(rdfCloudTripleStoreEvaluationStatistics)).optimize(tupleExpr, null, null);
}
}
sparqlToPigTransformVisitor.meet(tupleExpr);
return sparqlToPigTransformVisitor.getPigScript();
}
Aggregations