Невозможно выполнить запрос SPARQL в Java (исключение в методе QueryExecution .execSelect ()) - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь выполнить запрос SPARQL в JAVA, но получаю исключение в методе .execSelect ()

Я использую Apache Jena для выполнения запроса.Зависимости, которые я добавил в pom.xml:

<dependency>
  <groupId>org.apache.jena</groupId>
  <artifactId>apache-jena-libs</artifactId>
  <type>pom</type>
  <version>3.0.0</version>
</dependency>

<dependency>
  <groupId>org.apache.jena</groupId>
  <artifactId>jena-text</artifactId>
  <version>3.0.0</version>
</dependency>

Код (этот запрос прекрасно работает на Virtuoso SparQL Query editor ) Я пытаюсь установить

String queryStr = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + 
            "PREFIX dbr: <http://dbpedia.org/resource/>\n" + 
            "SELECT ?uri ?label \n" + 
            "    WHERE {?uri  <http://purl.org/dc/terms/subject> ?categories .\n" + 
            "?categories rdfs:label ?label\n" + 
            "    FILTER (?uri = dbr:Holy_Roman_Empire || ?uri = dbr:Part-of-speech_tagging || ?uri = dbr:Alt-Berlin || ?uri = dbr:Named-entity_recognition)\n" + 
            "    FILTER (lang(?label) = 'en' || lang(?label) = 'de')\n" + 
            "}\n" + 
            "ORDER BY DESC(?uri)";

        Query query = QueryFactory.create(queryStr); 
        QueryExecution qExe = QueryExecutionFactory.sparqlService( "http://dbpedia.org", query );
        ResultSet results = qExe.execSelect();
        ResultSetFormatter.out(System.out, results, query) ;

Исключение, которое я получаю в qExe.execSelect ();is

Исключение в потоке "main" java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.format (Ljava / lang / Iterable; Ljava / nio / charset / Charset;) Ljava / lang / String;

Мне не хватает какой-то зависимости?

...