diff --git a/sparql/pom.xml b/sparql/pom.xml
index abce11c54c9..94dbfae90b4 100644
--- a/sparql/pom.xml
+++ b/sparql/pom.xml
@@ -33,7 +33,7 @@
sparql
- 3.12.0
+ 4.10.0
diff --git a/sparql/src/main/java/org/apache/zeppelin/sparql/JenaInterpreter.java b/sparql/src/main/java/org/apache/zeppelin/sparql/JenaInterpreter.java
index 9faf869086e..266cdb1524c 100644
--- a/sparql/src/main/java/org/apache/zeppelin/sparql/JenaInterpreter.java
+++ b/sparql/src/main/java/org/apache/zeppelin/sparql/JenaInterpreter.java
@@ -19,8 +19,8 @@
import org.apache.http.HttpStatus;
+import org.apache.jena.atlas.web.HttpException;
import org.apache.jena.query.QueryExecution;
-import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.QueryParseException;
import org.apache.jena.query.ResultSet;
import org.apache.jena.query.ResultSetFormatter;
@@ -57,10 +57,10 @@ public JenaInterpreter(String serviceEndpoint, boolean replaceURIs, boolean remo
@Override
public InterpreterResult query(String query) {
- LOGGER.info("SPARQL: Run Query '" + query + "' against " + serviceEndpoint);
+ LOGGER.info("SPARQL: Run Query '{}' against {}", query, serviceEndpoint);
try {
- queryExecution = QueryExecutionFactory.sparqlService(serviceEndpoint, query);
+ queryExecution = QueryExecution.service(serviceEndpoint).query(query).build();
PrefixMapping prefixMapping = queryExecution.getQuery().getPrefixMapping();
// execute query and get Results
@@ -85,14 +85,14 @@ public InterpreterResult query(String query) {
InterpreterResult.Code.SUCCESS,
InterpreterResult.Type.TABLE,
tsv);
- } catch (QueryParseException e) {
+ } catch (QueryParseException | HttpException e) {
LOGGER.error(e.toString());
return new InterpreterResult(
InterpreterResult.Code.ERROR,
"Error: " + e.getMessage());
} catch (QueryExceptionHTTP e) {
LOGGER.error(e.toString());
- int responseCode = e.getResponseCode();
+ int responseCode = e.getStatusCode();
if (responseCode == HttpStatus.SC_UNAUTHORIZED) {
return new InterpreterResult(
diff --git a/sparql/src/main/java/org/apache/zeppelin/sparql/SparqlInterpreter.java b/sparql/src/main/java/org/apache/zeppelin/sparql/SparqlInterpreter.java
index eeb99554e86..c36f523fdb0 100644
--- a/sparql/src/main/java/org/apache/zeppelin/sparql/SparqlInterpreter.java
+++ b/sparql/src/main/java/org/apache/zeppelin/sparql/SparqlInterpreter.java
@@ -42,8 +42,8 @@ public class SparqlInterpreter extends Interpreter {
public static final String ENGINE_TYPE_JENA = "jena";
- public SparqlEngine engine;
-
+ private SparqlEngine engine;
+
/**
* Sparql Engine Type.
*/
@@ -73,7 +73,7 @@ public void open() {
if (SparqlEngineType.JENA.toString().equals(engineType)) {
engine = new JenaInterpreter(serviceEndpoint, replaceURIs, removeDatatypes);
- }
+ }
}
@Override
diff --git a/sparql/src/test/java/org/apache/zeppelin/sparql/SparqlJenaEngineTest.java b/sparql/src/test/java/org/apache/zeppelin/sparql/SparqlJenaEngineTest.java
index 84195bbcf15..257e15201bd 100644
--- a/sparql/src/test/java/org/apache/zeppelin/sparql/SparqlJenaEngineTest.java
+++ b/sparql/src/test/java/org/apache/zeppelin/sparql/SparqlJenaEngineTest.java
@@ -17,7 +17,7 @@
package org.apache.zeppelin.sparql;
-import org.apache.jena.fuseki.Fuseki;
+import org.apache.jena.atlas.web.WebLib;
import org.apache.jena.fuseki.main.FusekiServer;
import org.apache.jena.fuseki.server.DataAccessPointRegistry;
import org.apache.jena.query.Dataset;
@@ -52,7 +52,7 @@ class SparqlJenaEngineTest {
@BeforeAll
public static void setUp() {
- port = Fuseki.choosePort();
+ port = WebLib.choosePort();
Model model = ModelFactory.createDefaultModel();
model.read(DATA_FILE);
@@ -108,6 +108,11 @@ void testSuccessfulRawQuery() {
assertEquals(Code.SUCCESS, result.code());
final String expected = "?subject\t?predicate\t?object\n" +
+ "\t\t\"Green Goblin\"\n" +
+ "\t" +
+ "\t\n\t" +
+ "\t" +
+ "\n" +
"\t" +
"\t\"Человек-паук\"@ru\n\t" +
"\t\"Spiderman\"\n" +
@@ -116,12 +121,7 @@ void testSuccessfulRawQuery() {
"\t" +
"\n\t" +
"\t\"1962-10-15T14:00.00\"^^" +
- "\n\t" +
- "\t\"Green Goblin\"\n" +
- "\t" +
- "" +
- "\t\n\t" +
- "\t\n";
+ "\n";
assertEquals(expected, result.message().get(0).getData());
}
@@ -141,6 +141,11 @@ void testSuccessfulReplaceRemoveQuery() {
assertEquals(Code.SUCCESS, result.code());
final String expected = "?subject\t?predicate\t?object\n" +
+ "\t\t\"Green Goblin\"\n" +
+ "\t" +
+ "" +
+ "\t\n\t" +
+ "\t\n" +
"\t" +
"\t\"Человек-паук\"@ru\n\t" +
"\t\"Spiderman\"\n" +
@@ -148,12 +153,7 @@ void testSuccessfulReplaceRemoveQuery() {
"\t\n\t" +
"\t" +
"\n\t" +
- "\t1962-10-15T14:00.00\n" +
- "\t\t\"Green Goblin\"\n" +
- "\t" +
- "" +
- "\t\n\t" +
- "\t\n";
+ "\t1962-10-15T14:00.00\n";
assertEquals(expected, result.message().get(0).getData());
}