You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/08/21 19:56:10 UTC
svn commit: r1516234 - in
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update:
UpdateAction.java UpdateExecutionFactory.java
Author: andy
Date: Wed Aug 21 17:56:09 2013
New Revision: 1516234
URL: http://svn.apache.org/r1516234
Log:
JENA-519 : Add QuerySolution versions of API operations taking an initial Binding.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java?rev=1516234&r1=1516233&r2=1516234&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java Wed Aug 21 17:56:09 2013
@@ -24,11 +24,13 @@ import org.apache.jena.atlas.io.IO ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.query.QuerySolution ;
import com.hp.hpl.jena.query.Syntax ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.sparql.ARQException ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
import com.hp.hpl.jena.sparql.lang.UpdateParser ;
import com.hp.hpl.jena.sparql.modify.UpdateSink ;
import com.hp.hpl.jena.sparql.modify.UsingList ;
@@ -36,8 +38,8 @@ import com.hp.hpl.jena.sparql.modify.Usi
import com.hp.hpl.jena.sparql.modify.request.UpdateWithUsing ;
/** A class of forms for executing SPARQL Update operations.
- * parse* means the update request is in a String or an InputStream;
- * read* means read the contents of a file.
+ * parse means the update request is in a String or an InputStream;
+ * read means read the contents of a file.
*/
public class UpdateAction
@@ -84,7 +86,7 @@ public class UpdateAction
*/
public static void readExecute(String filename, GraphStore graphStore)
{
- readExecute(filename, graphStore, null);
+ readExecute(filename, graphStore, (Binding)null);
}
/** Read a file containing SPARQL Update operations, and execute the operations.
@@ -92,13 +94,23 @@ public class UpdateAction
* @param graphStore
* @param inputBinding
*/
+ public static void readExecute(String filename, GraphStore graphStore, QuerySolution inputBinding)
+ {
+ readExecute(filename, graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
+
+ /** Read a file containing SPARQL Update operations, and execute the operations.
+ * @param filename
+ * @param graphStore
+ * @param inputBinding
+ */
public static void readExecute(String filename, GraphStore graphStore, Binding inputBinding)
{
UpdateRequest req = UpdateFactory.read(filename) ;
execute(req, graphStore, inputBinding) ;
}
-
/** Parse a string containing SPARQL Update operations, and execute the operations.
* @param updateString
* @param model
@@ -189,7 +201,7 @@ public class UpdateAction
*/
public static void execute(UpdateRequest request, GraphStore graphStore)
{
- execute(request, graphStore, null);
+ execute(request, graphStore, (Binding)null);
}
/** Execute SPARQL Update operations.
@@ -197,11 +209,22 @@ public class UpdateAction
* @param graphStore
* @param inputBinding
*/
+ public static void execute(UpdateRequest request, GraphStore graphStore, QuerySolution inputBinding)
+ {
+ execute(request, graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
+ /** Execute SPARQL Update operations.
+ * @param request
+ * @param graphStore
+ * @param inputBinding
+ */
public static void execute(UpdateRequest request, GraphStore graphStore, Binding inputBinding)
{
execute$(request, graphStore, inputBinding) ;
}
+
// All non-streaming updates come through here.
private static void execute$(UpdateRequest request, GraphStore graphStore, Binding inputBinding)
{
@@ -254,7 +277,7 @@ public class UpdateAction
*/
public static void execute(Update update, GraphStore graphStore)
{
- execute(update, graphStore, null);
+ execute(update, graphStore, (Binding)null);
}
/** Execute a single SPARQL Update operation.
@@ -262,19 +285,27 @@ public class UpdateAction
* @param graphStore
* @param inputBinding
*/
+ public static void execute(Update update, GraphStore graphStore, QuerySolution inputBinding)
+ {
+ execute(update, graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
+ /** Execute a single SPARQL Update operation.
+ * @param update
+ * @param graphStore
+ * @param inputBinding
+ */
public static void execute(Update update, GraphStore graphStore, Binding inputBinding)
{
execute$(update, graphStore, inputBinding) ;
}
-
+
private static void execute$(Update update, GraphStore graphStore, Binding inputBinding)
{
UpdateRequest request = new UpdateRequest() ;
request.add(update) ;
execute$(request, graphStore, inputBinding) ;
}
-
-
// Streaming Updates:
@@ -293,10 +324,16 @@ public class UpdateAction
/** Parse update operations into a GraphStore by reading it from a file */
public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, String baseURI, Syntax syntax)
{
- parseExecute(usingList, dataset, fileName, null, baseURI, syntax);
+ parseExecute(usingList, dataset, fileName, (Binding)null, baseURI, syntax);
}
/** 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) ;
+ }
+
+ /** Parse update operations into a GraphStore by reading it from a file */
public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, Binding inputBinding, String baseURI, Syntax syntax)
{
InputStream in = null ;
@@ -353,7 +390,7 @@ public class UpdateAction
*/
public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, String baseURI, Syntax syntax)
{
- parseExecute(usingList, dataset, input, null, baseURI, syntax);
+ parseExecute(usingList, dataset, input, (Binding)null, baseURI, syntax);
}
/**
@@ -366,6 +403,21 @@ public class UpdateAction
* @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 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, Binding inputBinding, String baseURI, Syntax syntax)
{
GraphStore graphStore = GraphStoreFactory.create(dataset);
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java?rev=1516234&r1=1516233&r2=1516234&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java Wed Aug 21 17:56:09 2013
@@ -21,7 +21,9 @@ package com.hp.hpl.jena.update;
import org.apache.jena.atlas.web.auth.HttpAuthenticator;
import com.hp.hpl.jena.query.ARQ ;
+import com.hp.hpl.jena.query.QuerySolution ;
import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
import com.hp.hpl.jena.sparql.modify.UpdateEngineFactory ;
import com.hp.hpl.jena.sparql.modify.UpdateEngineRegistry ;
import com.hp.hpl.jena.sparql.modify.UpdateProcessRemote ;
@@ -41,7 +43,7 @@ public class UpdateExecutionFactory
*/
public static UpdateProcessor create(Update update, GraphStore graphStore)
{
- return create(new UpdateRequest(update), graphStore, null, null) ;
+ return create(new UpdateRequest(update), graphStore, (Binding)null) ;
}
/** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
@@ -50,11 +52,23 @@ public class UpdateExecutionFactory
* @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, GraphStore graphStore, QuerySolution inputBinding)
+ {
+ return create(update, graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
+ /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
+ * @param update
+ * @param graphStore
+ * @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, GraphStore graphStore, Binding inputBinding)
{
return create(new UpdateRequest(update), graphStore, inputBinding) ;
}
+
/** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
* @param updateRequest
* @param graphStore
@@ -71,6 +85,17 @@ public class UpdateExecutionFactory
* @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, GraphStore graphStore, QuerySolution inputBinding)
+ {
+ return create(updateRequest, graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
+ /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
+ * @param updateRequest
+ * @param graphStore
+ * @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, GraphStore graphStore, Binding inputBinding)
{
return make(updateRequest, graphStore, inputBinding, null) ;
@@ -85,6 +110,17 @@ public class UpdateExecutionFactory
return makeStreaming(graphStore, null, null) ;
}
+
+ /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
+ * @param graphStore
+ * @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(GraphStore graphStore, QuerySolution inputBinding)
+ {
+ return createStreaming(graphStore, BindingUtils.asBinding(inputBinding)) ;
+ }
+
/** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
* @param graphStore
* @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
@@ -111,6 +147,17 @@ public class UpdateExecutionFactory
* @param context (null means use merge of global and graph store context))
* @return UpdateProcessor or null
*/
+ public static UpdateProcessorStreaming createStreaming(GraphStore graphStore, QuerySolution inputBinding, Context context)
+ {
+ return createStreaming(graphStore, BindingUtils.asBinding(inputBinding), context) ;
+ }
+
+ /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
+ * @param graphStore
+ * @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(GraphStore graphStore, Binding inputBinding, Context context)
{
return makeStreaming(graphStore, inputBinding, context) ;
@@ -134,6 +181,18 @@ public class UpdateExecutionFactory
* @param context (null means use merge of global and graph store context))
* @return UpdateProcessor or null
*/
+ public static UpdateProcessor create(UpdateRequest updateRequest, GraphStore graphStore, QuerySolution inputBinding, Context context)
+ {
+ return create(updateRequest, graphStore, BindingUtils.asBinding(inputBinding), context) ;
+ }
+
+ /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor
+ * @param updateRequest
+ * @param graphStore
+ * @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, GraphStore graphStore, Binding inputBinding, Context context)
{
return make(updateRequest, graphStore, inputBinding, context) ;