Skip to content
This repository was archived by the owner on Jan 28, 2025. It is now read-only.

Commit bca607c

Browse files
committed
Merge branch 'GraphProtocol' into development
2 parents 5779810 + cffc7c2 commit bca607c

File tree

2 files changed

+17
-43
lines changed

2 files changed

+17
-43
lines changed

corese-server/src/main/java/fr/inria/corese/server/webservice/GraphProtocol.java

+14-41
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,25 @@
2323
/**
2424
* SPARQL 1.1 Graph Store HTTP Protocol
2525
*
26-
* Olivier Corby
26+
* @author Olivier Corby
27+
* @author Pierre Maillot, P16 Wimmics INRIA I3S, 2024
2728
*/
2829
@Path("rdf-graph-store")
2930
public class GraphProtocol {
3031
static private final Logger logger = LogManager.getLogger(GraphProtocol.class);
3132

32-
static final String NAMED_GRAPH_QUERY = "construct {?s ?p ?o} where {graph <%s> {?s ?p ?o}}";
33-
static final String DEFAULT_GRAPH_QUERY = "construct where {?s ?p ?o}";
33+
static final String NAMED_GRAPH_QUERY = "CONSTRUCT {?s ?p ?o} WHERE { GRAPH <%s> {?s ?p ?o}}";
34+
static final String DEFAULT_GRAPH_QUERY = "CONSTRUCT {?s ?p ?o}";
3435

35-
static final String NAMED_GRAPH_INSERT = "insert data {graph <%s> {%s}}";
36-
static final String DEFAULT_GRAPH_INSERT = "insert data {%s}";
36+
static final String NAMED_GRAPH_INSERT = "INSERT DATA { GRAPH <%s> {%s}}";
37+
static final String DEFAULT_GRAPH_INSERT = "INSERT DATA {%s}";
3738

3839
Response get(HttpServletRequest request, String name, String graph, String pattern, String access, int format) {
3940
String query = pattern;
4041
if (name != null) {
4142
query = String.format(pattern, NSManager.nsm().toNamespace(graph));
4243
}
43-
return new SPARQLRestAPI().myGetResult(request, name, null, null, null, null, query, access, null, null,
44+
return new SPARQLRestAPI().getResultFormat(request, name, null, null, null, null, query, access, null, null,
4445
format);
4546
}
4647

@@ -51,7 +52,7 @@ Response post(HttpServletRequest request, String name, String graph, String patt
5152
} else {
5253
query = String.format(NAMED_GRAPH_INSERT, NSManager.nsm().toNamespace(graph), pattern);
5354
}
54-
return new SPARQLRestAPI().myGetResult(request, name, null, null, null, null, query, access, null, null,
55+
return new SPARQLRestAPI().getResultFormat(request, name, null, null, null, null, query, access, null, null,
5556
format);
5657
}
5758

@@ -80,7 +81,7 @@ public Response getTurtle(@jakarta.ws.rs.core.Context HttpServletRequest request
8081
@QueryParam("mode") List<String> mode) {
8182

8283
logger.info("getTurtle");
83-
return get(request, name, graph, getQuery(name), access, ResultFormat.TURTLE_FORMAT);
84+
return get(request, name, graph, getQuery(graph), access, ResultFormat.TURTLE_FORMAT);
8485
}
8586

8687
@GET
@@ -92,7 +93,7 @@ public Response getXML(@jakarta.ws.rs.core.Context HttpServletRequest request,
9293
@QueryParam("mode") List<String> mode) {
9394

9495
logger.info("getXML");
95-
return get(request, name, graph, getQuery(name), access, ResultFormat.RDF_XML_FORMAT);
96+
return get(request, name, graph, getQuery(graph), access, ResultFormat.RDF_XML_FORMAT);
9697
}
9798

9899
@GET
@@ -104,58 +105,30 @@ public Response getJSON(@jakarta.ws.rs.core.Context HttpServletRequest request,
104105
@QueryParam("mode") List<String> mode) {
105106

106107
logger.info("getJSON");
107-
return get(request, name, graph, getQuery(name), access, ResultFormat.JSONLD_FORMAT);
108+
return get(request, name, graph, getQuery(graph), access, ResultFormat.JSONLD_FORMAT);
108109
}
109110

110111
@PUT
112+
@Produces({ ResultFormat.SPARQL_RESULTS_XML, ResultFormat.XML})
111113
public Response put(@jakarta.ws.rs.core.Context HttpServletRequest request,
112114
@PathParam("name") String name,
113115
@QueryParam("graph") String graph,
114-
// @QueryParam("query")
115-
String query,
116116
@QueryParam("access") String access,
117117
@QueryParam("mode") List<String> mode) {
118118

119119
logger.info("put");
120-
return post(request, name, graph, query, access, ResultFormat.XML_FORMAT);
121-
}
122-
123-
@PUT
124-
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
125-
public Response put2(@jakarta.ws.rs.core.Context HttpServletRequest request,
126-
@PathParam("name") String name,
127-
@FormParam("graph") String graph,
128-
@FormParam("query") String query,
129-
@FormParam("access") String access,
130-
@FormParam("mode") List<String> mode) {
131-
132-
logger.info(String.format("put2: graph %s", graph));
133-
return post(request, name, graph, query, access, ResultFormat.XML_FORMAT);
120+
return post(request, name, graph, getQuery(graph), access, ResultFormat.XML_FORMAT);
134121
}
135122

136123
@POST
137124
public Response post(@jakarta.ws.rs.core.Context HttpServletRequest request,
138125
@PathParam("name") String name,
139126
@QueryParam("graph") String graph,
140-
@QueryParam("query") String query,
141127
@QueryParam("access") String access,
142128
@QueryParam("mode") List<String> mode) {
143129

144130
logger.info("post");
145-
return post(request, name, graph, query, access, ResultFormat.XML_FORMAT);
146-
}
147-
148-
@POST
149-
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
150-
public Response post2(@jakarta.ws.rs.core.Context HttpServletRequest request,
151-
@PathParam("name") String name,
152-
@FormParam("graph") String graph,
153-
@FormParam("query") String query,
154-
@FormParam("access") String access,
155-
@FormParam("mode") List<String> mode) {
156-
157-
logger.info(String.format("post2: graph %s", graph));
158-
return post(request, name, graph, query, access, ResultFormat.XML_FORMAT);
131+
return post(request, name, graph, getQuery(graph), access, ResultFormat.XML_FORMAT);
159132
}
160133

161134
}

corese-server/src/test/java/fr/inria/corese/server/webservice/GraphStoreProtocolTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static fr.inria.corese.core.print.ResultFormat.TURTLE_TEXT;
44
import static fr.inria.corese.core.api.Loader.TURTLE_FORMAT;
55
import static org.junit.Assert.assertEquals;
6+
import static org.junit.Assert.assertFalse;
67
import static org.junit.Assert.assertTrue;
78

89
import java.io.BufferedReader;
@@ -174,7 +175,7 @@ public void getGraphStoreProtocolWithUnknownGraph() throws Exception{
174175
@Test
175176
public void putGraphStoreProtocolNewGraph() throws Exception {
176177

177-
boolean absenceTest = ! SPARQLTestUtils.sendSPARQLAsk("ASK { GRAPH <http://example.com/C> { <http://example.com/C> a <http://example.com/Thing> } }");
178+
boolean absenceTest = SPARQLTestUtils.sendSPARQLAsk("ASK { GRAPH <http://example.com/C> { <http://example.com/C> a <http://example.com/Thing> } }");
178179

179180
List<List<String>> headers = new LinkedList<>();
180181
List<String> acceptHeader = new LinkedList<>();
@@ -194,9 +195,9 @@ public void putGraphStoreProtocolNewGraph() throws Exception {
194195

195196
boolean presenceTest = SPARQLTestUtils.sendSPARQLAsk("ASK { GRAPH <http://example.com/C> { <http://example.com/C> a <http://example.com/Thing> } }");
196197

198+
assertFalse(absenceTest);
197199
assertEquals(201, status);
198200
assertTrue(presenceTest);
199-
assertTrue(absenceTest);
200201
}
201202

202203
@Test

0 commit comments

Comments
 (0)