1
我正在使用Jena API從Allegrograph Server獲取RDF數據。我已經使用Jersey jar編寫了一個REST web服務來獲取這些數據。Jena API和使用澤西島的REST webservice
我對web服務的Java代碼如下所示:
@GET
@Path("/JENA")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public String getData() throws RepositoryException {
AGGraphMaker maker = new AGGraphMaker(conn);
AGGraph graph = maker.getGraph();
AGModel model = new AGModel(graph);
AGQuery agQuery = AGQueryFactory.create(query);
QueryExecution qe = AGQueryExecutionFactory.create(agQuery, model);
String result = null;
ByteArrayOutputStream byteArrayOutputStream = null;
try {
ResultSet rs = qe.execSelect();
While(rs.hasNext()){
byteArrayOutputStream = new ByteArrayOutputStream();
if("JSON".equalsIgnoreCase(outputFormat)){
ResultSetFormatter.outputAsJSON(byteArrayOutputStream, rs);
result = byteArrayOutputStream.toString();
System.out.println("Result is "+result);
} else if("XML".equalsIgnoreCase(outputFormat)){
ResultSetFormatter.outputAsXML(byteArrayOutputStream, rs);
result = byteArrayOutputStream.toString();
}else if("CSV".equalsIgnoreCase(outputFormat)){
ResultSetFormatter.outputAsCSV(byteArrayOutputStream, rs);
result = byteArrayOutputStream.toString();
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
我沒有得到任何結果SPARQL查詢,當我部署Tomcat服務器上這個Web服務,並使用在Chrome和Firefox的REST客戶端應用程序進行測試。
但是相同的代碼(在webservice代碼和這個主要方法代碼中完全沒有區別)如果我在普通的java類中編寫並運行它的主要方法,我得到36個結果。我不確定問題是什麼。
請在這方面幫助我。