Sparql - выберите запрос в качестве входного и преобразовать его в запрос "Построить". - PullRequest
0 голосов
/ 29 июня 2018

Я делаю небольшое задание на Спаркла и Йену По сути, мне нужно написать код, который принимает любой запрос «выбор» в качестве входных данных и преобразует его в запрос «Построить».

Это должно быть сделано через Java Code.

У меня хорошее понимание запросов "select" и "construct". Но эта задача меня смущает. Я делаю простой запрос sparql только. Кто-нибудь может мне помочь с этим?

    // Select films and actors that appeared leonardo di caprio films // 

    "Prefix dbo: <http://dbpedia.org/ontology/>"
                + "Prefix dbr: <http://dbpedia.org/resource/>"
                + "select ?film ?actor where {\r\n" + 
                "\r\n" + 
                "?film a dbo:Film .\r\n" + 
                "?film dbo:starring ?actor.\r\n" + 
                "?film dbo:starring dbr:Leonardo_DiCaprio\r\n" + 
                "\r\n" + 
                "}";

String service1 = "https://dbpedia.org/sparql"; // for select query 

Query query = QueryFactory.create(query1); 

        QueryExecution qe = QueryExecutionFactory.sparqlService(service1,
                query);

         ResultSet results = qe.execSelect(); 




         while (results.hasNext()){
             QuerySolution s=results.nextSolution();
             System.out.println(s);  

         }

Выходные данные будут отображать результаты для запроса select, но для этой задачи я хочу написать java-код, который принимает любой запрос «Select» в качестве входных данных и преобразует его в запрос «Construct» (не результат). Запрос конструкции должен отображаться в выводе, например.

OUTPUT:

Construct {?actor <Mov:Starring> ?film.}
Where {
?film a dbo:Film . 
?film dbo:starring ?actor.
?film dbo:starring dbr:Leonardo_DiCaprio
}

Есть ли способ сделать это. Кто-нибудь может мне помочь?

...