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 2011/09/26 14:42:08 UTC
svn commit: r1175838 - in
/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset:
JSONInput.java JSONObjectResult.java JSONOutputASK.java
JSONOutputResultSet.java JSONResults.java
Author: andy
Date: Mon Sep 26 12:42:08 2011
New Revision: 1175838
URL: http://svn.apache.org/viewvc?rev=1175838&view=rev
Log:
Finish rewrite of JSON results format:
1/ Follow draft spec.
2/ use Atlas JSON subsystem
3/ Delete unused class
Removed:
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONObjectResult.java
Modified:
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONResults.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java?rev=1175838&r1=1175837&r2=1175838&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java Mon Sep 26 12:42:08 2011
@@ -61,11 +61,10 @@ import com.hp.hpl.jena.sparql.util.graph
/**
* Code that reads a JSON Result Set and builds the ARQ structure for the same.
- * Originally from Elias Torres <<a href="mailto:elias@torrez.us">elias@torrez.us</a>>
- * Updated to not use org.json code : Andy Seaborne (2010)
*/
public class JSONInput extends SPARQLResult
-{
+{
+ // This is like the XML reader but JSOn terms not XML tags.
public JSONInput(InputStream in)
{
this(in, null) ;
@@ -134,10 +133,6 @@ public class JSONInput extends SPARQLRes
// Type
boolean isResultSet = false;
-
- // Result set
- boolean ordered = false;
- boolean distinct = false;
boolean finished = false;
Model model = null;
@@ -173,7 +168,6 @@ public class JSONInput extends SPARQLRes
private void init() {
processHead();
- // Next should be a <result>, <boolean> element or </results>
// Need to decide what sort of thing we are reading.
if (json.hasKey(dfResults)) {
isResultSet = true;
@@ -188,7 +182,7 @@ public class JSONInput extends SPARQLRes
public boolean hasNext() {
if (!isResultSet)
- throw new ResultSetException("Not an XML result set");
+ throw new ResultSetException("Not a JSON result set");
if (finished)
return false;
@@ -226,10 +220,6 @@ public class JSONInput extends SPARQLRes
public List<String> getResultVars() { return variables; }
- public boolean isOrdered() { return ordered; }
-
- public boolean isDistinct() { return distinct; }
-
// No model - it was from a stream
public Model getResourceModel() { return null ; }
@@ -264,8 +254,9 @@ public class JSONInput extends SPARQLRes
variables.add(vars.get(i).getAsString().value()) ;
}
- if (head.hasKey(dfLink)) {
- // We're being lazy for now.
+ if (head.hasKey(dfLink))
+ {
+ //No processing for link.
}
} catch (JsonException e) {
throw new ResultSetException(e.getMessage(), e) ;
@@ -277,8 +268,6 @@ public class JSONInput extends SPARQLRes
private void processResults() {
try {
JsonObject results = json.get(dfResults).getAsObject() ;
-// ordered = results.getAsBoolean(dfOrdered) ;
-// distinct = results.getBoolean(dfDistinct) ;
} catch (JsonException e) {
throw new ResultSetException(e.getMessage(), e) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java?rev=1175838&r1=1175837&r2=1175838&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java Mon Sep 26 12:42:08 2011
@@ -27,12 +27,7 @@ import java.io.OutputStream ;
import org.openjena.atlas.io.IO ;
import org.openjena.atlas.json.io.JSWriter ;
-/** JSON Output (ASK format)
- *
- * @author Elias Torres (<a href="mailto:elias@torrez.us">elias@torrez.us</a>)
- * Rewritten to remove use of org.json: Andy Seaborne (2010)
- */
-
+/** JSON Output (ASK format) */
public class JSONOutputASK
{
@@ -48,7 +43,7 @@ public class JSONOutputASK
JSWriter out = new JSWriter(outStream) ;
out.startOutput() ;
-
+
out.startObject() ;
out.key(dfHead) ;
out.startObject() ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java?rev=1175838&r1=1175837&r2=1175838&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java Mon Sep 26 12:42:08 2011
@@ -18,7 +18,7 @@
package com.hp.hpl.jena.sparql.resultset;
-import static com.hp.hpl.jena.sparql.resultset.JSONResults.* ;
+import static com.hp.hpl.jena.sparql.resultset.JSONResults.* ;
import java.io.OutputStream ;
import java.util.HashMap ;
@@ -34,17 +34,16 @@ import com.hp.hpl.jena.query.ResultSet ;
import com.hp.hpl.jena.rdf.model.Literal ;
import com.hp.hpl.jena.rdf.model.RDFNode ;
import com.hp.hpl.jena.rdf.model.Resource ;
-import org.openjena.atlas.logging.Log ;
+import org.openjena.atlas.logging.Log ;
+
/**
- * A JSON writer for SPARQL Result Sets
- *
- * Format: <a href="http://www.w3.org/2001/sw/DataAccess/json-sparql/">Serializing SPARQL Query Results in JSON</a>
+ * A JSON writer for SPARQL Result Sets. Uses jena' atlas JSON support.
*
- * JSON: <a href="http://json.org">http://json.org/</a> */
+ * Format: <a href="http://www.w3.org/TR/sparql11-results-json/">SPARQL 1.1 Query Results JSON Format</a>
+ */
public class JSONOutputResultSet implements ResultSetProcessor
{
- // XXX JSONOutputResultSet - Could improve the streaming - minor.
static boolean multiLineValues = false ;
static boolean multiLineVarNames = false ;
@@ -68,8 +67,6 @@ public class JSONOutputResultSet impleme
doHead(rs) ;
out.println(quoteName(dfResults)+": {") ;
out.incIndent() ;
-// out.println(quoteName(dfDistinct)+": "+(rs.isDistinct()?"true":"false")+" ,") ;
-// out.println(quoteName(dfOrdered)+": " +(rs.isOrdered() ?"true":"false")+" ,") ;
out.println(quoteName(dfBindings)+": [") ;
out.incIndent() ;
firstSolution = true ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONResults.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONResults.java?rev=1175838&r1=1175837&r2=1175838&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONResults.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONResults.java Mon Sep 26 12:42:08 2011
@@ -18,32 +18,29 @@
package com.hp.hpl.jena.sparql.resultset;
-
-/**
- * @author Elias Torres (<a href="mailto:elias@torrez.us">elias@torrez.us</a>)
- */
public class JSONResults
{
public static final int INDENT = 2 ;
- public static final String dfHead = "head" ;
- public static final String dfVars = "vars" ;
- public static final String dfLink = "link" ;
- public static final String dfResults = "results" ;
- public static final String dfBindings = "bindings" ;
- public static final String dfBoolean = "boolean" ;
-
+ public static final String dfHead = "head" ;
+ public static final String dfVars = "vars" ;
+ public static final String dfLink = "link" ;
+ public static final String dfResults = "results" ;
+ public static final String dfBindings = "bindings" ;
+ public static final String dfBoolean = "boolean" ;
+
+ // Not part of SPARQl results formats any more.
// public static final String dfOrdered = "ordered" ;
// public static final String dfDistinct = "distinct" ;
- public static final String dfType = "type" ;
- public static final String dfValue = "value" ;
- public static final String dfDatatype = "datatype" ;
- public static final String dfLang = "xml:lang" ;
+ public static final String dfType = "type" ;
+ public static final String dfValue = "value" ;
+ public static final String dfDatatype = "datatype" ;
+ public static final String dfLang = "xml:lang" ;
public static final String dfBNode = "bnode" ;
public static final String dfURI = "uri" ;
public static final String dfLiteral = "literal" ;
public static final String dfTypedLiteral = "typed-literal" ;
- public static final String dfUnbound = "unbound" ;
+ public static final String dfUnbound = "unbound" ;
}