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/19 19:09:30 UTC
svn commit: r1233506 - in /incubator/jena/Jena2/ARQ/trunk/src:
main/java/com/hp/hpl/jena/sparql/resultset/
main/java/com/hp/hpl/jena/sparql/util/
test/java/com/hp/hpl/jena/sparql/resultset/
Author: andy
Date: Thu Jan 19 18:09:29 2012
New Revision: 1233506
URL: http://svn.apache.org/viewvc?rev=1233506&view=rev
Log:
JENA-198 Fixes to TSV input/output which were picking up the default prefix map when no prefix map should apply.
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVInputIterator.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVOutput.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactory.java
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/resultset/TestResultSetFormat1.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVInputIterator.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVInputIterator.java?rev=1233506&r1=1233505&r2=1233506&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVInputIterator.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVInputIterator.java Thu Jan 19 18:09:29 2012
@@ -18,24 +18,23 @@
package com.hp.hpl.jena.sparql.resultset;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.util.List;
-import java.util.NoSuchElementException;
+import java.io.BufferedReader ;
+import java.io.IOException ;
+import java.util.List ;
+import java.util.NoSuchElementException ;
import org.openjena.atlas.io.IO ;
-import org.openjena.atlas.io.IndentedWriter;
-
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.query.QueryException;
-import com.hp.hpl.jena.sparql.core.Var;
-import com.hp.hpl.jena.sparql.engine.binding.Binding;
-import com.hp.hpl.jena.sparql.engine.binding.BindingFactory;
-import com.hp.hpl.jena.sparql.engine.binding.BindingMap;
-import com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase;
-import com.hp.hpl.jena.sparql.serializer.SerializationContext;
-import com.hp.hpl.jena.sparql.util.NodeFactory;
+import org.openjena.atlas.io.IndentedWriter ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.query.QueryException ;
+import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
+import com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase ;
+import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
+import com.hp.hpl.jena.sparql.util.NodeFactory ;
/**
* Class used to do streaming parsing of actual result rows from the TSV
@@ -107,7 +106,7 @@ public class TSVInputIterator extends Qu
if (token.equals("")) continue;
//Bound value so parse it and add to the binding
- Node node = NodeFactory.parseNode(token);
+ Node node = NodeFactory.parseNode(token, null);
this.binding.add(this.vars.get(i), node);
}
return true;
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVOutput.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVOutput.java?rev=1233506&r1=1233505&r2=1233506&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVOutput.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/resultset/TSVOutput.java Thu Jan 19 18:09:29 2012
@@ -32,6 +32,7 @@ import com.hp.hpl.jena.query.ResultSet ;
import com.hp.hpl.jena.sparql.ARQException ;
import com.hp.hpl.jena.sparql.core.Var ;
import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.serializer.SerializationContext;
import com.hp.hpl.jena.sparql.util.FmtUtils ;
import com.hp.hpl.jena.util.FileUtils ;
@@ -53,6 +54,10 @@ public class TSVOutput extends OutputBas
public void format(OutputStream out, ResultSet resultSet)
{
try {
+ //We'll use a null serialization context as otherwise the TSV Output may reduce things to Prefixed Names using
+ //ARQs default prefix mapping which then means the output is invalid
+ SerializationContext ctx = null;
+
Writer w = FileUtils.asUTF8(out) ;
w = new BufferedWriter(w) ;
@@ -89,7 +94,7 @@ public class TSVOutput extends OutputBas
if ( n != null )
{
// This will not include a raw tab.
- String str = FmtUtils.stringForNode(n) ;
+ String str = FmtUtils.stringForNode(n, ctx) ;
w.write(str) ;
}
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactory.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactory.java?rev=1233506&r1=1233505&r2=1233506&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactory.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactory.java Thu Jan 19 18:09:29 2012
@@ -24,14 +24,26 @@ import com.hp.hpl.jena.datatypes.xsd.XSD
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.impl.LiteralLabel ;
import com.hp.hpl.jena.query.QueryParseException ;
+import com.hp.hpl.jena.shared.PrefixMapping ;
+import com.hp.hpl.jena.shared.impl.PrefixMappingImpl ;
import com.hp.hpl.jena.sparql.sse.SSE ;
public class NodeFactory
{
+ /** Parse a node - with convenience prefix mapping */
public static Node parseNode(String nodeString)
{
return SSE.parseNode(nodeString) ;
}
+
+ private static PrefixMapping pmapEmpty = new PrefixMappingImpl() ;
+ /** Parse a string into a node. Pass null for the prefix mapping to indicate using no defined mappings */
+ public static Node parseNode(String nodeString, PrefixMapping pmap)
+ {
+ if ( pmap == null )
+ pmap = pmapEmpty ;
+ return SSE.parseNode(nodeString, pmap) ;
+ }
private static QueryParseException makeException(String msg, int line, int column)
{
Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/resultset/TestResultSetFormat1.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/resultset/TestResultSetFormat1.java?rev=1233506&r1=1233505&r2=1233506&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/resultset/TestResultSetFormat1.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/resultset/TestResultSetFormat1.java Thu Jan 19 18:09:29 2012
@@ -37,11 +37,14 @@ import com.hp.hpl.jena.query.ResultSetRe
import com.hp.hpl.jena.sparql.sse.Item ;
import com.hp.hpl.jena.sparql.sse.SSE ;
import com.hp.hpl.jena.sparql.sse.builders.BuilderResultSet ;
+import com.hp.hpl.jena.vocabulary.OWL;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.hp.hpl.jena.vocabulary.RDFS;
+import com.hp.hpl.jena.vocabulary.XSD;
@RunWith(Parameterized.class)
public class TestResultSetFormat1
{
-
static String[] $rs1 = {
"(resultset (?a ?b ?c)",
" (row (?a 1) (?b 2) )",
@@ -59,12 +62,20 @@ public class TestResultSetFormat1
" (row (?a 1) (?c 4))",
" (row (?a 1) (?b 2) (?c 3))",
")"} ;
+
+ static String[] $rs4 = {
+ "(resultset (?x)",
+ " (row (?x <" + RDF.type.toString() + ">))",
+ " (row (?x <" + RDFS.label.toString() + ">))",
+ " (row (?x <" + XSD.integer.toString() + ">))",
+ " (row (?x <" + OWL.sameAs.toString() + ">))",
+ ")" };
@Parameters
public static Collection<Object[]> data()
{
- return Arrays.asList(new Object[][] { {$rs1}, {$rs2}, {$rs3} } ) ;
+ return Arrays.asList(new Object[][] { {$rs1}, {$rs2}, {$rs3}, {$rs4} } ) ;
}
private final String[] $rs ;