/** Parse update operations into a GraphStore by reading it from a file */ public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, QuerySolution inputBinding, String baseURI, Syntax syntax) { parseExecute(usingList, dataset, fileName, BindingUtils.asBinding(inputBinding), baseURI, syntax) ; }
@Override final public void addAll(Binding other) { BindingUtils.addAll(this, other); }
/** Convert a query solution to a binding */ public static Binding asBinding(QuerySolution qSolution) { if ( qSolution == null ) return null; if ( qSolution instanceof ResultBinding ) // Only named variables. return new BindingProjectNamed(((ResultBinding)qSolution).getBinding()); BindingMap binding = BindingFactory.create(); addToBinding(binding, qSolution); return binding; }
@Override public boolean contains(Binding b) { QueryIterator qIter = iterator(null) ; try { for (; qIter.hasNext();) { Binding b2 = qIter.nextBinding() ; if ( BindingUtils.equals(b, b2) ) return true ; } return false ; } finally { qIter.close() ; } }
/** * Parse update operations into a GraphStore by parsing from an InputStream. * @param usingList A list of USING or USING NAMED statements that be added to all {@link UpdateWithUsing} queries * @param dataset The dataset to apply the changes to * @param input The source of the update request (must be UTF-8). * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding * (i.e. UpdateDeleteWhere, UpdateModify). May be <code>null</code> * @param baseURI The base URI for resolving relative URIs (may be <code>null</code>) * @param syntax The update language syntax */ public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, QuerySolution inputBinding, String baseURI, Syntax syntax) { parseExecute(usingList, dataset, input, BindingUtils.asBinding(inputBinding), baseURI, syntax) ; }
/** Parse a string containing SPARQL Update operations, and execute the operations. * @param updateString * @param dataset * @param inputBinding */ public static void parseExecute(String updateString, Dataset dataset, QuerySolution inputBinding) { parseExecute(updateString, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
/** Execute a single SPARQL Update operation. * @param update * @param dataset * @param inputBinding */ public static void execute(Update update, Dataset dataset, QuerySolution inputBinding) { execute(update, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
/** Create an UpdateProcessor appropriate to the datasetGraph, or null if no available factory to make an UpdateProcessor * @param update * @param dataset * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @return UpdateProcessor or null */ public static UpdateProcessor create(Update update, Dataset dataset, QuerySolution inputBinding) { return create(update, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
/** Create an UpdateProcessor appropriate to the datasetGraph, or null if no available factory to make an UpdateProcessor * @param updateRequest * @param dataset * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @return UpdateProcessor or null */ public static UpdateProcessor create(UpdateRequest updateRequest, Dataset dataset, QuerySolution inputBinding) { return create(updateRequest, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
/** Create an UpdateProcessor appropriate to the datasetGraph, or null if no available factory to make an UpdateProcessor * @param dataset * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @return UpdateProcessor or null */ public static UpdateProcessorStreaming createStreaming(Dataset dataset, QuerySolution inputBinding) { return createStreaming(dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
/** Create an UpdateProcessor appropriate to the datasetGraph, or null if no available factory to make an UpdateProcessor * @param dataset * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @param context (null means use merge of global and graph store context)) * @return UpdateProcessor or null */ public static UpdateProcessorStreaming createStreaming(Dataset dataset, QuerySolution inputBinding, Context context) { return createStreaming(dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding), context) ; }
/** Create an UpdateProcessor appropriate to the datasetGraph, or null if no available factory to make an UpdateProcessor * @param updateRequest * @param dataset * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @param context (null means use merge of global and graph store context)) * @return UpdateProcessor or null */ public static UpdateProcessor create(UpdateRequest updateRequest, Dataset dataset, QuerySolution inputBinding, Context context) { return create(updateRequest, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding), context) ; }
/** Execute SPARQL Update operations. * @param request * @param dataset * @param inputBinding */ public static void execute(UpdateRequest request, Dataset dataset, QuerySolution inputBinding) { execute(request, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; }
public Plan getPlan() { if ( plan == null ) { Binding inputBinding = null; if ( initialBinding != null ) inputBinding = BindingUtils.asBinding(initialBinding); if ( inputBinding == null ) inputBinding = BindingRoot.create(); plan = qeFactory.create(query, dsg, inputBinding, getContext()); } return plan; }
@Override public Binding nextBinding() { return BindingUtils.asBinding(nextSolution()); }
static private List<Binding> convert(ResultSet rs) { return Iter.iter(rs).map(item -> BindingUtils.asBinding(item)).toList() ; }