Используйте Jena для написания JSON-LD

Ранее я использовал Jena 2.11.0 и jsonld-java для сериализации модели Jena в JSON-LD. В этом случае мне нужно было позвонить

JenaJSONLD.init();

чтобы использовать

OutputStream os = new ByteArrayOutputStream();
model.write(os, "JSON-LD");

что все получилось нормально. Теперь я обновился до Jena 2.12.1, которая, как говорят, имеет встроенную поддержку JSON-LD. Однако приведенный выше код вызывает

com.hp.hpl.jena.shared.NoWriterForLangException: JSON-LD

Что мне нужно сделать в Jena 2.12, чтобы получить ту же инициализацию записи, что и в 2.11 и jsonld-java? Я заметил, что jsonld-java 0.5 является зависимостью jena-arq, но не jena-core. Я не использую arq, поэтому я добавил jsonld-java в свои зависимости проекта.


person Nils Weinander    schedule 07.01.2015    source источник


Ответы (1)


Используйте джена-арк. Последние синтаксические анализаторы также охватывают такие функции, как наборы данных, которые (по устаревшим причинам) существуют в ARQ.

(Как вы заставили что-то работать для 2.11.0 без jena-arq в пути к классам, для меня довольно неожиданно.)

person AndyS    schedule 07.01.2015
comment
Спасибо! Я даже наконец заставил его работать с Jena 2.12.1 и jsonld-java-jena 4.1. Но с включенным jena-arq будет model.write(os, JSON-LD); работать без дальнейшей инициализации? - person Nils Weinander; 08.01.2015
comment
1/Попробуй! 2/ Да. Инициализация автоматическая (хорошая причина для переноса ее в саму Йену) - person AndyS; 08.01.2015