2013-02-08 3 views
2

Я видел несколько примеров, где есть возможность конвертировать известные сериализации в RDF/XML, но когда формат ввода (например, XML/Turtle/N3) неизвестен, есть ли способ достижения конверсии?Преобразование любой сериализации RDF в RDF/XML

Я пишу инструмент, который получает RDF в различной сериализации (Turtle/XML/n3), но когда я называю

model.read(InputStream in, "", "") 

метода Model класса из Jena, есть исключения.

+1

Не могли бы вы рассказать подробнее? Например: 1) Пример ввода RDF, 2) как выглядит результат RDF, и 3) самое главное - какие ошибки вы получаете. Пример кода тоже был бы хорош :) – paulsm4

+0

@ paulsm4 Некоторые типичные ошибки/исключения: org.xml.sax.SAXParseException: Содержимое не допускается в прологе & java.lang.NoClassDefFoundError: antlr/TokenStream (Несмотря на то, что банка внутри путь lib и Classpath). 1) Мои входящие сообщения от JMS могут быть любыми RDF (XML, N3, Turtle). Мне нужно конвертировать любые входящие сообщения в RDF/XML во всех случаях. –

ответ

3

Это поток ввода - вы должны сообщить ему формат. model.read(in, base, "TURTLE"). Он не нюхает поток. Вы можете сделать последовательность model.read каждый внутри try-catch, пока вы не создадите исключение.

+0

Это решение от AndyS, похоже, работает, но каковы компромиссы с точки зрения производительности. Например. если у меня есть список lang (Turtle, XML, N3) & i итерации по нему, чтобы каждый раз создавать модель, если я не получу ее. –