Не удается получить результаты запроса CONSTRUCT - PullRequest
0 голосов
/ 28 марта 2019

Я бегу через разные файлы .ttl и выполняю запрос для извлечения необходимой информации. Мне нужен результат в формате .rdf. Запрос отлично работает с оператором SELECT, показывая все результаты, но когда я перехожу на CONSTRUCT, он не показывает результаты.

Как я также вижу, в queryExecute нет функции hasNext (). Как создать часть while / hasNext с помощью queryExecute?

while (resultat.hasNext()) {
QuerySolution sol=resultat.nextSolution();
System.out.println(sol); 

Код следующий:

Model m2 = FileManager.get().loadModel(files[i].getAbsolutePath());
String queryString = "PREFIX mus: <http://data.doremus.org/ontology#>"
+ "PREFIX ecrm: <http://erlangen-crm.org/current/>"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/>"
+ "PREFIX efrbroo: <http://erlangen-crm.org/efrbroo/>"
+ "CONSTRUCT {?F22_Self_Contained_Expression ?composerName       ?catalogueNumber}"
+ "WHERE {"
+ "?F22_Self_Contained_Expression mus:U16_has_catalogue_statement/mus:U41_has_catalogue_number ?catalogueNumber."
+ "?F28_Expression_Creation efrbroo:R17_created ?F22_Self_Contained_Expression;"
+ "ecrm:P9_consists_of/ecrm:P14_carried_out_by/ecrm:P131_is_identified_by ?composerName."
+ " }";


Query query = QueryFactory.create(queryString);
QueryExecution qexec= QueryExecutionFactory.create(query, m2);
Model resultModel = qexec.execConstruct();
qexec.close();

String outfile = "/outfile.rdf";
OutputStream out = new FileOutputStream(outfile);
RDFDataMgr.write(System.out, resultModel, Lang.RDFXML);

Что я получаю в результате этого запроса:

</rdf:RDF>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:efrbroo="http://erlangen-crm.org/efrbroo/"
xmlns:cro="http://rhizomik.net/ontologies/copyrightonto#"
xmlns:schema="http://schema.org/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:mus="http://data.doremus.org/ontology#"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:time="http://www.w3.org/2006/time#"
xmlns:ecrm="http://erlangen-crm.org/current/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:prov="http://www.w3.org/ns/prov#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
</rdf:RDF>
...