Как я могу реализовать публичную конечную точку SPARQL, если я использую только веб-сервис

У меня вопрос:

Я читал в Интернете, что конечная точка SPARQL - это веб-служба, которая отвечает на запросы SPARQL для некоторого набора данных.

Я также прочитал, что могу реализовать веб-сервис, у которого есть метод, который запрашивает данные в тройном хранилище, и поэтому у меня есть конечная точка SPARQL. Это верно?

Я использую Jena TDB Triple Store, и мой вопрос:

Как я могу реализовать публичную конечную точку SPARQL (например, dbpedia.org/sparql), если я использую только веб-сервис?

Я использую Netbeans с Glassfish4.0, и это мой код:

@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;
    }

1 ответ

Решение

Apache Jena Fuseki - сервер SPARQL проекта Jena.

Вы можете использовать его как автономный сервер, или как библиотеку сервлетов, или вы можете извлечь нужный код из исходного кода.

Другие вопросы по тегам