Search in sources :

Example 1 with Var

use of org.openrdf.query.algebra.Var in project backstage by zepheira.

the class TileView method getComponentState.

@Override
public Scriptable getComponentState() {
    _logger.debug("> getComponentState");
    TupleQueryBuilder builder = new TupleQueryBuilder();
    Var itemVar = getCollection().getRestrictedItems(builder, null);
    String key = "tile-view-rendering:" + builder.getStringSerialization();
    _logger.debug("component: " + key);
    Scriptable result = (Scriptable) _context.getDatabase().cacheAndRun(key, new ViewRenderingCacheableQuery(builder, itemVar));
    _logger.debug("< getComponentState");
    return result;
}
Also used : Var(org.openrdf.query.algebra.Var) TupleQueryBuilder(edu.mit.simile.backstage.model.TupleQueryBuilder) Scriptable(org.mozilla.javascript.Scriptable)

Example 2 with Var

use of org.openrdf.query.algebra.Var in project backstage by zepheira.

the class AllItemsCollection method getAllItems.

public Var getAllItems(TupleQueryBuilder builder, Var defaultVar) {
    Var var = defaultVar != null ? defaultVar : builder.makeVar("item");
    builder.addTupleExpr(new StatementPattern(var, builder.makeVar("p", RDF.TYPE), builder.makeVar("ignore")));
    return var;
}
Also used : StatementPattern(org.openrdf.query.algebra.StatementPattern) Var(org.openrdf.query.algebra.Var)

Example 3 with Var

use of org.openrdf.query.algebra.Var in project backstage by zepheira.

the class Collection method updateOneFacet.

protected void updateOneFacet(Facet facet, BackChannel backChannel) {
    TupleQueryBuilder builder = new TupleQueryBuilder();
    Var itemVar = getAllItems(builder, null);
    computeRestrictedItems(builder, itemVar, facet);
    try {
        facet.update(builder, itemVar, backChannel);
    } catch (ExpressionException e) {
        _logger.error("Failed to update facet", e);
    }
}
Also used : Var(org.openrdf.query.algebra.Var) TupleQueryBuilder(edu.mit.simile.backstage.model.TupleQueryBuilder)

Example 4 with Var

use of org.openrdf.query.algebra.Var in project backstage by zepheira.

the class TypeBasedCollection method getAllItems.

public Var getAllItems(TupleQueryBuilder builder, Var defaultVar) {
    Var var = defaultVar != null ? defaultVar : builder.makeVar("item");
    builder.addTupleExpr(new StatementPattern(var, builder.makeVar("p", RDF.TYPE), builder.makeVar("type", _typeURI)));
    return var;
}
Also used : StatementPattern(org.openrdf.query.algebra.StatementPattern) Var(org.openrdf.query.algebra.Var)

Example 5 with Var

use of org.openrdf.query.algebra.Var in project backstage by zepheira.

the class Path method computeOutput.

@Override
public ExpressionResult computeOutput(Database database, TupleQueryBuilder builder, Map<String, ValueExpr> variableValues, Map<String, String> variableTypes) throws ExpressionException {
    String rootName = _rootVariable != null ? _rootVariable : "value";
    ValueExpr valueExpr = variableValues.get(rootName);
    String valueType = variableTypes.get(rootName);
    for (PathSegment segment : _segments) {
        if (valueExpr instanceof Var) {
            Var input = (Var) valueExpr;
            PropertyRecord record = database.getPropertyRecord(segment.propertyID);
            if (record == null) {
                throw new ExpressionException("No property can be aliased to '" + segment.propertyID + "'");
            }
            Var output = builder.makeVar("seg");
            Var propertyVar = builder.makeVar("seg", record.uri);
            if (segment.forward) {
                builder.addTupleExpr(new StatementPattern(input, propertyVar, output));
                valueType = record.valueType;
            } else {
                builder.addTupleExpr(new StatementPattern(output, propertyVar, input));
                valueType = "item";
            }
            valueExpr = output;
        } else {
            throw new ExpressionException("Non-final set in a path must be a variable.");
        }
    }
    return new ExpressionResult(valueExpr, valueType);
}
Also used : ValueExpr(org.openrdf.query.algebra.ValueExpr) StatementPattern(org.openrdf.query.algebra.StatementPattern) PropertyRecord(edu.mit.simile.backstage.model.data.Database.PropertyRecord) Var(org.openrdf.query.algebra.Var)

Aggregations

Var (org.openrdf.query.algebra.Var)9 TupleQueryBuilder (edu.mit.simile.backstage.model.TupleQueryBuilder)3 StatementPattern (org.openrdf.query.algebra.StatementPattern)3 ExpressionException (edu.mit.simile.backstage.model.data.ExpressionException)2 ExpressionResult (edu.mit.simile.backstage.model.data.ExpressionResult)2 ValueExpr (org.openrdf.query.algebra.ValueExpr)2 PropertyRecord (edu.mit.simile.backstage.model.data.Database.PropertyRecord)1 MyTupleQuery (edu.mit.simile.backstage.util.MyTupleQuery)1 Scriptable (org.mozilla.javascript.Scriptable)1 TupleQuery (org.openrdf.query.TupleQuery)1 Projection (org.openrdf.query.algebra.Projection)1 ProjectionElem (org.openrdf.query.algebra.ProjectionElem)1 ProjectionElemList (org.openrdf.query.algebra.ProjectionElemList)1 TupleExpr (org.openrdf.query.algebra.TupleExpr)1 ParsedTupleQuery (org.openrdf.query.parser.ParsedTupleQuery)1