Поддержка больших онтологий в редакторе Protege…

, , , | Shcherbak Sergey | 12.05.2010 | 3 комментария


Protege является одним из наиболее популярных редакторов онтологий на сегодняшний день. Но вот, когда необходимо открыть онтологию размером несколько десятков мегабайт, молчу о гигабайтах вообще, protege отказывается это делать. Оказывается это не ограничение Protege, как программы, это ограничение, устанавливаемое настройками виртуальной машины java. По умолчанию, установлено выделять 512 мб ОЗУ. Естественно, когда вы разрабатываете какую-то персональную онтологию, то этого значения хватит с головой, но иногда необходимо работать с большими промышленными онтологиями, такими как NCI, DOLCE, тогда необходимо изменить следующие настройки (MacOS X, Linux):

В папке, где установлен protege необходимо найти файл:

для Protege версии 3.4.x

run_protege.sh

и изменить в разделе JVM Options параметр MAXIMUM_MEMORY

# ——————- JVM Options ——————-

MAXIMUM_MEMORY=-Xmx2000M

OPTIONS=$MAXIMUM_MEMORY

для Protege версии 4.x:

run.sh

и изменить значение параметра Xmx на необходимое

java ${CMD_OPTIONS} -Xmx2000M

Ключ -Xmx определяет максимально выделяемую память виртуальной машины Java. Это значение, например, вместо 2 гиг, как в примере, можно установить равным 4 (4000M).

И конечно же, хочу отметить, что указывать необходимо количество реальной памяти  ОЗУ, которое установлено в вашей системе и еще чуть-чуть необходимо оставить операционной системе. В любом случае, перед загрузкой онтологии в protege, узнайте на сайте разработчика сколько необходимо оперативной памяти, чтобы с этой онтологией работать.

Врезка: 4ГБ ОЗУ это для онтологий небольших и средних. Большие онтологии требуют от 7ГБ оперативки и выше. На 4Гб мне удалось загрузить онтологию размером более 50MB. А Вам?

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

PS. Повторюсь рекомендации даны для Protege, который установлен на Linux или MacOSX. Для windows аналогичные манипуляции проводим с файлами с расширением bat.


Понравилась статья? Поделитесь с друзьями!


3 Responses to Поддержка больших онтологий в редакторе Protege…

  1. О, как раз обсуждалось недавно на нашем форуме SemanticFuture.net — «Protege и большие онтологии».

  2. ага, как раз под впечатлением писалось

  3. tester:

    Просто открыть и посмотреть получилось файл в 150 Мб на 1 Гб оперативной памяти и 4 Гб подкачки. Ждал долго, минут 20, но всё открылось, нашёл в иерархии классов, отображённой в Protege нужный родительский класс и посмотрел структуру его потомков.

    Для оптимизации поступил так — отключил все представления кроме самой иерархии классов (может это и не повлияло). Ещё предварительно удалил из онтологии все ненужные мне аттрибуты (речь об онтологии книг конгресса США на id.loc.gov), а именно (из 12-15 подэлементов узла rdf:Description):
    dcterm:created
    dcterm:source
    dcterm:modified
    skos:boader
    skos:inShceme
    skos:perfLabel
    skos:altLabel
    skos:editoralNote
    … и так далее.
    удалил почти все, кроме 3-х:
    skos:perfLabel
    rdf:type
    owl:sameAs

    Собственно после этого схема получила свой малый размер, а изначально 375 Мб мне бы никак не открыть.
    Удалял под виндой, с помощью findstr в несколько итераций, до тех пор пока Protege не открыла файл.
    Алгоритм такой:
    1. Выбрать менее значимый аттрибут, который можно удалить (например, dcterm:created)
    2. Удалить его из схемы:
    findstr /U «dcterm:created» lcsh20081112.rdf > lcsh_01.rdf
    3. Попробовать открыть в Protege облегчённый файл lcsh_01.rdf, если не получилось, то повторить операцию для файла lcsh_01.rdf, сохранив результат в очередной файл lcsh_02.rdf, …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Ответить с помощью ВКонтакте: