This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new 9c3ee47031 Support CONSTRUCT_JSON query type in RDFLinkHTTP.
9c3ee47031 is described below
commit 9c3ee470310d160eaba517a0dd658e00aab59e75
Author: Claus Stadler <[email protected]>
AuthorDate: Sun Aug 31 15:53:28 2025 +0200
Support CONSTRUCT_JSON query type in RDFLinkHTTP.
---
.../java/org/apache/jena/rdflink/RDFLinkHTTP.java | 6 +++++-
.../apache/jena/rdflink/AbstractTestRDFLink.java | 22 ++++++++++++++++++----
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTP.java
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTP.java
index df90a00883..2a7006dc8f 100644
--- a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTP.java
+++ b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkHTTP.java
@@ -29,6 +29,7 @@ import org.apache.jena.http.HttpEnv;
import org.apache.jena.query.*;
import org.apache.jena.rdfconnection.JenaConnectionException;
import org.apache.jena.riot.RDFFormat;
+import org.apache.jena.riot.WebContent;
import org.apache.jena.sparql.ARQException;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.Transactional;
@@ -341,7 +342,10 @@ public class RDFLinkHTTP implements RDFLink {
requestAcceptHeader =
RDFLinkHTTP.this.acceptGraph;
}
break;
- case UNKNOWN:
+ case CONSTRUCT_JSON :
+ requestAcceptHeader = WebContent.contentTypeJSON;
+ break;
+ case UNKNOWN :
// All-purpose content type.
if ( acceptSparqlResults != null ) {
requestAcceptHeader =
RDFLinkHTTP.this.acceptSparqlResults;
diff --git
a/jena-rdfconnection/src/test/java/org/apache/jena/rdflink/AbstractTestRDFLink.java
b/jena-rdfconnection/src/test/java/org/apache/jena/rdflink/AbstractTestRDFLink.java
index 0a13e49f30..d12e86957c 100644
---
a/jena-rdfconnection/src/test/java/org/apache/jena/rdflink/AbstractTestRDFLink.java
+++
b/jena-rdfconnection/src/test/java/org/apache/jena/rdflink/AbstractTestRDFLink.java
@@ -33,6 +33,8 @@ import org.apache.jena.graph.Graph;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.graph.compose.Union;
+import org.apache.jena.query.Query;
+import org.apache.jena.query.QueryFactory;
import org.apache.jena.query.ReadWrite;
import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.sparql.JenaTransactionException;
@@ -433,6 +435,18 @@ public abstract class AbstractTestRDFLink {
}
}
+ @Test public void query_json_01() {
+ try ( RDFLink link = link() ) {
+ Txn.executeWrite(link, ()->link.loadDataset(DIR+"data.trig"));
+ int actual = Txn.calculateRead(link, ()-> {
+ try (QueryExec qe = link.query("JSON { 's': ?s } { ?s ?p ?o
}")) {
+ return qe.execJson().size();
+ }
+ });
+ assertEquals(2, actual);
+ }
+ }
+
@Test public void update_01() {
try ( RDFLink link = link() ) {
link.update("INSERT DATA { <urn:x:s> <urn:x:p> <urn:x:o>}");
@@ -446,16 +460,16 @@ public abstract class AbstractTestRDFLink {
}
@Test public void update_03() {
- UpdateRequest update = new UpdateRequest();
- update.add("INSERT DATA { <urn:x:s> <urn:x:p> <urn:x:o>}");
+ UpdateRequest update = new UpdateRequest();
+ update.add("INSERT DATA { <urn:x:s> <urn:x:p> <urn:x:o>}");
try ( RDFLink link = link() ) {
link.update(update);
}
}
@Test public void update_04() {
- UpdateRequest update = new UpdateRequest();
- update.add("INSERT DATA { <urn:x:s> <urn:x:p> <urn:x:o>}");
+ UpdateRequest update = new UpdateRequest();
+ update.add("INSERT DATA { <urn:x:s> <urn:x:p> <urn:x:o>}");
try ( RDFLink link = link() ) {
Txn.executeWrite(link, ()->link.update(update));
}