Search in sources :

Example 1 with Template

use of com.hp.hpl.jena.sparql.syntax.Template in project graal by graphik-team.

the class SparqlRuleParser method execute.

// /////////////////////////////////////////////////////////////////////////
// PRIVATE METHODS
// /////////////////////////////////////////////////////////////////////////
private void execute(String sparqlQuery) {
    Query sparql = QueryFactory.create(sparqlQuery);
    this.prefixes = new LinkedList<Prefix>();
    for (Map.Entry<String, String> e : sparql.getPrefixMapping().getNsPrefixMap().entrySet()) {
        this.prefixes.add(new Prefix(e.getKey(), e.getValue()));
    }
    Rule rule = new DefaultRule();
    if (sparql.isConstructType()) {
        Template template = sparql.getConstructTemplate();
        for (Triple triple : template.getTriples()) {
            rule.getHead().add(SparqlUtils.triple2Atom(triple));
        }
    }
    ElementVisitorImpl visitor = new ElementVisitorImpl(rule.getBody());
    sparql.getQueryPattern().visit(visitor);
    this.rule = rule;
}
Also used : DefaultRule(fr.lirmm.graphik.graal.core.DefaultRule) Triple(com.hp.hpl.jena.graph.Triple) Query(com.hp.hpl.jena.query.Query) Prefix(fr.lirmm.graphik.util.Prefix) Rule(fr.lirmm.graphik.graal.api.core.Rule) DefaultRule(fr.lirmm.graphik.graal.core.DefaultRule) Map(java.util.Map) Template(com.hp.hpl.jena.sparql.syntax.Template)

Aggregations

Triple (com.hp.hpl.jena.graph.Triple)1 Query (com.hp.hpl.jena.query.Query)1 Template (com.hp.hpl.jena.sparql.syntax.Template)1 Rule (fr.lirmm.graphik.graal.api.core.Rule)1 DefaultRule (fr.lirmm.graphik.graal.core.DefaultRule)1 Prefix (fr.lirmm.graphik.util.Prefix)1 Map (java.util.Map)1