Я пытаюсь загрузить файл Turtle в Android studio и использовать библиотеку Androjena для выполнения запросов к файлу Turtle.Я могу сделать это в Eclipse с JavaFX без проблем.Тем не менее, в Intellij IDE я получаю ФАТАЛЬНУЮ ошибку, которая явно вылетает из моего приложенияУ меня есть метод runQuery (), который вызывается для запуска запроса к файлу:
public String runQuery(){
String stringQuery = "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n" +
"PREFIX dbo: <http://dbpedia.org/ontology/> \n" +
"SELECT ?birthDate WHERE { \n" +
"?barack foaf:name \"Barack Obama\"@en .\n" +
"?barack dbo:birthDate ?birthDate \n" +
"}";
String answer = "";
Model model = FileManager.get().loadModel("sample_pres.ttl", "TTL");
Query query = QueryFactory.create(stringQuery);
try {
QueryExecution qexec = QueryExecutionFactory.create(query, model);
ResultSet results = qexec.execSelect();
while(results.hasNext()) {
QuerySolution soln = results.nextSolution();
Literal answerLiteral = soln.getLiteral("birthDate");
answer = answerLiteral.toString();
}
}
catch(Exception ignore) {
}
this.answer = answer;
return answer;
}
Строка кода, вызывающая проблемы, - FileManager.get (). LoadModel ()линия.Вот исключение, которое я получаю:
com.hp.hpl.jena.shared.NotFoundException: Not found: sample_pres.ttl
Итак, я понял, что Android не находит файл, хотя файл находится в моей папке «Активы».Я предполагаю, что я не / не могу использовать AssetManager, так как я не пытаюсь включить FileInputStream.Так что я довольно застрял на этом этапе.Вот изображение моей структуры проекта:
Я добавил папку активов в app / src / main в моей структуре проекта.Я относительно новичок в Android Studio и знаю, что в JavaFX из eclipse я мог бы просто использовать абсолютный путь к файлу для доступа к нему, и я знаю, что это, очевидно, не будет работать в Android Studio.Однако я не смог найти ни одного примера загрузки файла Turtle из локального источника в проекте Android (папка с активами) и выполнения запроса.Кажется, что каждый пример или вопрос на этом сайте касается выполнения запроса от внешней конечной точки через интернет-соединение.Так что это частично, почему я запутался.Я не уверен, как выполнить запрос из локального источника в Android-студии и ссылаться на файл Turtle из папки моих ресурсов, чтобы избежать com.hp.hpl.jena.shared.NotFoundException