Тема: Вывод в Jena

Как правильно делать вывод в Jena?
Я делаю так:

RDFWriter wr = m.getWriter("RDF/XML-ABBREV");
Writer out = new StringWriter();
wr.write(m, out, "http://www.glossary.ru/owl/ontology#");

Выдает ошибку, на последнюю строчку:

StringIndexOutOfBoundsException occured : String index out of range: 49 

Выходной файл 350.000 строк.
И вообще, идеологически верно делать такие большие онтологии? или онтология это нечто небольшое до 1000 триплетов?

Отредактировано nizsheanez (2011-05-18 06:13:52)

Thumbs up Thumbs down

2

Re: Вывод в Jena

Онтологии есс-но могут быть более 1000 триплетов,
но лучше конечно строить модульные онтологии. мы уже на форуме обсуждали их...
Это поможет http://forum.semanticfuture.net/viewtopic.php?id=118

3

Re: Вывод в Jena

Мммм... теперь надо придумать как бы распилисть эти 350.000 строк. Ааа! Наверняка в Jena есть алгоритмы извлечения модулей для определенного "множества запросов"(правильное название забыл.. терминологическое пространство, что ли...). Наверное ими и стоит воспользоваться? Верно думаю?

А что насчет ошибки этой?

Thumbs up Thumbs down

4

Re: Вывод в Jena

верно.
не уверен что с текстового файла большого размера jena способна выбрать триплеты и построить по ним модель (с mysql в паре может). В протеже есть с этим подобные проблемы.
Если вылетает из за нехватки памяти в java, то модель построить в jena может и не получится.
а что дебаггер говорит при прохождении этой строки? 
на выборке меньшего размера (например в 100 раз) работает или также вылетает за пределы индекса?

5

Re: Вывод в Jena

StringIndexOutOfBoundsException - точно не проблемы с памятью, надо дебажиться.

Если же появится OutOfMemoryError на крупных онтологиях, то можно поиграться с ключами командной строки (-Xmx, ...), или соответствующими настройками среды, откуда у вас Java запускается.

6

Re: Вывод в Jena

На 305.000 строк работает, а на 306.000 падает. Но ругается он, не когда модель строит, а когда выводит в файл. Writer падает.

Thumbs up Thumbs down

7

Re: Вывод в Jena

на какой хоть версии java это происходит?

8

Re: Вывод в Jena

java -version: 1.6.0_24

Код я написал, с дебагером - проблемы, сложно объяснить, в общем я их сам себе создал, поэтому пока временно не могу дебагером пользоваться.

Надо копаться, как в Play framework использовать дебагер. Я вообще до сих пор не понял почему он работает(магия какая-то).

Thumbs up Thumbs down

9

Re: Вывод в Jena

просто интересно чего решил ты занятся Play Framework?

Это ж для веб приложений? и jena запускается в контексте вебсервера?

и writer вылетает на реальном веб-сервере? или когда выполняется через среду разработки?

10

Re: Вывод в Jena

Да, вот тоже блин думаю щас чего это я. Просто когда начинал думал, что нужно будет веб-интерфейс, и Play мне в этом поможет, да и вообще в контексте веба я к онтологиям подходил(я на PHP - вообще пишу в основном, на 2-х фреймворках). Поэтому что нашел, то и взял. Ну, похоже придется отказаться от Play, благо там на нем ничего не завязано вообще.
Если честно я в начале вообще Spring использовал, но почти сразу отказался, увидев, что он вместо помощи только головной боли добавляет.
В общем, вы правы надо линять на сервер обычный, нормальный.

Thumbs up Thumbs down

11

Re: Вывод в Jena

Добрый день!
Подскажите пожалуйста неопытному программисту smile Столкнулась со следующей проблемой. Есть онтология, содержащая некоторые классы другой, импортированной онтологии. Как с помощью Jena общаться с этими классами? На сколько я понимаю, обычным способом доступ к ним не получить.
Заранее благодарю  smile

Thumbs up Thumbs down