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 2014/04/28 16:06:02 UTC

svn commit: r1590645 - in /jena/Experimental/rdfpatch/src/main/java: dev/PROJECT_Patch.java org/apache/jena/rdfpatch/RDFPatch.java

Author: andy
Date: Mon Apr 28 14:06:01 2014
New Revision: 1590645

URL: http://svn.apache.org/r1590645
Log:
Add Dataset operations to public entry point.

Modified:
    jena/Experimental/rdfpatch/src/main/java/dev/PROJECT_Patch.java
    jena/Experimental/rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDFPatch.java

Modified: jena/Experimental/rdfpatch/src/main/java/dev/PROJECT_Patch.java
URL: http://svn.apache.org/viewvc/jena/Experimental/rdfpatch/src/main/java/dev/PROJECT_Patch.java?rev=1590645&r1=1590644&r2=1590645&view=diff
==============================================================================
--- jena/Experimental/rdfpatch/src/main/java/dev/PROJECT_Patch.java (original)
+++ jena/Experimental/rdfpatch/src/main/java/dev/PROJECT_Patch.java Mon Apr 28 14:06:01 2014
@@ -21,13 +21,4 @@ package dev;
 
 public class PROJECT_Patch {
     // How to end changes and flush.
-    
-    // Is it time to have a universal event handled for add/delete?
-    //  DatasetGraph -> DatasetGraph+txn 
-    
-    // Consider query engine registries.
-    // How to have wrappers yet still pass down to concrete DSGs.
-    // Just a case of a Plan that passwses to the wrapped DSG?
-    
-    // Jena3: dsg.exec(op) ?
 }

Modified: jena/Experimental/rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDFPatch.java
URL: http://svn.apache.org/viewvc/jena/Experimental/rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDFPatch.java?rev=1590645&r1=1590644&r2=1590645&view=diff
==============================================================================
--- jena/Experimental/rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDFPatch.java (original)
+++ jena/Experimental/rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDFPatch.java Mon Apr 28 14:06:01 2014
@@ -30,13 +30,54 @@ import org.apache.jena.riot.tio.TokenOut
 import org.apache.jena.riot.tokens.Tokenizer ;
 import org.apache.jena.riot.tokens.TokenizerFactory ;
 
+import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.query.DatasetFactory ;
 import com.hp.hpl.jena.sparql.core.DatasetChanges ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.DatasetGraphMonitor ;
 
 public class RDFPatch {
     /**
-     * Write changes to an OutputStream. Chnages are written in 
+     * Write changes to an OutputStream. Changes are written in 
+     * <a href="http://afs.github.io/rdf-patch/">RDF Patch</a> format.
+     * When finished, call <code>.sync()<</code> to ensure
+     * buffered changes have been written to the <code>OutputStream</code>.
+     * 
+     * @param ds
+     * @param output Destination
+     * @return Dataset
+     */
+    public static Dataset recordChanges(Dataset ds, OutputStream output) {
+        DatasetGraph dsg = recordChanges(ds.asDatasetGraph(), output) ;
+        return DatasetFactory.create(dsg) ;
+    }
+
+    /**
+     * Create a Dataset that records changes to the parameter Datasets,
+     * sending a record of them to a DatasetChanges processor.
+     * 
+     * @param ds        Dataset
+     * @param changes   A DatasetChanges processor.
+     * @return Dataset
+     */
+    public static Dataset record(Dataset ds, DatasetChanges changes) {
+        DatasetGraph dsg = record(ds.asDatasetGraph(), changes) ;
+        return DatasetFactory.create(dsg) ;
+    }
+
+    /**
+     * Replay a stream in <a href="http://afs.github.io/rdf-patch/">RDF Patch</a>
+     * format, as might be produced by {@linkplain #recordChanges}
+     * @param ds
+     * @param input
+     */
+    public static void replayChanges(Dataset ds, InputStream input) {
+        replayChanges(ds.asDatasetGraph(), input) ;
+    }
+
+    
+    /**
+     * Write changes to an OutputStream. Changes are written in 
      * <a href="http://afs.github.io/rdf-patch/">RDF Patch</a> format.
      * When finished, call <code>.sync()<</code> to ensure
      * buffered changes have been written to the <code>OutputStream</code>.
@@ -53,7 +94,8 @@ public class RDFPatch {
     }
 
     /**
-     * Record changes, sending a record of them to a DatasetChanges processor.
+     * Create a Dataset that records changes to the parameter Datasets,
+     * sending a record of them to a DatasetChanges processor.
      * 
      * @param dsg DatasetGraph
      * @param changes A DatasetChanges processor.
@@ -65,8 +107,8 @@ public class RDFPatch {
     }
 
     /**
-     * Replay a stream in <a href="http://afs.github.io/rdf-patch/">RDF
-     * Patch</a> format, as might be produced by {@linkplain #recordChanges}
+     * Replay a stream in <a href="http://afs.github.io/rdf-patch/">RDF Patch</a>
+     * format as might be produced by {@linkplain #recordChanges}
      * @param dsg
      * @param input
      */