Мне нужно запросить онтологию из 70 000 троек, используя кунжут на Android. Все эти проблемы были решены путем создания парсера и последующего его использования. Теперь возникла та же проблема с запросом SPARQL, которую я разместил здесь. Как сделать запрос в Sesame openrdf, используя SPARQL в Android?
Как добавить файл онтологии в rdf sesame на Android?
Ответы (1)
UnsupportedRDFFormatException
указывает, что синтаксический анализатор RDF/XML не может быть обнаружен. Это означает, что фактическая банка (sesame-rio-rdfxml.jar
, если вы используете отдельные файлы jar Sesame, или просто openrdf-sesame-onejar-2.7.11.jar
, если вы используете дистрибутив onejar) не может быть обнаружена. Чтобы исправить это, убедитесь, что в вашем пути к классам присутствуют необходимые файлы jar.
Другая возможная причина заключается в том, что синтаксический анализатор находится на самом деле в вашем пути к классам, но не может быть загружен. Sesame использует интерфейс поставщика услуг Java (SPI) для динамической загрузки анализатора. Это, в свою очередь, требует наличия файла META-INF/services/org.openrdf.rio.RDFParserFactory
в файле jar. Если вы каким-то образом переупаковали официальный jar-файл дистрибутива Sesame и удалили или изменили этот файл, Sesame не сможет найти парсер. Дополнительную информацию см. в документации по Android в ServiceLoader.