Search in sources :

Example 16 with Item

use of org.apache.jena.sparql.sse.Item in project jena by apache.

the class CmdARQ_SSE method exec.

@Override
protected final void exec() {
    Item item = modItem.getItem();
    exec(item);
}
Also used : Item(org.apache.jena.sparql.sse.Item)

Example 17 with Item

use of org.apache.jena.sparql.sse.Item in project jena by apache.

the class Stats method write.

private static void write(OutputStream output, Map<Node, Integer> predicateStats, Map<Node, Integer> typeStats, long statsTotal) {
    Item item = format(predicateStats, typeStats, statsTotal);
    ItemWriter.write(output, item);
}
Also used : Item(org.apache.jena.sparql.sse.Item)

Example 18 with Item

use of org.apache.jena.sparql.sse.Item in project jena by apache.

the class StatsMatcher method init.

private void init(Item stats) {
    if (!stats.isTagged(STATS))
        throw new ARQException("Not a tagged '" + STATS + "'");
    // Skip tag
    ItemList list = stats.getList().cdr();
    if (list.car().isTagged(META)) {
        // Process the meta tag.
        Item elt1 = list.car();
        // Move list on
        list = list.cdr();
        // Get count.
        Item x = Item.find(elt1.getList(), COUNT);
        if (x != null)
            count = x.getList().get(1).asInteger();
    }
    while (!list.isEmpty()) {
        Item elt = list.car();
        list = list.cdr();
        onePattern(elt);
    }
}
Also used : Item(org.apache.jena.sparql.sse.Item) ARQException(org.apache.jena.sparql.ARQException) ItemList(org.apache.jena.sparql.sse.ItemList)

Example 19 with Item

use of org.apache.jena.sparql.sse.Item in project jena by apache.

the class BuilderResultSet method build.

public static ResultSet build(Item item) {
    BuilderLib.checkTagged(item, Tags.tagResultSet, "Not a (resultset ...)");
    ItemList list = item.getList();
    List<Var> vars = BuilderNode.buildVarList(list.get(1));
    // skip tag, skip vars.
    int start = 2;
    List<Binding> bindings = new ArrayList<>();
    for (int i = start; i < list.size(); i++) {
        Item itemRow = list.get(i);
        Binding b = BuilderBinding.build(itemRow);
        bindings.add(b);
    }
    QueryIterator qIter = new QueryIterPlainWrapper(bindings.listIterator());
    return new ResultSetStream(Var.varNames(vars), null, qIter);
}
Also used : Binding(org.apache.jena.sparql.engine.binding.Binding) Item(org.apache.jena.sparql.sse.Item) QueryIterPlainWrapper(org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper) QueryIterator(org.apache.jena.sparql.engine.QueryIterator) Var(org.apache.jena.sparql.core.Var) ItemList(org.apache.jena.sparql.sse.ItemList) ArrayList(java.util.ArrayList) ResultSetStream(org.apache.jena.sparql.engine.ResultSetStream)

Example 20 with Item

use of org.apache.jena.sparql.sse.Item in project jena by apache.

the class BuilderTable method build.

public static Table build(Item item) {
    BuilderLib.checkTagged(item, Tags.tagTable, "Not a (table ...)");
    ItemList list = item.getList();
    int start = 1;
    if (list.size() == 1)
        // Null table;
        return TableFactory.createEmpty();
    // Maybe vars.
    List<Var> vars = null;
    if (list.size() > 1) {
        Item item0 = list.get(1);
        if (item0.isTagged(Tags.tagVars)) {
            vars = BuilderNode.buildVarList(item0);
            list = list.cdr();
        }
    }
    if (list.size() == 2 && list.get(1).isSymbol()) {
        //  Short hand for well known tables
        String symbol = list.get(1).getSymbol();
        if (symbol.equals("unit"))
            return TableFactory.createUnit();
        if (symbol.equals("empty"))
            return TableFactory.createEmpty();
        BuilderLib.broken(list, "Don't recognized table symbol");
    }
    Table table = TableFactory.create(vars);
    int count = 0;
    Binding lastBinding = null;
    for (int i = start; i < list.size(); i++) {
        Item itemRow = list.get(i);
        Binding b = BuilderBinding.build(itemRow);
        table.addBinding(b);
        lastBinding = b;
        count++;
    }
    if (table.size() == 1) {
        // One row, no bindings.
        if (lastBinding.isEmpty())
            return TableFactory.createUnit();
    }
    return table;
}
Also used : Binding(org.apache.jena.sparql.engine.binding.Binding) Item(org.apache.jena.sparql.sse.Item) Table(org.apache.jena.sparql.algebra.Table) Var(org.apache.jena.sparql.core.Var) ItemList(org.apache.jena.sparql.sse.ItemList)

Aggregations

Item (org.apache.jena.sparql.sse.Item)78 Test (org.junit.Test)31 Node (org.apache.jena.graph.Node)11 ItemList (org.apache.jena.sparql.sse.ItemList)10 Var (org.apache.jena.sparql.core.Var)6 ArrayList (java.util.ArrayList)5 Binding (org.apache.jena.sparql.engine.binding.Binding)3 Graph (org.apache.jena.graph.Graph)2 Triple (org.apache.jena.graph.Triple)2 ARQException (org.apache.jena.sparql.ARQException)2 DatasetGraph (org.apache.jena.sparql.core.DatasetGraph)2 VarExprList (org.apache.jena.sparql.core.VarExprList)2 ItemException (org.apache.jena.sparql.sse.ItemException)2 Tuple (org.apache.jena.atlas.lib.tuple.Tuple)1 RDFDatatype (org.apache.jena.datatypes.RDFDatatype)1 QueryParseException (org.apache.jena.query.QueryParseException)1 ResultSetRewindable (org.apache.jena.query.ResultSetRewindable)1 Model (org.apache.jena.rdf.model.Model)1 ARQInternalErrorException (org.apache.jena.sparql.ARQInternalErrorException)1 Table (org.apache.jena.sparql.algebra.Table)1