Ciao a tutti,
sapreste darmi una mano nell' effettuare una query sparql con jena?
Io ho provato in questo modo ma niente:
Allora dando un'occhiata cosa mi suggerireste?codice:StringBuffer sparqlQueryBuffer=new StringBuffer(); sparqlQueryBuffer.append(URLEncoder.encode("PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> SELECT ?istanze WHERE { ?istanze a dbpedia-owl:Game }", "UTF-8")); sparqlQueryString = sparqlQueryBuffer.toString(); //A partire dalla stringa precedente creo la query vera e propria Query query = null; try{ query = QueryFactory.create(sparqlQueryString); output.write(query.toString()); output.flush(); } catch(Exception e){ output.write("Eccezione nella creazione della query: " + sparqlQueryString); output.flush(); e.printStackTrace(output); } //Executing SPARQL Query and pointing to the DBpedia SPARQL Endpoint //Faccio eseguire la query ad ARQ //Dovrei usare il metodo .createServiceRequest QueryEngineHTTP qExec1 = QueryExecutionFactory.createServiceRequest("http://it.dbpedia.org/sparql", query); //Create a service request for remote execution over HTTP. The returned class, QueryEngineHTTP, allows various HTTP specific parameters to be set. ---> Creazione di una richiesta di servizio per l'esecuzione remota su HTTP. La classe restituita, QueryEngineHTTP, permette di impostare diversi parametri specifici HTTP. //o il metodo .sparqlService? //QueryExecution qExec2 = QueryExecutionFactory.sparqlService("http://it.dbpedia.org/sparql", query); //Create a QueryExecution that will access a SPARQL service over HTTP. ---> Creazione di un QueryExecution che accederà a un servizio SPARQL su HTTP. //((QueryEngineHTTP)qExec2).addParam("timeout", "10000"); //Retrieving the SPARQL Query results //Ottengo il risultato della query di tipo SELECT ResultSet results = qExec1.execSelect(); ResultSetFormatter.out(System.out, results, query); //Iterating over the SPARQL Query results while (results.hasNext()) { QuerySolution solN = results.nextSolution(); //Stampo uno per volta tutti i risultati della query output.write(solN.toString()); output.flush(); } //Libero le risorse legate all'oggetto della classe QueryExecution che sono state utilizzate per eseguire la query qExec1.close();
Attendo vostre notizie...a presto!!!

Rispondi quotando

non mi visualizza niente.
