You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/01/29 11:31:37 UTC
svn commit: r1439817 - in /jena/trunk/jena-arq:
src-examples/arq/examples/riot/ src/main/java/org/apache/jena/riot/lang/
src/test/java/org/apache/jena/riot/lang/
Author: rvesse
Date: Tue Jan 29 10:31:37 2013
New Revision: 1439817
URL: http://svn.apache.org/viewvc?rev=1439817&view=rev
Log:
Removed StreamedRDFIterator in favour of Stephen's PipedRDFStream and PipedRDFIterator, update example to use PipedRDFStream and PipedRDFIterator instead
Removed:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedQuadsIterator.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedRDFIterator.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedTriplesIterator.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/StreamedTuplesIterator.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestStreamedRDFIterators.java
Modified:
jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java
Modified: jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java?rev=1439817&r1=1439816&r2=1439817&view=diff
==============================================================================
--- jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java (original)
+++ jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_6.java Tue Jan 29 10:31:37 2013
@@ -18,37 +18,35 @@
package arq.examples.riot;
-import java.util.concurrent.ExecutorService ;
-import java.util.concurrent.Executors ;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
-import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.lang.StreamedTriplesIterator ;
-
-import com.hp.hpl.jena.graph.Triple ;
-
-/** Example of using RIOT : iterate over output of parser run */
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.lang.PipedRDFIterator;
+import org.apache.jena.riot.lang.PipedRDFStream;
+import org.apache.jena.riot.lang.PipedTriplesStream;
+import org.apache.jena.riot.lang.StreamedTriplesIterator;
+
+import com.hp.hpl.jena.graph.Triple;
+
+/**
+ * Example of using RIOT : iterate over output of parser run using a
+ * {@link PipedRDFStream} and a {@link PipedRDFIterator}
+ *
+ */
public class ExRIOT_6 {
public static void main(String... argv) {
- // Not needed here as we are using RIOT itself via RDFDataMgr, not
- // indirectly.
- // RIOT.init() ;
-
final String filename = "data.ttl";
// Create a StreamedTriplesIterator, this doubles as both a StreamRDF
// for parser output and an iterator for our consumption
// You can optionally supply a buffer size here, see the documentation
// for details about recommended buffer sizes
- final StreamedTriplesIterator iter = new StreamedTriplesIterator();
-
- // The classes derived from StreamedRDFIterator such as this are
- // fully thread safe so the parser and the consumer of the iterator
- // may be on different threads
- // Generally speaking the parser and the consumer must be on different
- // threads as otherwise your consumer code will never start and
- // everything will deadlock
+ PipedRDFIterator<Triple> iter = new PipedRDFIterator<Triple>();
+ final PipedRDFStream<Triple> inputStream = new PipedTriplesStream(iter);
+ // PipedRDFStream and PipedRDFIterator need to be on different threads
ExecutorService executor = Executors.newSingleThreadExecutor();
// Create a runnable for our parser thread
@@ -57,18 +55,17 @@ public class ExRIOT_6 {
@Override
public void run() {
// Call the parsing process.
- RDFDataMgr.parse(iter, filename);
+ RDFDataMgr.parse(inputStream, filename);
}
};
- // Start the parser
+ // Start the parser on another thread
executor.submit(parser);
// We will consume the input on the main thread here
// We can now iterate over data as it is parsed, parsing only runs as
- // far
- // ahead of our consumption as the buffer size allows
+ // far ahead of our consumption as the buffer size allows
while (iter.hasNext()) {
Triple next = iter.next();
// Do something with each triple
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java?rev=1439817&r1=1439816&r2=1439817&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TS_Lang.java Tue Jan 29 10:31:37 2013
@@ -35,7 +35,7 @@ import org.junit.runners.Suite ;
, TestLangRdfJson.class
, TestParserFactory.class
- , TestStreamedRDFIterators.class
+ , TestPipedRDFIterators.class
})