labelingsystem-server  Version 0.1.0.0
SparqlResource Class Reference

Public Member Functions

Response getSPARQLresultsGET (@HeaderParam("Accept") String acceptHeader, @QueryParam("query") String query, @QueryParam("out") String out)
 
Response getSPARQLresultsPOST (@HeaderParam("Accept") String acceptHeader, @FormParam("query") String query, @FormParam("out") String out)
 

Member Function Documentation

◆ getSPARQLresultsGET()

Response getSPARQLresultsGET ( @HeaderParam("Accept") String  acceptHeader,
@QueryParam("query") String  query,
@QueryParam("out") String  out 
)
27  {
28  String QUERY = "SELECT * WHERE { ?s ?p ?o } LIMIT 10";
29  String FORMAT = "xml";
30  String CONTENT_TYPE = "application/sparql-results+xml";
31  try {
32  // parse query
33  if (query != null) {
34  QUERY = query;
35  QUERY = URLDecoder.decode(QUERY, "UTF-8");
36  } else {
37  throw new NullPointerException();
38  }
39  // set format if requested by var
40  if (out != null) {
41  if (out.equals("json")) {
42  FORMAT = "json";
43  CONTENT_TYPE = "application/sparql-results+json;charset=UTF-8";
44  } else if (out.equals("xml")) {
45  FORMAT = "xml";
46  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
47  } else if (out.equals("csv")) {
48  FORMAT = "csv";
49  CONTENT_TYPE = "text/plain;charset=UTF-8";
50  } else if (out.equals("tsv")) {
51  FORMAT = "tsv";
52  CONTENT_TYPE = "text/plain;charset=UTF-8";
53  } else {
54  FORMAT = "xml";
55  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
56  }
57  } else // set format if requested by accept header
58  {
59  if (acceptHeader != null) {
60  if (acceptHeader.contains("application/sparql-results+xml")) {
61  FORMAT = "xml";
62  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
63  } else if (acceptHeader.contains("application/sparql-results+json")) {
64  FORMAT = "json";
65  CONTENT_TYPE = "application/sparql-results+json;charset=UTF-8";
66  } else if (acceptHeader.contains("text/csv")) {
67  FORMAT = "csv";
68  CONTENT_TYPE = "text/plain;charset=UTF-8";
69  } else if (acceptHeader.contains("text/tsv")) {
70  FORMAT = "tsv";
71  CONTENT_TYPE = "text/plain;charset=UTF-8";
72  } else if (acceptHeader.contains("application/xml")) {
73  FORMAT = "xml";
74  CONTENT_TYPE = "application/xml;charset=UTF-8";
75  } else if (acceptHeader.contains("application/json")) {
76  FORMAT = "json";
77  CONTENT_TYPE = "application/json;charset=UTF-8";
78  } else {
79  FORMAT = "xml";
80  CONTENT_TYPE = "application/sparql-results+xml";
81  }
82  }
83  }
84  // set outputstream
85  final String FORMAT_FINAL = FORMAT;
86  final String QUERY_FINAL = QUERY;
87  StreamingOutput stream;
88  stream = new StreamingOutput() {
89  @Override
90  public void write(OutputStream output) throws IOException, WebApplicationException {
91  try {
92  RDF4J_20.SPARQLqueryOutputFileOS(ConfigProperties.getPropertyParam("repository"),
93  ConfigProperties.getPropertyParam("ts_server"), QUERY_FINAL, FORMAT_FINAL, output);
94  } catch (Exception e) {
95  }
96  }
97  };
98  // get output
99  return Response.ok(stream).header("Content-Type", CONTENT_TYPE).build();
100  } catch (Exception e) {
101  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.SparqlResource"))
102  .header("Content-Type", "application/json;charset=UTF-8").build();
103  }
104  }

References Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getSPARQLresultsPOST()

Response getSPARQLresultsPOST ( @HeaderParam("Accept") String  acceptHeader,
@FormParam("query") String  query,
@FormParam("out") String  out 
)
108  {
109  String QUERY = "SELECT * WHERE { ?s ?p ?o } LIMIT 10";
110  String FORMAT = "xml";
111  String CONTENT_TYPE = "application/sparql-results+xml";
112  try {
113  // parse query
114  if (query != null) {
115  QUERY = query;
116  QUERY = URLDecoder.decode(QUERY, "UTF-8");
117  } else {
118  throw new NullPointerException();
119  }
120  // set format if requested by var
121  if (out != null) {
122  if (out.equals("json")) {
123  FORMAT = "json";
124  CONTENT_TYPE = "application/sparql-results+json;charset=UTF-8";
125  } else if (out.equals("xml")) {
126  FORMAT = "xml";
127  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
128  } else if (out.equals("csv")) {
129  FORMAT = "csv";
130  CONTENT_TYPE = "text/plain;charset=UTF-8";
131  } else if (out.equals("tsv")) {
132  FORMAT = "tsv";
133  CONTENT_TYPE = "text/plain;charset=UTF-8";
134  } else {
135  FORMAT = "xml";
136  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
137  }
138  } else // set format if requested by accept header
139  {
140  if (acceptHeader != null) {
141  if (acceptHeader.contains("application/sparql-results+xml")) {
142  FORMAT = "xml";
143  CONTENT_TYPE = "application/sparql-results+xml;charset=UTF-8";
144  } else if (acceptHeader.contains("application/sparql-results+json")) {
145  FORMAT = "json";
146  CONTENT_TYPE = "application/sparql-results+json;charset=UTF-8";
147  } else if (acceptHeader.contains("text/csv")) {
148  FORMAT = "csv";
149  CONTENT_TYPE = "text/plain;charset=UTF-8";
150  } else if (acceptHeader.contains("text/tsv")) {
151  FORMAT = "tsv";
152  CONTENT_TYPE = "text/plain;charset=UTF-8";
153  } else if (acceptHeader.contains("application/xml")) {
154  FORMAT = "xml";
155  CONTENT_TYPE = "application/xml;charset=UTF-8";
156  } else if (acceptHeader.contains("application/json")) {
157  FORMAT = "json";
158  CONTENT_TYPE = "application/json;charset=UTF-8";
159  } else {
160  FORMAT = "xml";
161  CONTENT_TYPE = "application/sparql-results+xml";
162  }
163  }
164  }
165  // set outputstream
166  final String FORMAT_FINAL = FORMAT;
167  final String QUERY_FINAL = QUERY;
168  StreamingOutput stream;
169  stream = new StreamingOutput() {
170  @Override
171  public void write(OutputStream output) throws IOException, WebApplicationException {
172  try {
173  RDF4J_20.SPARQLqueryOutputFileOS(ConfigProperties.getPropertyParam("repository"),
174  ConfigProperties.getPropertyParam("ts_server"), QUERY_FINAL, FORMAT_FINAL, output);
175  } catch (Exception e) {
176  }
177  }
178  };
179  // get output
180  return Response.ok(stream).header("Content-Type", CONTENT_TYPE).build();
181  } catch (Exception e) {
182  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.SparqlResource"))
183  .header("Content-Type", "application/json;charset=UTF-8").build();
184  }
185  }

References Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

Exception