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;
}
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;
}
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);
}
}
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;
}
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);
}
Aggregations