Я бегу через разные файлы .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>