質問があります:
SPARQL エンドポイントは、一部のデータセットに対する SPARQL クエリに応答する Web サービスであることを Web で読みました。
また、トリプルストアでデータをクエリするメソッドを持つWebサービスを実現できることも読んだので、SPARQLエンドポイントがあります。それはそうです?
私は Jena TDB Triple Store を使用していますが、私の質問は次のとおりです。
Web サービスのみを使用する場合、SPARQL エンドポイント パブリック (dbpedia.org/sparql など) を実現するにはどうすればよいですか?
私はGlassfish4.0でNetbeansを使用しています。これが私のコードです:
@WebService(serviceName = "query_ws")
@Stateless()
public class query_ws {
String directory = "C:\\jena\\tdb";
@WebMethod(operationName = "query")
public String query(@WebParam(name = "strquery") String strquery){
String results = queryTDB(strquery, directory);
return results;
}
public String queryTDB(String queryStr, String directory) {
Dataset dataset = TDBFactory.createDataset(directory);
Query query = QueryFactory.create(queryStr);
QueryExecution qexec = QueryExecutionFactory.create(query, dataset);
qexec.getContext().set(TDB.symUnionDefaultGraph, true);
ResultSet results = qexec.execSelect();
String strings = ResultSetFormatter.asText(results);
qexec.close();
return strings;
}