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/09/10 14:48:00 UTC
svn commit: r1623983 - in /jena/trunk/jena-arq/src/main/java:
com/hp/hpl/jena/query/ResultSetFactory.java
com/hp/hpl/jena/sparql/resultset/ResultsFormat.java
com/hp/hpl/jena/sparql/util/QueryExecUtils.java
org/apache/jena/riot/resultset/ResultSetLang.java
Author: andy
Date: Wed Sep 10 12:47:59 2014
New Revision: 1623983
URL: http://svn.apache.org/r1623983
Log:
Add thrift support to result set tools.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/ResultsFormat.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/QueryExecUtils.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetLang.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java?rev=1623983&r1=1623982&r2=1623983&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java Wed Sep 10 12:47:59 2014
@@ -21,7 +21,10 @@ package com.hp.hpl.jena.query;
import java.io.InputStream ;
import java.util.List ;
+import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.ResultSetMgr ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
@@ -63,21 +66,8 @@ public class ResultSetFactory {
public static ResultSet load(String filenameOrURI, ResultsFormat format) {
if (format == null)
format = ResultsFormat.guessSyntax(filenameOrURI);
-
- if (format == null) {
- Log.warn(ResultSet.class, "Null format - defaulting to XML");
- format = ResultsFormat.FMT_RS_XML;
- }
-
- if (format.equals(ResultsFormat.FMT_TEXT)) {
- Log.fatal(ResultSet.class, "Can't read a text result set");
- throw new ResultSetException("Can't read a text result set");
- }
-
- InputStream in = FileManager.get().open(filenameOrURI);
- if (in == null)
- throw new NotFoundException("Not found: " + filenameOrURI);
- return load(in, format);
+ InputStream in = IO.openFile(filenameOrURI) ;
+ return load(in, format) ;
}
/**
@@ -93,6 +83,11 @@ public class ResultSetFactory {
Log.warn(ResultSet.class, "Null format - defaulting to XML");
format = ResultsFormat.FMT_RS_XML;
}
+
+ // Old World - new world
+ Lang lang = ResultsFormat.convert(format) ;
+ if ( lang != null )
+ return ResultSetMgr.read(input, lang) ;
if (format.equals(ResultsFormat.FMT_RS_JSON))
return JSONInput.fromJSON(input);
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/ResultsFormat.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/ResultsFormat.java?rev=1623983&r1=1623982&r2=1623983&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/ResultsFormat.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/ResultsFormat.java Wed Sep 10 12:47:59 2014
@@ -20,6 +20,12 @@ package com.hp.hpl.jena.sparql.resultset
import static org.apache.jena.riot.WebContent.* ;
+import java.util.HashMap ;
+import java.util.Map ;
+
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.resultset.ResultSetLang ;
+
import com.hp.hpl.jena.sparql.util.Symbol ;
import com.hp.hpl.jena.sparql.util.TranslationTable ;
@@ -32,6 +38,8 @@ import com.hp.hpl.jena.sparql.util.Trans
// FMT_RS_RDF , FMT_RDF_XML , FMT_RDF_N3 , FMT_RDF_TTL , FMT_RDF_TURTLE , FMT_RDF_NT ,
// FMT_UNKNOWN ;
+
+// Old world. Remove in Jena3
public class ResultsFormat extends Symbol
{
// ---- Compatibility (this started pre java 1.5)
@@ -42,6 +50,7 @@ public class ResultsFormat extends Symbo
static public ResultsFormat FMT_RS_XML = new ResultsFormat(contentTypeResultsXML) ;
static public ResultsFormat FMT_RS_JSON = new ResultsFormat(contentTypeResultsJSON) ;
+ static public ResultsFormat FMT_RS_THRIFT = new ResultsFormat(contentTypeResultsThrift) ;
static public ResultsFormat FMT_RS_CSV = new ResultsFormat(contentTypeTextCSV) ;
static public ResultsFormat FMT_RS_TSV = new ResultsFormat(contentTypeTextTSV) ;
static public ResultsFormat FMT_RS_SSE = new ResultsFormat(contentTypeSSE) ;
@@ -66,6 +75,8 @@ public class ResultsFormat extends Symbo
names.put("json", FMT_RS_JSON) ;
names.put("srj", FMT_RS_JSON) ;
+ names.put("srt", FMT_RS_THRIFT) ;
+ names.put("thrift", FMT_RS_THRIFT) ;
names.put("sse", FMT_RS_SSE) ;
names.put("csv", FMT_RS_CSV) ;
@@ -126,6 +137,10 @@ public class ResultsFormat extends Symbo
if ( url.endsWith(".yml") )
return FMT_RS_JSON ;
+ // -- Thrift
+ if ( url.endsWith(".srt") )
+ return FMT_RS_THRIFT ;
+
// -- SSE : http://jena.apache.org/documentation/notes/sse.html
if ( url.endsWith(".sse") )
return FMT_RS_SSE ;
@@ -154,4 +169,16 @@ public class ResultsFormat extends Symbo
return names.lookup(s) ;
}
+ static Map<ResultsFormat, Lang> mapResultsFormatToLang = new HashMap<>() ;
+ static {
+ mapResultsFormatToLang.put(ResultsFormat.FMT_RS_CSV, ResultSetLang.SPARQLResultSetCSV) ;
+ mapResultsFormatToLang.put(ResultsFormat.FMT_RS_TSV, ResultSetLang.SPARQLResultSetTSV) ;
+ mapResultsFormatToLang.put(ResultsFormat.FMT_RS_XML, ResultSetLang.SPARQLResultSetXML) ;
+ mapResultsFormatToLang.put(ResultsFormat.FMT_RS_JSON, ResultSetLang.SPARQLResultSetJSON) ;
+ mapResultsFormatToLang.put(ResultsFormat.FMT_RS_THRIFT, ResultSetLang.SPARQLResultSetThrift) ;
+ }
+
+ public static Lang convert(ResultsFormat fmt) {
+ return mapResultsFormatToLang.get(fmt) ;
+ }
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/QueryExecUtils.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/QueryExecUtils.java?rev=1623983&r1=1623982&r2=1623983&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/QueryExecUtils.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/QueryExecUtils.java Wed Sep 10 12:47:59 2014
@@ -22,6 +22,7 @@ import java.util.List ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.ResultSetMgr ;
import com.hp.hpl.jena.query.* ;
import com.hp.hpl.jena.rdf.model.Model ;
@@ -105,6 +106,15 @@ public class QueryExecUtils {
}
public static void outputResultSet(ResultSet results, Prologue prologue, ResultsFormat outputFormat) {
+ // Proper ResultSet formats.
+ Lang lang = ResultsFormat.convert(outputFormat) ;
+ if ( lang != null ) {
+ ResultSetMgr.write(System.out, results, lang) ;
+ System.out.flush() ;
+ return ;
+ }
+
+ // Old way.
boolean done = false ;
if ( prologue == null )
prologue = new Prologue(globalPrefixMap) ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetLang.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetLang.java?rev=1623983&r1=1623982&r2=1623983&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetLang.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/resultset/ResultSetLang.java Wed Sep 10 12:47:59 2014
@@ -24,6 +24,7 @@ import org.apache.jena.riot.RDFLanguages
import org.apache.jena.riot.WebContent ;
public class ResultSetLang {
+ // Add SSE!
public static final Lang SPARQLResultSetXML
= LangBuilder.create("SPARQL-Results-XML", WebContent.contentTypeResultsXML)
.addAltNames("SRX")
@@ -37,17 +38,14 @@ public class ResultSetLang {
.build() ;
public static final Lang SPARQLResultSetCSV = Lang.CSV ;
-// = LangBuilder.create("CSV", WebContent.contentTypeResultsXML)
-// .addAltNames("SRX")
-// .addFileExtensions("srx")
-// .build() ;
+
public static final Lang SPARQLResultSetTSV
= LangBuilder.create("TSV", WebContent.contentTypeTextTSV)
.addFileExtensions("tsv")
.build() ;
public static final Lang SPARQLResultSetThrift
- = LangBuilder.create("SPARQL-Results-Thrift", "application/sparql-results+thrift")
+ = LangBuilder.create("SPARQL-Results-Thrift", WebContent.contentTypeResultsThrift)
.addAltNames("SRT")
.addFileExtensions("srt")
.build() ;