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 2012/01/21 19:10:41 UTC

svn commit: r1234379 - in /incubator/jena/Scratch/AFS/Jena-Dev/trunk/src: dev/Jena184_RDFJSONWriter.java dev/Jena199_BadBindingTDB.java reports/archive/Jena184_RDFJSONWriter.java

Author: andy
Date: Sat Jan 21 18:10:41 2012
New Revision: 1234379

URL: http://svn.apache.org/viewvc?rev=1234379&view=rev
Log: (empty)

Added:
    incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena199_BadBindingTDB.java
    incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/reports/archive/Jena184_RDFJSONWriter.java
      - copied, changed from r1228246, incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena184_RDFJSONWriter.java
Removed:
    incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena184_RDFJSONWriter.java

Added: incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena199_BadBindingTDB.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena199_BadBindingTDB.java?rev=1234379&view=auto
==============================================================================
--- incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena199_BadBindingTDB.java (added)
+++ incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena199_BadBindingTDB.java Sat Jan 21 18:10:41 2012
@@ -0,0 +1,95 @@
+
+
+package dev;
+
+import java.io.File ;
+import java.io.IOException ;
+
+import com.hp.hpl.jena.query.* ;
+import com.hp.hpl.jena.tdb.TDB ;
+import com.hp.hpl.jena.tdb.TDBFactory ;
+
+
+public class Jena199_BadBindingTDB {
+    
+    private static final String query = "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" +
+            "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + 
+            "SELECT DISTINCT ?person ?name\n" + 
+            "WHERE {\n" +
+            "  ?article dc:creator ?person .\n" + 
+            "  ?person foaf:name ?name .\n" + 
+            "}";
+
+    public static void main(String[] argv)
+    {
+        Jena199_BadBindingTDB test = new Jena199_BadBindingTDB();
+        
+        //Expects a TDB location, suggest using a pre-built version of sp2b10k which seems to reproduce the issue reliably
+        //Second argument is whether to use TDB or a ARQ in-memory dataset
+        //TDB has the issue whereas ARQ does not - go figure!?
+        
+        //test.test(argv[0], Boolean.parseBoolean(argv[1]));
+        
+        Boolean useTDB =  Boolean.FALSE ;
+        System.out.println("Using TDB: "+useTDB) ;
+        
+        test.test("DB-SP2B10K", useTDB);
+        
+        //Alternatively comment out the above and uncomment and use the following
+        //test.test("path/to/dataset", true); //Test with TDB
+        //test.test(null, false); //Test with ARQ in-memory
+    }
+
+    public void test(String location, boolean useTDB)
+    {
+        try
+        {
+            Dataset ds = setup(location, useTDB);
+            
+            //Output in each format
+            //Note we run the query each time as opposed to using ResultSetRewindable to avoid the possibility
+            //of that class masking the actual issue we're trying to reproduce
+
+            System.out.println("SPARQL XML:");
+            ResultSet rset = runQuery(ds);
+            ResultSetFormatter.outputAsXML(System.out, rset);
+            System.out.println();
+            
+            System.out.println("SPARQL JSON:");
+            rset = runQuery(ds);
+            ResultSetFormatter.outputAsJSON(System.out, rset);
+            System.out.println();
+            
+            System.out.println("SPARQL TSV:");
+            rset = runQuery(ds);
+            ResultSetFormatter.outputAsTSV(System.out, rset);
+            System.out.println();
+        }
+        catch (Exception e)
+        {
+            System.err.println(e.getMessage());
+            e.printStackTrace(System.err);
+        }
+    }
+    
+    private Dataset setup(String location, boolean useTDB) throws IOException
+    {       
+        if (useTDB)
+        {
+            TDB.init();
+            return TDBFactory.createDataset(location);
+        }
+        else
+        {
+            File f = new File("sp2b10k.nt");
+            return DatasetFactory.create("file://" + f.getAbsolutePath());
+        }
+    }
+
+    private ResultSet runQuery(Dataset ds)
+    {
+        Query q = QueryFactory.create(query);
+        QueryExecution exec = QueryExecutionFactory.create(q, ds);
+        return exec.execSelect();
+    }
+}

Copied: incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/reports/archive/Jena184_RDFJSONWriter.java (from r1228246, incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena184_RDFJSONWriter.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/reports/archive/Jena184_RDFJSONWriter.java?p2=incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/reports/archive/Jena184_RDFJSONWriter.java&p1=incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena184_RDFJSONWriter.java&r1=1228246&r2=1234379&rev=1234379&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena184_RDFJSONWriter.java (original)
+++ incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/reports/archive/Jena184_RDFJSONWriter.java Sat Jan 21 18:10:41 2012
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package dev;
+package reports.archive;
 
 import java.io.ByteArrayInputStream ;
 import java.io.ByteArrayOutputStream ;