Онтологии в компьютерных системах
От: Лапшин Владимир Анатольевич Россия  
Дата: 23.07.10 13:06
Оценка: 451 (11) -1
Статья:
Онтологии в компьютерных системах
Автор(ы): Лапшин Владимир Анатольевич
Дата: 23.07.2010
В статье обсуждаются вопросы, связанные с ролью онтологий в современных компьютерных системах. Рассматриваются различные аспекты применения онтологий для улучшения качества информационного поиска, а также для систематизации. Рассмотрены принципы, лежащие в основе языков описания семантики Web RDF и OWL. В статье также дано описание принципов, лежащих в основе языков RDF и OWL.


Авторы:
Лапшин Владимир Анатольевич

Аннотация:
В статье обсуждаются вопросы, связанные с ролью онтологий в современных компьютерных системах. Рассматриваются различные аспекты применения онтологий для улучшения качества информационного поиска, а также для систематизации. Рассмотрены принципы, лежащие в основе языков описания семантики Web RDF и OWL. В статье также дано описание принципов, лежащих в основе языков RDF и OWL.
Re: Онтологии в компьютерных системах
От: pro-nov  
Дата: 24.07.10 00:53
Оценка: -2
статья уныла. уныла не авторски. уныла идейна.

мечтатели из в3ц могут строить коварные планы относительно семантик веба. но в этих планах нет ни коварства, ни плана. сколько лет этой тупиковой идее? десяток лет. но результата нет. и не будет.

основные проблемы достаточно просты. они не понятны только фанатичным фанатам претендующем на элитность.

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

б. распределенная информация — это бред. кто делал файловый сборник-архив знает. внешние ссылки будут мертвы рано или поздно. лучший вариант представляет агрегация на собственном движке. путем полного скачивания данных.

в. логика описаний хороша. когда ей не пытаются решить все проблемы. ориентация на классификацию никому не нужна. нужна работа с большим количеством индивидуалов. в3ц этого не понимает.

пока в3ц тешат свое самолюбие реально будут работать только проекты которые

а. используют собственные форматы. в идеале без идиотского слова 'онтология' [философы негодуэ]. или пряча его внутри
б. собирают всю информацию в одном месте.
в. способгы быстро работать с большим количеством объектов

пример сразу вспоминаем. фрибейз.ком от метавеб.ком. реально работающий проект без техноматематикодрочества.
учитесь! гугл не дурак. знает что покупать.

а старперов из в3ц пора отправить на свалку.
marazm starper w3c owl rdf ontology
Re[2]: Онтологии в компьютерных системах
От: Pirsig  
Дата: 24.07.10 06:10
Оценка:
Здравствуйте, pro-nov, Вы писали:

PN>статья уныла. уныла не авторски. уныла идейна.


PN>мечтатели из в3ц могут строить коварные планы относительно семантик веба. но в этих планах нет ни коварства, ни плана. сколько лет этой тупиковой идее? десяток лет. но результата нет. и не будет.


PN>основные проблемы достаточно просты. они не понятны только фанатичным фанатам претендующем на элитность.


PN>а. рдф — фантастическое убожество. неудобно как практически (история с рсс наилучшее доказатальство). так и теоретически (над известной проблемой и-или ржали все бегемоты, а описание погружения оул в рдф это аццкий ад). это было желание полизать одно место в3ц. смелости не хватило построить оул на нормальных вещах. эт прогиб только убил идею, которая хоть как-то изначально была в дамл-ойл.


Интересно. Можно подробней про убожество рдф?
Re[2]: Онтологии в компьютерных системах
От: Aquary Россия https://wmspanel.com/
Дата: 25.07.10 23:27
Оценка:
Здравствуйте, pro-nov, Вы писали:

PN>пример сразу вспоминаем. фрибейз.ком от метавеб.ком. реально работающий проект без техноматематикодрочества.

PN>учитесь! гугл не дурак. знает что покупать.

Да-да... Конечно-конечно... метавеб далёк от семантических сетей и RDF с онтологиями... Прямо так сидят и свой велосипед придумывают:

Is Freebase a Semantic Web project?

Yes, Freebase is part of the Semantic Web. We emit Linked Open Data (via RDF) for all our entities, and are involved in various SemWeb projects/communities/etc.
What is your relationship with DBPedia?

see: Freebase and dbpedia
Freebase and DBPedia both extract structured data from Wikipedia and make RDF available. We are both part of the web of data and there are many connections between topics in Freebase and in DBPedia. People have also done work mapping between the two ontologies.

Differences between the two projects include:

* Freebase imports data from a wide variety of sources, not just Wikipedia, whereas DBPedia focuses on just Wikipedia data
* DBPedia is funded by grants/sponsorships from various organisations, while Freebase is sponsored by Metaweb, an incorporated company.


Читайте ФАКи.
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 26.07.10 09:49
Оценка: 4 (1)
Здравствуйте, Лапшин Владимир Анатольевич, Вы писали:

ЛВА>Статья:

ЛВА>Онтологии в компьютерных системах
Автор(ы): Лапшин Владимир Анатольевич
Дата: 23.07.2010
В статье обсуждаются вопросы, связанные с ролью онтологий в современных компьютерных системах. Рассматриваются различные аспекты применения онтологий для улучшения качества информационного поиска, а также для систематизации. Рассмотрены принципы, лежащие в основе языков описания семантики Web RDF и OWL. В статье также дано описание принципов, лежащих в основе языков RDF и OWL.


Хорошо, что Вы написали эту статью. Одно небольшое замечание:

OWL построен как расширение RDF и RDFS. Это означает, что основная конструкция – это тройка языка RDF.

Это в общем-то не так. "OWL построен как расширение RDF" строго говоря означает 2 вещи:
1. Любую онтологию в OWL можно сериализовать в виде RDF-графа (синтаксическая совместимость).
2. Модельно-теоретическая семантика этого RDF-графа будет в определенном смысле эквивалентна прямой семантике онтологии (т.е. DL-семантике). Семантическая совместимость. (translational semantics vs direct semantics). Поскольку наша группа принимает непосредственное участие в стандартизации OWL, могу сказать, что (2) — это самое проблемное и спорное место в данный момент.
Основная конструкция OWL — это все таки аксиома. Я могу создавать онтологии, ничего не зная ни об RDF, ни о триплетах, ни о синтаксисе RDF/XML.
no fate but what we make
Re[2]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 26.07.10 10:02
Оценка: 17 (1)
Здравствуйте, pro-nov, Вы писали:

PN>это было желание полизать одно место в3ц. смелости не хватило построить оул на нормальных вещах. эт прогиб только убил идею, которая хоть как-то изначально была в дамл-ойл.


Дело не в смелости. Это была чистейшая политика, в которой, к сожалению, временно победили апологеты "слоеного пирога" во главе с тяжеловесами Tim Berners-Lee и Pat Hayes. Мы (манчестер) + еще несколько вменяемых людей (Ian Horrocks, Peter Patel-Schneider, etc.) по-прежнему пытаемся оторвать OWL от RDF. Пока не получилось, но определенные надежды сохраняются (ибо семантическая совместимость реально играет роль только в OWL Full, а им все равно никто не пользуется).

PS. Могла получиться неплохая дискуссия, но твой стиль общения к ней не располагает (извини за прямоту).
PPS. Для тех, кому интересно, что может получиться, если продолжать строить логические языки на RDF, рекомендую статью Питера "Building the Semantic Web Tower From RDF Straw".
no fate but what we make
Re[3]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 26.07.10 10:08
Оценка: 2 (1)
Здравствуйте, Pirsig, Вы писали:

P>Интересно. Можно подробней про убожество рдф?


RDF — нормальный язык описания слабоструктурированных данных. Однако, в свое время для него также была разработана формальная семантика, что позволяет рассматривать его как логику. С этой точки зрения он катастрофически неудачен. При очень низкой выразительности он является NP-hard. К еще большему сожалению, его усиленно проталкивают в качестве семантической основы более выразительных языков (например, OWL), что очень сильно тормозит их развитие.
no fate but what we make
Re: Онтологии в компьютерных системах
От: Arboz Россия  
Дата: 27.07.10 06:51
Оценка: +1
Давно ждал статью посвященную этой теме, однако меня, как прикладника, она немного разочаровала.

Мне кажется, что вы немного неверно подошли к изложению материала:
возможно студентам технических вузов именно так и нужно рассказывать, сразу основываясь на теории дескрипционной логики, графов, но лучше бы в ознакомительной статье подробнее описать востребованность подобных технологий на основе множества реальных примеров.

Рассказать какие преимущества они дают. Из главы "Зачем нужно описывать содержимое Web-страницы" целостного мнения не складывается. Semantic Web — абстракный миф, причем уже довольно бородатый. А тема-то очень интересная, причем не только в контексте мифических (теоретических) понятий.

Прикладникам, как мне кажется, было бы интересно услышать (если в терминах Фаулера):
как можно построить свою модель предметной области (Domain Model), поверх RDF-графа,
как его, в свою очередь, можно использовать как единицу работы (UnitOfWork),
как, возможно, не нужен будет преобразователь данных (Data Mapper), если в качестве хранилища RDF-графа выбрать RDF-хранилище (а уже даже крупные вендоры, такие как Oracle, предоставляет RDF-Store на своей СУБД)
как использовать SPARQL (а именно в нем, как мне кажется, "вся соль") для получения RDF-графов, как с его помощью можно гибко и наглядно составлять запросы на поиск подграфов в графе,
какие уже есть наработки и бибилотеки, которые можно использовать в промышленной разработке

Может быть, это не избавило бы вас от прочтения постов типа этого
Автор: pro-nov
Дата: 24.07.10
, но интерес к самой статье возрос бы значительно.

P.S. Все, естественно, ИМХО. Никого не хотел обидеть, и в любом случае спасибо за проделанную работу.
Re[2]: Онтологии в компьютерных системах
От: mefrill Россия  
Дата: 27.07.10 07:16
Оценка:
Здравствуйте, Arboz, Вы писали:

A>Мне кажется, что вы немного неверно подошли к изложению материала:

A>возможно студентам технических вузов именно так и нужно рассказывать, сразу основываясь на теории дескрипционной логики, графов, но лучше бы в ознакомительной статье подробнее описать востребованность подобных технологий на основе множества реальных примеров.

Очень трудно в одной статье рассказать о принципах и о прикладных вещах. Вообще, по хорошему для этого надо книгу или хотя бы главу. Я в своей книжке по онтологиям выделил для описания RDF+OWL специальную главу. Цель статьи заключается в том, чтобы дать хоть какое-то представление о том, что такое онтология. Термин модный, а между тем что это такое мало кому понятно. Изложение от принципов Semantic Web конечно не актуально, но так уж исторические сложилось, что именно для этого RDF задумывался и, как мне кажется, я был обязан об этом рассказать. Плохо, что нет реальных примеров, иллюстрации технологии. В редакции мне задавали те же вопросы, что и Вы. Я поначалу задумал включить еще один раздел о технологиях использования, но по здравому размышлению пришел к выводу, что в раздел это точно не уложится, надо писать еще одну статью. Может быть, я это и сделаю на конкретном примере извлечения данных из Википедии. Что-то такое я писал пару лет назад, извлекал данные о фильмах и закачивал их в формате RDF в хранилище, затем к ним обращались с помощью SPARQL. Только я еще прикрутил поверх SPARQL похожий на русский язык шаблонов, чтобы можно было задавать вопросы на русскоподобном языке. Работу эту я забросил, но может быть ее описание будет полезным, тем более, что это направление сейчас модно, многие этим занимаются.
Re[3]: Онтологии в компьютерных системах
От: Arboz Россия  
Дата: 27.07.10 08:20
Оценка:
Здравствуйте, mefrill, Вы писали:

M>Очень трудно в одной статье рассказать о принципах и о прикладных вещах. Вообще, по хорошему для этого надо книгу или хотя бы главу. Я в своей книжке по онтологиям выделил для описания RDF+OWL специальную главу. Цель статьи заключается в том, чтобы дать хоть какое-то представление о том, что такое онтология. Термин модный, а между тем что это такое мало кому понятно.

Не понятно, потому что не ясна область применения. Так, впрочем, происходит с любым "модным" термином, после чего начинаются спекуляции в его использованием, что усугубляет положение вещей.
Если бы проверсти параллель, скажем, с предметной областью, которую строят прикладные (бизнес) разработчики, при проектировании своих систем, то это определение, наверное, заиграло бы другими красками.

M>Изложение от принципов Semantic Web конечно не актуально, но так уж исторические сложилось, что именно для этого RDF задумывался и, как мне кажется, я был обязан об этом рассказать.

Не актуально, очень спорно и может даже сразу отпровадить от прочтения статьи.
Я кстати думаю, что это основная проблема этого семейства технологий — его везде и все позицианируют под флагом "SemanticWeb" (что давно является синомимом "cферического коня в вакууме"). А на самом деле, некоторые инструменты, при должной их реализации, могли бы стоять на службе прикладных разработчиков.

M>Плохо, что нет реальных примеров, иллюстрации технологии... Что-то такое я писал пару лет назад, извлекал данные о фильмах и закачивал их в формате RDF в хранилище, затем к ним обращались с помощью SPARQL...

Ага, я как раз о таких примерах и вел речь.
Re[4]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 27.07.10 08:34
Оценка:
Здравствуйте, Arboz, Вы писали:

A>Я кстати думаю, что это основная проблема этого семейства технологий — его везде и все позицианируют под флагом "SemanticWeb" (что давно является синомимом "cферического коня в вакууме"). А на самом деле, некоторые инструменты, при должной их реализации, могли бы стоять на службе прикладных разработчиков.


Так они и стоят. Основное применение онтологий на данный момент — отнюдь не в Semantic Web (более того, не в Web вообще).
no fate but what we make
Re[5]: Онтологии в компьютерных системах
От: Arboz Россия  
Дата: 27.07.10 09:43
Оценка:
kl>Так они и стоят. Основное применение онтологий на данный момент — отнюдь не в Semantic Web (более того, не в Web вообще).
А вот это уже интереснее... Давайте примеры.
Меня даже не столько сама "онтология" интересует, сколько именно упомянутые технологии RDF, OWL, SPARQL, RDF-Store.

Просто в литературе по разработке програмных приложений нет никаких упоминаний про построение архитектуры посредством сего инструментария. Я не встречал.

Кроме Оракла, я не знаю еще промышленных вендоров, которые предоставляют RDF-хранилище с нормальной реализацией SPARQL-движка. Да и там он не соответствует полной спецификации w3c, но это мелочи.
Owlim, Sesame, Kowari и прочее, при всем уважении, не уровень промышленного использования.

Для .NET платформы вообще этого ничего нет. Нет даже стабильных минимальных библиотек для работы c графом RDF in-memory.
Re[6]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 27.07.10 10:09
Оценка: 23 (3)
Здравствуйте, Arboz, Вы писали:

kl>>Так они и стоят. Основное применение онтологий на данный момент — отнюдь не в Semantic Web (более того, не в Web вообще).

A>А вот это уже интереснее... Давайте примеры.

Онтологии популярны в приложениях для медицинской, био и химинформатики. Основное применение — управление сложными терминологиями, где важно недвусмысленное описание семантики с прицелом на интеграцию данных. У нас группа работает на Siemens Medical Solutions над подобным проектом (жаль, что проект не открытый). Вообще в мире наверное самый амбициозный проект — это следующая версия ICD (international classification of diseases). ICD-11 должна иметь вид OWL-онтологии, правда пока там очень много неясностей.

A>Меня даже не столько сама "онтология" интересует, сколько именно упомянутые технологии RDF, OWL, SPARQL, RDF-Store.


Тут я тебе не сильно помогу. Я работаю с формальными основами OWL и его расширениями в полном отрыве от RDF. SPARQL меня интересует в контексте OWL (следующая версия SPARQL должна поддерживать entailment regimes). Созданием конечных приложений я не занимаюсь.

A>Просто в литературе по разработке програмных приложений нет никаких упоминаний про построение архитектуры посредством сего инструментария. Я не встречал.


Я тоже. Но я активно и не интересовался. Видел литературу, в которой обсуждались онтологии в контексте MDA, но не впечатлило.

A>Кроме Оракла, я не знаю еще промышленных вендоров, которые предоставляют RDF-хранилище с нормальной реализацией SPARQL-движка. Да и там он не соответствует полной спецификации w3c, но это мелочи.

A>Owlim, Sesame, Kowari и прочее, при всем уважении, не уровень промышленного использования.

Virtuoso? Уровня Oracle вендоров нет, согласен. Но разница в качестве между Virtuoso и поделками вроде OWLim не так и мала.
no fate but what we make
Re[6]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 27.07.10 11:05
Оценка: 11 (2)
Здравствуйте, Arboz, Вы писали:

A>Меня даже не столько сама "онтология" интересует, сколько именно упомянутые технологии RDF, OWL, SPARQL, RDF-Store.


Кстати, забыл упомянуть. Недавно проскакивала интересная заметка о более-менее серьезном применении RDF/OWL/SPARQL при управлении контентом BBC'шного сайта о ЧМ по футболу. Не так чтобы там все было очень уж интересно, но привлекло внимание тем, что они пошли чуть дальше RDF/RDFa. Хотя и используют очень простенький фрагмент OWL (судя по OWLim и forward chaining).
Может будет интересно.
no fate but what we make
Re[4]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 27.07.10 13:06
Оценка:
Здравствуйте, kl, Вы писали:

kl>Здравствуйте, Pirsig, Вы писали:


P>>Интересно. Можно подробней про убожество рдф?


kl>RDF — нормальный язык описания слабоструктурированных данных. Однако, в свое время для него также была разработана формальная семантика, что позволяет рассматривать его как логику. С этой точки зрения он катастрофически неудачен. При очень низкой выразительности он является NP-hard. К еще большему сожалению, его усиленно проталкивают в качестве семантической основы более выразительных языков (например, OWL), что очень сильно тормозит их развитие.


Насколько я понял, вам не нравиться именно концепция rdf-троек, то есть по факту бинарность предикатов (свойств) rdf. Это так?
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[2]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 27.07.10 13:31
Оценка:
Здравствуйте, kl, Вы писали:

kl>Здравствуйте, Лапшин Владимир Анатольевич, Вы писали:


ЛВА>>Статья:

ЛВА>>Онтологии в компьютерных системах
Автор(ы): Лапшин Владимир Анатольевич
Дата: 23.07.2010
В статье обсуждаются вопросы, связанные с ролью онтологий в современных компьютерных системах. Рассматриваются различные аспекты применения онтологий для улучшения качества информационного поиска, а также для систематизации. Рассмотрены принципы, лежащие в основе языков описания семантики Web RDF и OWL. В статье также дано описание принципов, лежащих в основе языков RDF и OWL.


kl>Хорошо, что Вы написали эту статью. Одно небольшое замечание:

kl>

OWL построен как расширение RDF и RDFS. Это означает, что основная конструкция – это тройка языка RDF.

kl>Это в общем-то не так. "OWL построен как расширение RDF" строго говоря означает 2 вещи:
kl>1. Любую онтологию в OWL можно сериализовать в виде RDF-графа (синтаксическая совместимость).
kl>2. Модельно-теоретическая семантика этого RDF-графа будет в определенном смысле эквивалентна прямой семантике онтологии (т.е. DL-семантике). Семантическая совместимость. (translational semantics vs direct semantics). Поскольку наша группа принимает непосредственное участие в стандартизации OWL, могу сказать, что (2) — это самое проблемное и спорное место в данный момент.

Очень интересное обсуждение. Я давно интересуюсь технологиями SW, и уже решил попробовать применить RDF/OWL (DL) на практике.
По теме.
RDF(s) по концепции — это простейшая семантическая сеть с элементарной семантикой. Дополнительная семантика задается более продвинутым языком OWL. Я наверное многого недопонимаю, так как у меня нет серьезного опыта работы с этими технологиями, но мне всегда казалось естественным разделение реализации семантической сети на core-language (rdf) и дополнительную семантику (OWL). Семантика никак не может задаваться ВНЕ терминов семантической сети. Или может?

kl>Основная конструкция OWL — это все таки аксиома. Я могу создавать онтологии, ничего не зная ни об RDF, ни о триплетах, ни о синтаксисе RDF/XML.


Ты будешь вынужден знать о способе описания графа (сети). Без знания этого способа семантику для сети не описать. Я не представляю как может быть иначе.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[5]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 27.07.10 15:20
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Насколько я понял, вам не нравиться именно концепция rdf-троек, то есть по факту бинарность предикатов (свойств) rdf. Это так?


Нет, бинарность тут не при чем. Сам OWL (а точнее DL) по большей частью укладывается в C_2 (логика первого порядка с всего двумя переменными). Не укладывается только транзитивность свойств, но дело не в ней. Сейчас я в следующем сообщении постараюсь объяснить проблему.
no fate but what we make
Re[3]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 27.07.10 16:05
Оценка: 35 (3)
Здравствуйте, LaPerouse, Вы писали:

LP>RDF(s) по концепции — это простейшая семантическая сеть с элементарной семантикой.


Давай сначала устаканим терминологию. То, что ты называешь "простейшей сем. сетью" — обычно называется RDF-граф. RDF-граф — это просто набор триплетов. Некоторые могут включать безымянные вершины (blank nodes). Я пытаюсь избежать использования термина "семантическая сеть" в этом контексте, поскольку исторически под SN понималось нечто другое (не имеющее формальной семантики вообще).

>Дополнительная семантика задается более продвинутым языком OWL. Я наверное многого недопонимаю, так как у меня нет серьезного опыта работы с этими технологиями, но мне всегда казалось естественным разделение реализации семантической сети на core-language (rdf) и дополнительную семантику (OWL).


С одной стороны ты прав. Это и есть концепция знаменитого слоеного пирога SW. Интуитивно она нравится многим людям. Другую сторону см. ниже.

>Семантика никак не может задаваться ВНЕ терминов семантической сети. Или может?


Ситуация такова, что у OWL, в отличие от RDF, исторически есть логические основы — это т.н. дескрипционная логика (DL). DL — это некоторое подмножество логики первого порядка (FOL), ктр было специально создано для онтологий. Будучи изначально логикой, DL имеет свою естественную модельно-теоретическую семантику, которая 100% совместима с семантикой FOL. Естественно, никакого упоминания об RDF ни в FOL ни в DL нет. Онтология в DL — это просто набор аксиом (лог. утверждений). Опять таки, никаких триплетов.
Далее, OWL-онтология — это в первую очередь DL-онтология, имеющая один из синтаксисов OWL. Синтаксисов есть много: функциональный синтаксис, N3, RDF/XML, OWL/XML, манчестерский синтаксис и т.д. На семантику они не влияют абсолютно.
Однако, кроме естественной семантики OWL (direct semantics) как набора лог. утверждений в DL, есть вторая — translational semantics. Translational означает, что каждое лог. утверждение в DL сериализуется в набор RDF-триплетов (см. OWL 2 Web Ontology Language Mapping to RDF Graphs). В итоге, каждая онтология в OWL может рассматриваться как:
i) Набор лог. утверждений в DL
ii) RDF-граф, полученный в результате сериализации
Оба представления имеют свою семантику ( i) — естественную семантику DL, ii) гораздо более громоздкую семантику RDF). Семантика DL понятна всем, кто имеет дело с логикой. Семантика RDF убивает своей нестандартностью (странных деталей много, например, comprehension principles). В итоге, рабочая группа в W3C потратила нереальное количество времени, чтобы гарантировать _семантическую_совместимость_. Т.е. все, что логически вытекает из DL-онтологии, должно логически вытекать из полученного RDF-графа и наоборот.
Это серьезные мучения, которые аргументировались тем, что, мол, любое приложение должно выбирать, работать с онтологией через DL или RDF и разницы быть не должно. Мы считаем, что это не стоит тех усилий, поскольку приложения, созданные для работы с OWL-онтологиями *всегда* используют средства, понимающие естественную семантику (а именно — системы лог. вывода для DL: Pellet, HermiT, FaCT++ и т.д.). Приложения, работающие только с RDF, не работают с OWL-онтологиями в виде RDF-графов все равно (за исключением простейших сервисов, типа сериализовать онтологию в файл и т.д.). Они работают просто с данными в RDF (например, через SPARQL), не являющимися сериализациями OWL-онтологий. По-крайней мере, серьезных примеров этого мы так и не видели.

Есть и другие аргументы против поддержки совместимости между direct и translational semantics. Peter Patel-Schneider аналитически показал, что будет, если продолжить развивать логики как расширения RDF. В один прекрасный момент мы *неизбежно* приходим к логике, которая безнадежно противоречива (т.е. противоречие является логическим следствием *пустого* набора лог. утверждений). Мы до сих пор не знаем, находится этот момент до OWL Full или после (поскольку OWL Full неразрешим, системы лог. вывода могут не дать ответ на этот вопрос, а аналитически пока показать не удалось, настолько там все запутанно).

Т.е. дизайн языков затрудняется на всех уровнях ради очень призрачного преимущества совместимости, которое на данный момент реально не используется никем (насколько я в курсе).

PS. Извини, если запутанно получилось.
no fate but what we make
Re[4]: Онтологии в компьютерных системах
От: mefrill Россия  
Дата: 28.07.10 05:45
Оценка:
Здравствуйте, kl, Вы писали:


kl>Ситуация такова, что у OWL, в отличие от RDF, исторически есть логические основы — это т.н. дескрипционная логика (DL). DL — это некоторое подмножество логики первого порядка (FOL), ктр было специально создано для онтологий. Будучи изначально логикой, DL имеет свою естественную модельно-теоретическую семантику, которая 100% совместима с семантикой FOL. Естественно, никакого упоминания об RDF ни в FOL ни в DL нет. Онтология в DL — это просто набор аксиом (лог. утверждений). Опять таки, никаких триплетов.


Это, конечно, правильно. Но ведь кроме чистого синтаксиса есть еще и модели. Да, так называемая "основная модель" логической теории -- это традиционно множество с некоторыми выделенными подмножествами его декартова произведения N-ой степени. Иначе говоря, если имеют типы, то типы представляют собой подмножества, предикаты представляются подмножествами декартова произведения этих подмножеств. Т.е. если есть предикат P(a,b,c), где переменные a,b,c типов A,B,C соответственно, то этот предикат представляется подмножеством AxBxC множеств, представляющих типы A,B и C. Это, конечно, элементарно, я пишу для тех, кто может-быть в первый раз такие вещи читает. Так вот, имеется и другая основная модель — категория. Категория -- это набор объектов и стрелок между ними. Типам соответствуют некоторые выделенные объекты, а предикатам -- специальные стрелки, которые входят в довольно сложные конструкции из стрелок и объектов, называемые пределами. Примечательно, что в категорной модели мы вообще не говорим об элементах, для семантики они не нужны. Если уж понадобится элемент, то его по мере необходимости можно сконструировать как стрелку в объект множества из другого специального объекта, называемого "точкой". Семантика эта вполне корректная и во многих вещах более естественна, нежели модель на множестве.

Но в случае с RDF, как мне кажется, мы имеем дело не с моделью логической теории, задаваемой OWL, а с гомоморфизмом логических теорий. Ведь на самом деле тройки -- это бинарные отношения, т.е. бинарные предикаты. Известно, что каждую логическую теорию можно привести к эквивалентной (в том смысле, что все их модели совпадают) логической теории, в которой имеются только бинарные предикаты. Этот процесс приведения к бинарной форме не уникален, в базах данных все таблицы можно привести к бинарному виду, т.е. только с двумя столбцами, в теории формальных языков каждая контекстно-свободная грамматика представляется в виде бинарной нормальной формы, каждое число может быть приведено в компьютерный вид, т.е. выражено в виде суммы степеней двойки и т.д. Процесс этот универсальный и производится прежде всего не для человека, а для машины. Машине все равно чем оперировать, она не придает смыслы вещам. Между тем, человек склонен время от времени переходить в определенное психологическое состояние, которое можно назвать "постижение смысла" или "понимание". Вот если какие-то предикаты в логической теории у человека связываются с определенными вещами, "имеющими смысл", то при преобразовании в бинарную форму эта связь теряется и ее очень нелегко восстановить, т.е. придать смысл бинарным отношениями. Машине же все равно, она нигде смысла не видит и может оперировать чем угодно. Удобство бинарного представления -- это прежде всего его простота для машины. Операции ясны и понятны, они простейшего из возможных вида. Сложение двух чисел в десятичной и двоичной системах счисления -- разные по сложности операции. Конечно, сложность при этом никуда не девается, она просто преобразуется в количество. Число в двоичной системе счисления записывает длиннее, чем в десятичной, правил КС-грамматики в бинарной нормальной форме больше, чем правил в исходной форме, бинарных предикатов больше, чем в оригинальной теории. Но это сложность количественная, а не качественная. С этим как раз машина справляется хорошо, ей все равно сколькими предикатами оперировать, она ведь не пытается как человек вывести глобальный смысл утверждений из локальных определений (в данном случае, понять теорию из предикатов и логических аксиом). В этом смысле, преобразование в бинарную форму -- полезная и естественная вещь. Можно рассматривать представление в виде троек как перевод и строить модель этого перевод на множестве обычным образом, рассматривая только бинарные декартовы произведения. Поэтому я был несколько удивлен, когда прочитал о том, что Вы рассматриваете RDF только как модель, а не как отдельную теорию.

Я, конечно, в этих вещах не силен, не являюсь специалистом, и могу только догадываться о трудностях. которые возникают при таком переводе. Скорее всего, их немало. Но все же, как мне кажется, преобразование в бинарную форму не так бесполезно, как Вы представляете. Может быть там в самом RDF еще что-то добавили, что не позволяет удобно переводить?
Re[7]: Онтологии в компьютерных системах
От: Arboz Россия  
Дата: 28.07.10 05:53
Оценка:
Здравствуйте, kl, Вы писали:

kl>(следующая версия SPARQL должна поддерживать entailment regimes).

но все равно же поверх RDF будет работать? Когда примерно ждать?


kl>Созданием конечных приложений я не занимаюсь.

а знаешь кто занимается? (за ссылку на bbc, отдельное спасибо)

kl>Я тоже. Но я активно и не интересовался. Видел литературу, в которой обсуждались онтологии в контексте MDA, но не впечатлило.

что такое MDA? И можно сразу тогда уж ссылку, если недалеко?

kl>Virtuoso? Уровня Oracle вендоров нет, согласен. Но разница в качестве между Virtuoso и поделками вроде OWLim не так и мала.

BBC однако использовало OWLim. Откуда уверенность, что сравнение между Virtuoso и OWLim в пользу первого? Сугубо субъективное ощущение?
Re[4]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 28.07.10 07:06
Оценка:
Здравствуйте, kl, Вы писали:

>>Дополнительная семантика задается более продвинутым языком OWL. Я наверное многого недопонимаю, так как у меня нет серьезного опыта работы с этими технологиями, но мне всегда казалось естественным разделение реализации семантической сети на core-language (rdf) и дополнительную семантику (OWL).

kl>С одной стороны ты прав. Это и есть концепция знаменитого слоеного пирога SW. Интуитивно она нравится многим людям. Другую сторону см. ниже.
>>Семантика никак не может задаваться ВНЕ терминов семантической сети. Или может?

kl>Ситуация такова, что у OWL, в отличие от RDF, исторически есть логические основы — это т.н. дескрипционная логика (DL). DL — это некоторое подмножество логики первого порядка (FOL), ктр было специально создано для онтологий. Будучи изначально логикой, DL имеет свою естественную модельно-теоретическую семантику, которая 100% совместима с семантикой FOL. Естественно, никакого упоминания об RDF ни в FOL ни в DL нет. Онтология в DL — это просто набор аксиом (лог. утверждений). Опять таки, никаких триплетов.

kl>Далее, OWL-онтология — это в первую очередь DL-онтология, имеющая один из синтаксисов OWL. Синтаксисов есть много: функциональный синтаксис, N3, RDF/XML, OWL/XML, манчестерский синтаксис и т.д. На семантику они не влияют абсолютно.
kl>Однако, кроме естественной семантики OWL (direct semantics) как набора лог. утверждений в DL, есть вторая — translational semantics. Translational означает, что каждое лог. утверждение в DL сериализуется в набор RDF-триплетов (см. OWL 2 Web Ontology Language Mapping to RDF Graphs). В итоге, каждая онтология в OWL может рассматриваться как:
kl>i) Набор лог. утверждений в DL
kl>ii) RDF-граф, полученный в результате сериализации
kl>Оба представления имеют свою семантику ( i) — естественную семантику DL, ii) гораздо более громоздкую семантику RDF). Семантика DL понятна всем, кто имеет дело с логикой. Семантика RDF убивает своей нестандартностью (странных деталей много, например, comprehension principles). В итоге, рабочая группа в W3C потратила нереальное количество времени, чтобы гарантировать _семантическую_совместимость_. Т.е. все, что логически вытекает из DL-онтологии, должно логически вытекать из полученного RDF-графа и наоборот.

Вот тут мне не совсем понятно. Ведь RDF и OWL совсем не равнозначны по возможностям описания семантики. Например, возьмем owl:equivalentClass. RDF-сериализация будет содержать тройку со свойством owl:equivalentClass, но без применения дополнительного решателя все приложения, оперирующие с этим RDF, не смогут воспользоваться этой информацией при логическом выводе (например, SPARQL-запросы не будут учитывать эквивалентность классов). Должно быть, имелось ввиду не равнозначность семантик, а их непротиворечивость, то есть одинаковый результат логического вывода при использовании совпадающих концепций (то есть тех концепций, которые присутствуют и в RDF(S), и в OWL — rdfs:subClassOf, rdfs:subPropertyOf и т. д.)

Кстати, не прояснишь один момент. Почему решили остановиться именно на DL, а не более полном подмножестве FOL? Видимо, сочли, что именно DL предоставляет наиболее хороший баланс между мощностью и вычислительной сложностью?
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[5]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 28.07.10 07:24
Оценка:
Здравствуйте, mefrill, Вы писали:

M>Но в случае с RDF, как мне кажется, мы имеем дело не с моделью логической теории, задаваемой OWL, а с гомоморфизмом логических теорий. Ведь на самом деле тройки -- это бинарные отношения, т.е. бинарные предикаты. Известно, что каждую логическую теорию можно привести к эквивалентной (в том смысле, что все их модели совпадают) логической теории, в которой имеются только бинарные предикаты. Этот процесс приведения к бинарной форме не уникален, в базах данных все таблицы можно привести к бинарному виду, т.е. только с двумя столбцами, в теории формальных языков каждая контекстно-свободная грамматика представляется в виде бинарной нормальной формы, каждое число может быть приведено в компьютерный вид, т.е. выражено в виде суммы степеней двойки и т.д.


В контексте RDF/OWL, должно быть имеется ввиду т.н. "овеществление" отношений? То есть если мы имеем n-мерное отношение P(x1...xn), то его в RDF/OWL можно представить в виде объекта со значениями свойств x1...xn. Но таким образом можно реализовать далеко не все возможности логики первого порядка.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[8]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 28.07.10 08:22
Оценка:
Здравствуйте, Arboz, Вы писали:

A>Здравствуйте, kl, Вы писали:


kl>>(следующая версия SPARQL должна поддерживать entailment regimes).

A>но все равно же поверх RDF будет работать? Когда примерно ждать?

Ну да. Я последние пару месяцев не следил за SPARQL, у меня создалось впечатление, что поддержка лог. вывода там явно не приоритет (см. SPARQL New Features and Rationale). На развитие SPARQL активно влияют вендоры (см. Extensions Proposed By OpenLink), что с одной стороны очень хорошо, поскольку должны развиваться возможности, нужные бизнесу, но с другой там не всегда есть люди, хорошо представляющие себе формальную сторону дела (хотя бы ту же вычислительную сложность). Что касается "когда ждать", то не знаю, но могу узнать. В любом случае там даже до Last Call еще дело не дошло.

kl>>Созданием конечных приложений я не занимаюсь.

A>а знаешь кто занимается? (за ссылку на bbc, отдельное спасибо)

Ну например Clark & Parsia, собственно с летнего интерншипа у них и начался мой роман с семантическими технологиями :)

kl>>Я тоже. Но я активно и не интересовался. Видел литературу, в которой обсуждались онтологии в контексте MDA, но не впечатлило.

A>что такое MDA? И можно сразу тогда уж ссылку, если недалеко?

Model-driven architecture. Набери в гугле ontology model-driven architecture, вылезет куча литературы. Я, правда, на первый взгляд ничего сверхинтересного не увидел.

kl>>Virtuoso? Уровня Oracle вендоров нет, согласен. Но разница в качестве между Virtuoso и поделками вроде OWLim не так и мала.

A>BBC однако использовало OWLim. Откуда уверенность, что сравнение между Virtuoso и OWLim в пользу первого? Сугубо субъективное ощущение?

В принципе, да, достаточно субъективное. В основном от общения с народом на разных конференциях/workshop'ах. BBC могло использовать OWLim т.к. он поддерживает некий (пусть и очень малый) фрагмент OWL. Почему они не выбрали Oracle — не знаю.
no fate but what we make
Re[5]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 28.07.10 08:39
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Вот тут мне не совсем понятно. Ведь RDF и OWL совсем не равнозначны по возможностям описания семантики. Например, возьмем owl:equivalentClass. RDF-сериализация будет содержать тройку со свойством owl:equivalentClass, но без применения дополнительного решателя все приложения, оперирующие с этим RDF, не смогут воспользоваться этой информацией при логическом выводе (например, SPARQL-запросы не будут учитывать эквивалентность классов). Должно быть, имелось ввиду не равнозначность семантик, а их непротиворечивость, то есть одинаковый результат логического вывода при использовании совпадающих концепций (то есть тех концепций, которые присутствуют и в RDF(S), и в OWL — rdfs:subClassOf, rdfs:subPropertyOf и т. д.)


Да, естественно в самом RDF owl:equivalentClass — это просто ресурс. Поэтому для достижения эквивалентности семантики приходится накладывать определенные семантические ограничения на RDF-графы, содержащие ресурсы из пространства имен owl. Так появилась OWL 2 Web Ontology Language RDF-Based Semantics для OWL. Она и есть расширение семантики RDF (ссылку приводил выше), которое должно быть эквивалентно прямой семантике OWL.

Самое смешное во всей этой истории, что полного соответствия добиться все равно не удалось, поэтому есть замечание:

There is a strong correspondence between the semantics for OWL DL defined in this section and the Direct Model-Theoretic Semantics defined in Section 3 (see Theorem 1 and Theorem 2 in Section 5.4). If, however, any conflict should ever arise between these two forms, then the Direct Model-Theoretic Semantics takes precedence.

Оно есть в предыдущей версии документа, но не в последней. Насколько я в курсе, доказать полное соответствие так и не удалось. Питер и Майкл Шнайдер пытались добиться хотя бы того, что если несоответствие и появится, то только в OWL Full (а не в нормальных, разрешимых профилях OWL).

LP>Кстати, не прояснишь один момент. Почему решили остановиться именно на DL, а не более полном подмножестве FOL? Видимо, сочли, что именно DL предоставляет наиболее хороший баланс между мощностью и вычислительной сложностью?


Ага. Все развитие OWL и DL — это баланс между сложностью и разрешимостью. OWL DL — это балансирование на грани. Например, стоит разрешить number restrictions на транзитивных свойствах (т.е. утверждения типа "Петя имеет не менее 3-х потомков") и все — язык становится неразрешим. При этом одно из лучших достижений в OWL 2 (по сравнению с OWL 1) — это то, что теперь есть профили (OWL EL, OWL RL, OWL QL, OWL DL,..), которые различаются по сложности, например, EL позволяет делать лог. вывод за полиномиальное время, QL — сводить лог. запросы к запросам к БД и т.д. В OWL 1 были OWL Lite, OWL DL и OWL Full, причем OWL Lite при своей ограниченности был все равно EXPTIME-логикой (т.е. хуже чем NP-complete).
no fate but what we make
Re[5]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 28.07.10 08:55
Оценка:
Здравствуйте, mefrill, Вы писали:

M>Здравствуйте, kl, Вы писали:


M>Так вот, имеется и другая основная модель — категория. Категория -- это набор объектов и стрелок между ними. Типам соответствуют некоторые выделенные объекты, а предикатам -- специальные стрелки, которые входят в довольно сложные конструкции из стрелок и объектов, называемые пределами. Примечательно, что в категорной модели мы вообще не говорим об элементах, для семантики они не нужны. Если уж понадобится элемент, то его по мере необходимости можно сконструировать как стрелку в объект множества из другого специального объекта, называемого "точкой". Семантика эта вполне корректная и во многих вещах более естественна, нежели модель на множестве.


Возможно, я не специалист в categorical semantics. Но дело в том, что семантика RDF — самая что ни на есть model-theoretic. С множеством объектов и интерпретацией предикатов.

M>Я, конечно, в этих вещах не силен, не являюсь специалистом, и могу только догадываться о трудностях. которые возникают при таком переводе. Скорее всего, их немало. Но все же, как мне кажется, преобразование в бинарную форму не так бесполезно, как Вы представляете. Может быть там в самом RDF еще что-то добавили, что не позволяет удобно переводить?


Ну OWL в бинарную форму переводить особо не надо, там и так все предикаты не более чем бинарные. Проблема с RDF в том, что это язык *фактов*. Каждый триплет — это факт. Фактически, RDF-граф — это слабоструктурированная БД. Поэтому для описания лог. утверждений (а не просто фактов) приходится использовать трюки вроде comprehension conditions, а иначе мы не сможем поддерживать даже простейший лог. вывод (например, из утверждения "каждый друг Пети — адвокат" не будет следовать "каждый друг Пети — адвокат или врач").
no fate but what we make
Re[6]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 28.07.10 10:27
Оценка:
Здравствуйте, kl, Вы писали:

kl>Здравствуйте, LaPerouse, Вы писали:


LP>>Вот тут мне не совсем понятно. Ведь RDF и OWL совсем не равнозначны по возможностям описания семантики. Например, возьмем owl:equivalentClass. RDF-сериализация будет содержать тройку со свойством owl:equivalentClass, но без применения дополнительного решателя все приложения, оперирующие с этим RDF, не смогут воспользоваться этой информацией при логическом выводе (например, SPARQL-запросы не будут учитывать эквивалентность классов). Должно быть, имелось ввиду не равнозначность семантик, а их непротиворечивость, то есть одинаковый результат логического вывода при использовании совпадающих концепций (то есть тех концепций, которые присутствуют и в RDF(S), и в OWL — rdfs:subClassOf, rdfs:subPropertyOf и т. д.)


kl>Да, естественно в самом RDF owl:equivalentClass — это просто ресурс. Поэтому для достижения эквивалентности семантики приходится накладывать определенные семантические ограничения на RDF-графы, содержащие ресурсы из пространства имен owl. Так появилась OWL 2 Web Ontology Language RDF-Based Semantics для OWL. Она и есть расширение семантики RDF (ссылку приводил выше), которое должно быть эквивалентно прямой семантике OWL.


Спасибо, проблема теперь ясна. Но ведь эта проблема встает в полный рост только в OWL-Full (у которого есть еще и другая проблема — проблема неразрешимости)?

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

kl>Самое смешное во всей этой истории, что полного соответствия добиться все равно не удалось, поэтому есть замечание:

kl>

There is a strong correspondence between the semantics for OWL DL defined in this section and the Direct Model-Theoretic Semantics defined in Section 3 (see Theorem 1 and Theorem 2 in Section 5.4). If, however, any conflict should ever arise between these two forms, then the Direct Model-Theoretic Semantics takes precedence.

kl>Оно есть в предыдущей версии документа, но не в последней. Насколько я в курсе, доказать полное соответствие так и не удалось. Питер и Майкл Шнайдер пытались добиться хотя бы того, что если несоответствие и появится, то только в OWL Full (а не в нормальных, разрешимых профилях OWL).

LP>>Кстати, не прояснишь один момент. Почему решили остановиться именно на DL, а не более полном подмножестве FOL? Видимо, сочли, что именно DL предоставляет наиболее хороший баланс между мощностью и вычислительной сложностью?


kl>Ага. Все развитие OWL и DL — это баланс между сложностью и разрешимостью. OWL DL — это балансирование на грани. Например, стоит разрешить number restrictions на транзитивных свойствах (т.е. утверждения типа "Петя имеет не менее 3-х потомков") и все — язык становится неразрешим.


Возможно, неразрешимость будет только в рамках принятой вычислительной модели? Если шире подойти к проблеме, то ведь есть к примеру промышленные constraint-solving системы с гарантированной разрешимостью в рамках finite-domain.

kl>При этом одно из лучших достижений в OWL 2 (по сравнению с OWL 1) — это то, что теперь есть профили (OWL EL, OWL RL, OWL QL, OWL DL,..), которые различаются по сложности, например, EL позволяет делать лог. вывод за полиномиальное время, QL — сводить лог. запросы к запросам к БД и т.д. В OWL 1 были OWL Lite, OWL DL и OWL Full, причем OWL Lite при своей ограниченности был все равно EXPTIME-логикой (т.е. хуже чем NP-complete).


Интересно. А известны примерные сроки выхода OWL 2?
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[7]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 28.07.10 10:47
Оценка:
Здравствуйте, LaPerouse, Вы писали:

kl>>Да, естественно в самом RDF owl:equivalentClass — это просто ресурс. Поэтому для достижения эквивалентности семантики приходится накладывать определенные семантические ограничения на RDF-графы, содержащие ресурсы из пространства имен owl. Так появилась OWL 2 Web Ontology Language RDF-Based Semantics для OWL. Она и есть расширение семантики RDF (ссылку приводил выше), которое должно быть эквивалентно прямой семантике OWL.


LP>Спасибо, проблема теперь ясна. Но ведь эта проблема встает в полный рост только в OWL-Full (у которого есть еще и другая проблема — проблема неразрешимости)?


В общем да, поэтому его толком никто не использует (по-крайней мере так, как обычно используют онтологии). Проблема напрягает тем, что она тормозит развитие OWL. Для всех новых конструкций надо описывать RDF-семантику, доказывать ее соответствие и т.д. Плюс это могут делать очень мало людей, поэтому риск ошибок весьма велик (в отличие от стандартной семантики).

LP>Кстати, не подскажешь ли нам, прикладникам, какие-нибудь материалы, с достаточной доступностью объясняющие теоретические основы OWL-DL? К сожалению, щупание этого OWL руками и чтение всяких практических руководств не позволяет в полной мере понять, как оно работает, в голове остается много белых пятен, от этого чувствуешь себя очень неуверенно.


Угу, я согласен. Пусть немного, но я как-то написал заметку о логических основах OWL. Чтобы не усложнять, речь идет о базовом языке ALC (подмножестве логики SROIQ, на которой базируется OWL DL). Я еще обещал создателям сайта описать на пальцах алгоритм лог. вывода (tableau reasoning), но руки не дошли. Но другой человек с моими правками скоро выложит слайды на эту тему (надеюсь).
Я правда не знаю, насколько это интересно именно для прикладных задач (в частности, насколько в задаче нужен логический вывод).

kl>>Ага. Все развитие OWL и DL — это баланс между сложностью и разрешимостью. OWL DL — это балансирование на грани. Например, стоит разрешить number restrictions на транзитивных свойствах (т.е. утверждения типа "Петя имеет не менее 3-х потомков") и все — язык становится неразрешим.


LP>Возможно, неразрешимость будет только в рамках принятой вычислительной модели? Если шире подойти к проблеме, то ведь есть к примеру промышленные constraint-solving системы с гарантированной разрешимостью в рамках finite-domain.


Не, неразрешимость там безнадежная (ну если только не откроют выч. модели мощнее машин Тьюринга). Кстати, забавно, что finite domain reasoning в DL вычислительно сложнее, чем в обычный лог. вывод (и даже, насколько я знаю, толком не реализован). В OWL есть интересное свойство: я могу написать лог. выражение для класса, у которого не будет конечной модели. Грубо говоря, класс нельзя интерпретировать конечным множеством объектов реального мира. А бесконечным можно. Могу даже привести пример, если интересно.
Что касается constraint-систем, то у них не хватит выразительности для OWL.

kl>>При этом одно из лучших достижений в OWL 2 (по сравнению с OWL 1) — это то, что теперь есть профили (OWL EL, OWL RL, OWL QL, OWL DL,..), которые различаются по сложности, например, EL позволяет делать лог. вывод за полиномиальное время, QL — сводить лог. запросы к запросам к БД и т.д. В OWL 1 были OWL Lite, OWL DL и OWL Full, причем OWL Lite при своей ограниченности был все равно EXPTIME-логикой (т.е. хуже чем NP-complete).


LP>Интересно. А известны примерные сроки выхода OWL 2?


Так он все-таки вышел в прошлом году. Вот, например, профили описаны здесь. Кстати, если (вдруг) ты пишешь на Java, то даже вышла версия OWL API, поддерживающая OWL 2.
no fate but what we make
Re[8]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 29.07.10 13:32
Оценка:
Здравствуйте, kl, Вы писали:

kl>Угу, я согласен. Пусть немного, но я как-то написал заметку о логических основах OWL. Чтобы не усложнять, речь идет о базовом языке ALC (подмножестве логики SROIQ, на которой базируется OWL DL). Я еще обещал создателям сайта описать на пальцах алгоритм лог. вывода (tableau reasoning), но руки не дошли. Но другой человек с моими правками скоро выложит слайды на эту тему (надеюсь).


Спасибо, начал читать.

kl>Я правда не знаю, насколько это интересно именно для прикладных задач (в частности, насколько в задаче нужен логический вывод).


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

kl>Не, неразрешимость там безнадежная (ну если только не откроют выч. модели мощнее машин Тьюринга). Кстати, забавно, что finite domain reasoning в DL вычислительно сложнее, чем в обычный лог. вывод (и даже, насколько я знаю, толком не реализован). В OWL есть интересное свойство: я могу написать лог. выражение для класса, у которого не будет конечной модели. Грубо говоря, класс нельзя интерпретировать конечным множеством объектов реального мира. А бесконечным можно. Могу даже привести пример, если интересно.


Это класс owl:Thing (то есть T из DL) или что-то другое? Пример бы не помешал.

LP>>Интересно. А известны примерные сроки выхода OWL 2?

kl>Так он все-таки вышел в прошлом году. Вот, например, профили описаны здесь. Кстати, если (вдруг) ты пишешь на Java, то даже вышла версия OWL API, поддерживающая OWL 2.

Да, на ней самой и пишу. Я использую Jena с Pellet в качестве reasoner-a. У меня есть одна задумка, которую я некоторое время вынашиваю и вот недавно приступил к ее осуществлению. К сожалению времени совсем не хватает (занимаюсь этим в свободное время), набросал пока архитектуру и реализовал пару компонент. Если коротко — это редактор онтологий + базы знаний из пользовательских данных. Приложение (клиент) сделан на OSGi (модульная система для java), включает в себя компоненты (инструменты) для работы с онтологиями (класс браузер, импорт онтологий и тд), 3d-браузер онтологий и пользовательских данных, просмотрщики различных типов ресурсов. Пользовательский интерфейс описывается прямо в rdf, где нужно — xml. Центральное место занимают "вьюхи" — аналог sql-вьюх из мира реляционных субд, вместо sql — параметризуемый sparql (во вьюхе можно задать параметры запроса), отредактировать сам запрос, просмотреть результаты выполнения в виде таблицы и в виде совокупности графов всевозможных решений. Для различных типов ресурсов можно задать его рендерер в xml (xml хранится опять таки в б.з.), есть разные типы рендереров конфигуряемых в xml для каждой компоненты — рендерер ресурса в ячейке таблицы, рендерер в просмотрщике и пр., предполагается, что с приложением будет поставляться библиотека рендереров для типичных видов ресурсов, пользователь может редактировать и создавать свои рендереры (xsd-ки для валидации будут входить в поставку). Кроме того, для каждого ресурса можно задать просмотрщик контента (в частности, мультимедиа, документов, статей, книг). Интерфейс как в целом, так и отдельных компонент как уже сказал, описывается в базе знаний, там же можно сконфигурять используемые компоненты и сервисы. Основная идея — сделать вещь с одной стороны универсальную, применимую в самых различных аспектах работы с онтологиями, с другой — сделать ориентацию на самую что ни на есть бытовую работу с пользовательскими данными (хранение и доступ к фильмам, музыке, статьям, книгам, словом к любым пользов. данным), предельно модульная архитектура приложения должна способствовать бесшовную интеграция этих двух казалось бы несовместимых направлений.
Мне бы очень не помешали советы от людей, профессионально работающих с онтологиями вроде тебя, поэтому я бы хотел попросить (после получения мной хоть каких-то результатов) взглянуть на это дело, если будет несложно (впрочем, это будет еще не скоро).
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[9]: Онтологии в компьютерных системах
От: LaPerouse  
Дата: 29.07.10 13:34
Оценка:
LP>3d-браузер онтологий и пользовательских данных

Не 3d конечно, 2d, с использованием jgraph.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[9]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 29.07.10 14:18
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Кстати, насчет логического вывода. В w3c планируют стандартизовать какой-нибудь язык правил, например тот же SWRL? Стандартного языка, поддерживаемого всеми инструментами, очень не хватает.


Фиг его знает. SWRL неразрешим, поэтому сомневаюсь, что его стандартизируют. Скорее надо ориентироваться на DL safe rules. Это фактически тот же SWRL, но переменные в правилах байндятся только к объектам в ABox (named individuals). На практике это означает, что при помощи правил ты можешь выводить результаты об объектах, но не о классах. Например, ты можешь вывести, что "Петя — дядя Васи", но не сможешь вывести, что "у каждого дяди должен быть брат или сестра". Pellet поддерживает DL safe rules, в том числе много встроенных правил.

kl>>Не, неразрешимость там безнадежная (ну если только не откроют выч. модели мощнее машин Тьюринга). Кстати, забавно, что finite domain reasoning в DL вычислительно сложнее, чем в обычный лог. вывод (и даже, насколько я знаю, толком не реализован). В OWL есть интересное свойство: я могу написать лог. выражение для класса, у которого не будет конечной модели. Грубо говоря, класс нельзя интерпретировать конечным множеством объектов реального мира. А бесконечным можно. Могу даже привести пример, если интересно.


LP>Это класс owl:Thing (то есть T из DL) или что-то другое? Пример бы не помешал.


Не, Thing — это просто класс, чья интерпретация равна всему домену. Я имел в виду следующий классический пример (да, он громоздкий):

X ≡ ¬A ∧ C ∧ ∀U—.C, где C ≡ ∃R—.A ∧ (≤1 R), R ⊆ U, U — транзитивно

На пальцах, тут происходит следующее: каждая модель класса Х (множество объектов) должна включать бесконечную цепочку объектов, каждый из которых удовлетворяет ∃R—.A ∧ (≤1 R) (т.е. семантика ∀U—.C заставляет "передавать" определение С каждому следующему объекту в цепочке и таким образом продолжать ее). Если замкнуть цепочку в цикл, то из-за конструкции ≤1 R все свернется в единственный объект. А это невозможно, т.к. он тогда должен будет принадлежать А и ¬A одновременно.
Вывод: интерпретация Х обязана быть бесконечной. Поэтому есть интерес к finite model reasoning, поскольку люди, работающие с БД, резонно хотят отлавливать такие ситуации. Но там все непросто, ни один reasoner пока не поддерживает.

LP>Да, на ней самой и пишу. Я использую Jena с Pellet в качестве reasoner-a.


Тут будет проблема, т.к. Jena вроде до сих пор не поддерживает OWL 2, а OWL API — SPARQL. Но я бы все равно ориентировался на OWL API (хотя это субъективно, своя рубаха ближе к телу :) ). Хотя бы потому, что это позволит использовать разные reasoner'ы. А движок SPARQL прикрутить отдельно.

LP>У меня есть одна задумка, которую я некоторое время вынашиваю и вот недавно приступил к ее осуществлению. К сожалению времени совсем не хватает (занимаюсь этим в свободное время), набросал пока архитектуру и реализовал пару компонент. Если коротко — это редактор онтологий + базы знаний из пользовательских данных. Приложение (клиент) сделан на OSGi (модульная система для java), включает в себя компоненты (инструменты) для работы с онтологиями (класс браузер, импорт онтологий и тд), 3d-браузер онтологий и пользовательских данных, просмотрщики различных типов ресурсов. Пользовательский интерфейс описывается прямо в rdf, где нужно — xml. Центральное место занимают "вьюхи" — аналог sql-вьюх из мира реляционных субд, вместо sql — параметризуемый sparql (во вьюхе можно задать параметры запроса), отредактировать сам запрос, просмотреть результаты выполнения в виде таблицы и в виде совокупности графов всевозможных решений. Для различных типов ресурсов можно задать его рендерер в xml (xml хранится опять таки в б.з.), есть разные типы рендереров конфигуряемых в xml для каждой компоненты — рендерер ресурса в ячейке таблицы, рендерер в просмотрщике и пр., предполагается, что с приложением будет поставляться библиотека рендереров для типичных видов ресурсов, пользователь может редактировать и создавать свои рендереры (xsd-ки для валидации будут входить в поставку). Кроме того, для каждого ресурса можно задать просмотрщик контента (в частности, мультимедиа, документов, статей, книг). Интерфейс как в целом, так и отдельных компонент как уже сказал, описывается в базе знаний, там же можно сконфигурять используемые компоненты и сервисы. Основная идея — сделать вещь с одной стороны универсальную, применимую в самых различных аспектах работы с онтологиями, с другой — сделать ориентацию на самую что ни на есть бытовую работу с пользовательскими данными (хранение и доступ к фильмам, музыке, статьям, книгам, словом к любым пользов. данным), предельно модульная архитектура приложения должна способствовать бесшовную интеграция этих двух казалось бы несовместимых направлений.


А ты не думал сначала написать плагин к Протеже? Навскидку, P4.1 умеет очень многое из того, что ты написал (даже визуализатор через OWLViz). Она тоже сделана на OSGi (equinox или felix), плагины пишутся достаточно легко, плюс не надо будет заботиться о нижнем уровне (модели) приложения — можно сразу получать доступ к загруженым онтологиям через OWL API.
По крайней мере стоит взглянуть на архитектуру P4.1. Кода там щас много, но основные вещи я могу объяснить.

LP>Мне бы очень не помешали советы от людей, профессионально работающих с онтологиями вроде тебя, поэтому я бы хотел попросить (после получения мной хоть каких-то результатов) взглянуть на это дело, если будет несложно (впрочем, это будет еще не скоро).


Конечно, никаких проблем.
no fate but what we make
Re[9]: Онтологии в компьютерных системах
От: kl Германия http://stardog.com
Дата: 29.07.10 14:22
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Кстати, насчет логического вывода. В w3c планируют стандартизовать какой-нибудь язык правил, например тот же SWRL? Стандартного языка, поддерживаемого всеми инструментами, очень не хватает.


Кстати, забыл сказать. Каждый раз когда хочется правил, надо убедиться, что нельзя обойтись цепочками свойств в OWL 2 (complex role inclusion axioms). Они гораздо мощнее, чем могут показаться.
no fate but what we make
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.