package eu.play_project.play_platformservices.api; import java.util.List; import javax.jws.WebService; import eu.play_project.play_platformservices.jaxb.Query; /** * Accepts a BDPL query to decompose. * * @author Stefan Obermeier * @author Roland Stühmer */ @WebService public interface QueryDispatchApi { /** * To register a query with the PLAY platform. * * @param queryId * An HTTP URI as an identifier for the query. * @param query * EP-SPARQL query. */ public String registerQuery(String queryId, String epSparqlQuery) throws QueryDispatchException; /** * To unregister a query from the PLAY platform. * * @param queryId * An HTTP URI as an identifier for the query. */ public void unregisterQuery(String queryId); /** * To get details about a query. This operation does not register the query * and can be used to do checks on the query before registering. * * @throws QueryDispatchException if the query contains errors */ public QueryDetails analyseQuery(String queryId, String query) throws QueryDispatchException; /** * Get a registered query identified by its query ID which was used when * registering it. * * @throws QueryDispatchException if there is no query for the given ID */ public Query getRegisteredQuery(String queryId) throws QueryDispatchException; /** * Get all currently registered queries. */ public List<Query> getRegisteredQueries(); }