package org.nextprot.api.rdf.service;
import java.util.List;
import org.nextprot.api.commons.utils.SparqlResult;
import org.springframework.beans.factory.annotation.Value;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.sparql.resultset.ResultsFormat;
public interface SparqlService {
/**
* Execute a SPARQL search query
*
* @param query
*/
List<String> findEntries(String sparql, String sparqlEndpointUrl, String queryTitle);
/**
* Executes a SPARQL query without any cache
*
* @param queryString
* @param sparqlEndpoint
* @param queryTitle
* @return
*/
List<String> findEntriesNoCache(@Value("sparql") String queryString, @Value("sparqlEndpoint") String sparqlEndpoint, @Value("sparqlTitle") String queryTitle, @Value("testId") String testId);
/**
* Proxy
*
* @param sparql
* @param sparqlEndpointUrl
* @param queryTitle
* @return
*/
public SparqlResult sparqlSelect(@Value("sparql") String sparql, @Value("sparqlEndpoint") String sparqlEndpointUrl, @Value("timeout") int timeout, @Value("sparqlTitle") String queryTitle, @Value("testId") String testId, ResultsFormat format);
QueryExecution queryExecution(String query);
}