public static Item find(ItemList list, String key) { for ( Item x : list ) { if ( x.isTagged( key ) ) { return x; } } return null ; }
public static void checkTagged(Item item, String tag, String msg) { if ( item.isTagged(tag) ) return; broken(item, msg, item); }
public static ExprList buildExprList(Item item) { if ( ! item.isTagged(Tags.tagExprList) ) BuilderLib.broken(item, "Not tagged exprlist") ; ItemList list = item.getList() ; return buildExprListUntagged(list, 1) ; }
public static void checkTagged(Item item, int len, String tag, String msg) { if ( item.isTagged(tag) && item.getList().size() == len ) return; broken(item, msg, item); }
SortCondition scBuilder(Item item) { int direction = Query.ORDER_DEFAULT ; if ( item.isTagged("asc") || item.isTagged("desc") ) { BuilderLib.checkList(item) ; BuilderLib.checkLength(2, item.getList(), "Direction corrupt") ; if ( item.isTagged("asc") ) direction = Query.ORDER_ASCENDING ; else direction = Query.ORDER_DESCENDING ; item = item.getList().get(1) ; } Expr expr = BuilderExpr.buildExpr(item) ; if ( expr.isVariable() ) return new SortCondition(expr.getExprVar().asVar(), direction) ; else return new SortCondition(expr, direction) ; }
public static BasicPattern buildBGP(Item item) { if ( ! item.isTagged(Tags.tagBGP) ) BuilderLib.broken(item, "Not a basic graph pattern") ; if ( ! item.isList() ) BuilderLib.broken(item, "Not a list for a basic graph pattern") ; ItemList list = item.getList() ; return buildBGP(list) ; }
public static void buildGraph(Graph graph, Item item) { if ( item.isNode() ) BuilderLib.broken(item, "Attempt to build graph from a plain node"); if ( item.isSymbol() ) BuilderLib.broken(item, "Attempt to build graph from a bare symbol"); if ( item.isTagged(Tags.tagGraph) ) { buildGraph(graph, item.getList()); return; } if ( item.isTagged(Tags.tagLoad) ) { loadGraph(graph, item.getList()); return; } BuilderLib.broken(item, "Wanted (" + Tags.tagGraph + "...) or (" + Tags.tagLoad + "...)"); }
public static DatasetGraph buildDataset(DatasetGraph dsg, Item item) { if (item.isNode() ) BuilderLib.broken(item, "Attempt to build dataset from a plain node") ; if (item.isSymbol() ) BuilderLib.broken(item, "Attempt to build dataset from a bare symbol") ; if ( item.isTagged(Tags.tagGraph) ) { Graph g = BuilderGraph.buildGraph(item.getList()); return DatasetGraphFactory.create(g); } if ( ! item.isTagged(Tags.tagDataset) ) BuilderLib.broken(item, "Wanted ("+Tags.tagDataset+"...)" ); return buildDataset(dsg, item.getList()) ; }
public StatsMatcher(String filename) { try { Item stats = SSE.readFile(filename) ; if ( stats.isNil() ) { Log.warn(this, "Empty stats file: "+filename) ; return ; } if ( !stats.isTagged(STATS) ) throw new ARQException("Not a stats file: "+filename) ; init(stats) ; } catch (ItemException ex) { // Debug throw ex ; } }
public static ExprList buildExprOrExprList(Item item) { if ( item.isTagged(Tags.tagExprList) ) return buildExprList(item) ; if ( listOfLists(item) ) return buildExprListUntagged(item.getList(), 0) ; Expr expr = buildExpr(item) ; ExprList exprList = new ExprList(expr) ; return exprList ; }
public static Op build(Item item) { if (item.isNode() ) BuilderLib.broken(item, "Attempt to build op structure from a plain node") ; if (item.isSymbol() ) BuilderLib.broken(item, "Attempt to build op structure from a bare symbol") ; if (!item.isTagged()) BuilderLib.broken(item, "Attempt to build op structure from a non-tagged item") ; return builderOp.build(item.getList()) ; }
private void init(Item stats) { if ( !stats.isTagged(STATS) ) throw new ARQException("Not a tagged '"+STATS+"'") ; ItemList list = stats.getList().cdr(); // Skip tag if ( list.car().isTagged(META) ) { // Process the meta tag. Item elt1 = list.car(); list = list.cdr(); // Move list on // 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) ; } }
static public void exec(Item item) { if ( item.isNode() ) BuilderLib.broken(item, "Attempt to build evaluation from a plain node") ; if ( item.isSymbol() ) BuilderLib.broken(item, "Attempt to build evaluation from a bare symbol") ; if ( !item.isTagged(Tags.tagExec) ) throw new BuildException("Wanted (" + Tags.tagExec + "...) : got: " + item.shortString()) ; ItemList list = item.getList() ; BuilderLib.checkLength(3, list, item.shortString() + " does not have 2 components") ; DatasetGraph dsg = BuilderGraph.buildDataset(list.get(1)) ; Op op = BuilderOp.build(list.get(2)) ; QueryExecUtils.execute(op, dsg, ResultsFormat.FMT_TEXT) ; } }
if ( item0.isTagged(Tags.tagVars) )
@Override public Expr make(final ItemList list) { ItemList x = list.cdr(); // drop "group_concat" boolean distinct = startsWithDistinct(x) ; if ( distinct ) x = x.cdr(); // Complex syntax: // (groupConcat (separator "string) expr ) if ( x.size() == 0 ) BuilderLib.broken(list, "Broken syntax: "+list.shortString()) ; String separator = null ; if ( x.get(0).isTagged(Tags.tagSeparator)) { // What about ORDERED BY ItemList y = x.get(0).getList() ; BuilderLib.checkLength(2, y, "Broken syntax: "+list) ; Node n = y.get(1).getNode() ; if ( ! NodeUtils.isSimpleString(n) ) BuilderLib.broken(y, "Need string for separator: "+y) ; separator = n.getLiteralLexicalForm() ; x = x.cdr(); } Expr expr = buildExpr(x.get(0)) ; Aggregator agg = AggregatorFactory.createGroupConcat(distinct, expr, separator, null) ; return new ExprAggregator(null, agg) ; } };
if ( !item.isTagged(Tags.tagGraph) ) {
else if ( head.isSymbol() ) if ( item.isTagged(Tags.tagExpr) )