1

Тема: SemWeb для базы знаний

Есть проект, задача которого - структурировать информацию о сельхозкультурах, их болезнях, вредителях, методах борьбы с ними и т.п.
Информация вся есть, в виде баз Paradox. Всё в ужасном виде - несколько тысяч таблиц smile
Моя задача это всё привести в приличный вид и написать софт (веб, на платформе .NET), который будет предоставлять UI для этих данных (просмотр информации, возможно какие-то запросы более-менее сложные).

Я поудмал, что здесь может пригодитсья Semantic Web. Т.е. есть мысль какую-то онтологию сочинить и скинуть всё это в triple-store.

Мучает два вопроса.

1. Вообще разумно ли для такого рода задач использовать Semantic Web?

2. С чего начать? Теории скурил немеряно (включая книги Semantic Web for working ontologist и Handbook on ontologies). Пробовал пользовать разный софт типа Protege... Но не хватает всё равно базовых умений... С чего начать создание онтологии?

Отредактировано surmenok (2010-11-05 20:43:59)

Thumbs up Thumbs down

2

Re: SemWeb для базы знаний

Tutorial по Protege читал?

3

Re: SemWeb для базы знаний

Читал. Но что-то тамошний пример с пиццей не особо помог понять суть вопроса sad

Thumbs up Thumbs down

4

Re: SemWeb для базы знаний

Что конкретно непонятно в туториале? Ребята его специально писали в расчете на новичков.
Что касается твоей задачи - посмотри на Pelorus. Насколько я помню по работе в C&P, это дело писалось для очень похожей задачи - навигации по сложным, многомерным данным (тогда оно называлось jSpace).

Отредактировано PavelK (2010-11-05 22:55:57)

5

Re: SemWeb для базы знаний

отобразите на триплетную модель RDF содержимое ваших табличек. (простенькую программку для конвертации надо написать)

реверс инжиниринг даст вам схему или схемы баз-данных, отобразите их один к одному на схему RDF (или в будущем на другой формализм);

таким образом будут и данные и схема в соответствующем формате для  SW

Кроме того читайте http://semanticfuture.net/index.php?tit … 0%BA%D0%B5

6

Re: SemWeb для базы знаний

Что конкретно непонятно в туториале? Ребята его специально писали в расчете на новичков.

Туториал скорее о том, как пользоваться Protege, а не о том, с чего начинать и как делать онтологическую работу sad

Я сейчас взял кусок предметной области и набросал нечто в Visio:

http://indigo.betacode.ru/myfiles/agroontosketch1.png

Красным выделил те сущности, которые я стопроцентно к индивидуалам отношу smile
Дальеш размышляю так. Смотрю, какие атрибуты есть у разных сущностей (может неверно употребляю термин сущность и он зарезервирован за чем-то специальным, если так - поправьте).
У сортов одной культуры и у сортов одного типа набор атрибутов одинаков. У культур одного типа тоже одинаковый набор атрибутов.
Из этого я делаю вывод, что надо создать классы Culture, Variety. А для того чтобы отразить тип - делаю subclass'ы (как это по-русски, подклассы?): VegetableVariety, CropVariety, VegetableCulture, CropCulture, предполагая, что каждому из них задам свой набор атрибутов (и какие-то общие атрибуты они будут наследовать от Variety/Crop).
Для болезней делаю класс Disease.
Далее пытаюсь отразить связь между сортами и болезнями. В связи участвует 3 объекта: болезнь, сорт, степеньстойкости (целое число). Можно ли это задать атрибутом? Я в примерах видел только атрибуты, связывающие 2 объекта. Поэтому делаю не атрибутом, а тоже объектом (класс VarietyDiseaseResistance с 3 атрибутами).
Получается вот такая картинка в итоге:

http://indigo.betacode.ru/myfiles/agroonto1.png

Какие ошибки я допускаю?

Thumbs up Thumbs down

7

Re: SemWeb для базы знаний

Shcherbak пишет:

отобразите на триплетную модель RDF содержимое ваших табличек. (простенькую программку для конвертации надо написать)

реверс инжиниринг даст вам схему или схемы баз-данных, отобразите их один к одному на схему RDF (или в будущем на другой формализм);

Спасибо, попробую. Правда исходная БД настолько криво спроектирована, что в таком виде я бы эту схему данных использовать не хотел smile В любом случае её надо приводить в порядок.

Я хочу сначала продумать нормальную схему данных, а потом уже переносить в неё данные.

Thumbs up Thumbs down

8

Re: SemWeb для базы знаний

Насчет n-арных отношений:
Да, в OWL это проблема. Некоторые workaround'ы описаны в Defining N-ary Relations on the Semantic Web