Семантический веб и микроформаты
20.1.4.2.4. SPARQL
Рабочая Группа W3C по Доступу к Данным разработала Язык Запросов SPARQL [9]. SPARQL, имеющий SQL-подобный синтаксис, определяет запросы в терминах шаблонов графа, которые сравниваются с направленным графом, представляющим данные RDF. SPARQL предоставляет возможности, для запроса необходимых и необязательных шаблонов, а также для их объединения и разделения. Результат сравнения также может быть использован для конструирования нового графа RDF с использованием отдельного шаблона.
SPARQL может быть использован как часть программной среды общего назначения, такой как Jena, но запросы могут, также, посылаться как сообщения на удаленную точку доступа SPARQL с помощью вспомогательных технологий SPARQL Protocol и Результаты Запросов SPARQL в XML. Используя такие точки доступа SPARQL, приложения могут запрашивать удаленные RDF данные и, даже, формировать новые RDF графы, без какой-либо локальной обработки.
Data: <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> "SPARQL Tutorial" Query: SELECT ?title WHERE { <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title . } Query Result: title "SPARQL Tutorial"
20.1.4.3. Логический вывод
Форматы описания метаданных в Семантической паутине предполагают проведение логического вывода на этих метаданных, и разрабатывались с оглядкой на существующие математические формализмы в этой области [7]. Математическое обоснование тех или иных конструкций языка описания необходимо для проведения заключений о свойствах программ, обрабатывающих данные в этом формате.
Особенно сильно это относится к языку OWL. Базовым формализмом для него являются дескриптивные логики, а сам язык разбит на три вложенных подмножества (в порядке вложенности): OWL Lite, OWL DL и OWL Full. Доказано [11], что логический вывод на метаданных с выразительностью OWL Lite выполняется за полиномиальное время (другими словами, задача вывода принадлежит к классу P ). OWL DL описывает максимальное разрешимое в данный момент подмножество дескриптивных логик, но некоторые запросы по таким данным могут требовать экспоненциального времени выполнения. OWL Full реализует все существующие конструкторы дескриптивных логик, но не каждый запрос в этом подмножестве языка можно разрешить.
Простая структура предикатов языка RDF, в свою очередь, позволяет использовать при его обработке опыт из теорий логических баз данных, логики предикатов, и т. д.
20.1.4.4. Инструментальные средства
На сегодняшний день создано довольно много инструментов для разработки приложений Semantic Web [9]. Это и средства для аннотирования, и репозитории RDF, и редакторы, и системы управления контентом, и программные библиотеки для самых разных языков, и многое другое.
Чуть более подробно остановимся лишь на Jena.
20.1.4.4.1. Jena
Сегодня одной из самых известных сред для разработки приложений, основанных на использовании RDF, является библиотека Jena. Это развитая среда с поддержкой большого количества разнообразных функций. На базе Jena разработано большое количество приложений.
Jena является средой разработки для создания Семантических приложений. Она позволяет работать с такими спецификациями как RDF, RDFS и OWL, SPARQL. Jena – это open source приложение под программой HP Labs Semantic Web Programme.
Jena включает в себя [9]:
20.1.5. Проекты
20.1.5.1. Дублинское ядро
Одним из первых серьезных и популярных проектов, основанным на принципах семантической паутины, стал проект "Дублинское ядро" (Dublin Core) [7], реализуемый инициативной организацией Dublin Core Metadata Initiative (DCMI) [12]. Это открытый проект, цель которого – разработать стандарты метаданных, которые были бы независимы от платформ и подходили бы для широкого спектра задач. Конкретнее, DCMI занимается разработкой словарей метаданных общего назначения, стандартизирующих описания ресурсов в формате RDF.
20.1.5.2. RSS (версий 0.90 и 1.0)
Версии 0.90 и 1.0 формата RSS основаны на RDF. Информация в нем представляется, как и в RDF, тройками субъект-отношение-объект [7]. Необходимо отметить, несмотря на то, что ему присущи многие недостатки Семантической паутины (дублирование информации, например), этот простейший формат быстро стал чрезвычайно популярным за счет узкой категоризации подмножества используемых метаданных. Отличие RSS от RDF состоит в том, что субъектом тройки всегда является сайт-источник RSS-файла, а в качестве отношений используются самые очевидные свойства документов, имеющие отношение к часто обновляющимся источникам информации: дата написания, автор, постоянная ссылка, и т. д. Другими словами, RSS – узкоспециализированное подмножество RDF.
Помимо недостатков, RSS унаследовал и все достоинства форматов из семейства семантической паутины: гибкость RSS позволяет использовать его не только для проверки на наличие новой информации на регулярно обновляющихся сайтах, но и для подкастов, и торренткастов.
Заметим, что формат RSS версии 2.0, хотя и не является форматом, основанным на RDF, позволяет внедрение произвольного XML -содержимого, находящегося в собственных пространствах имен XML. Это позволяет использовать RDF -описания также и в нем (используя пространство имен RDF ).
20.1.5.3. FOAF
Проект "Friend of a Friend" ("Друг друга") позволяет описывать отношение знакомства с помощью RDF [7]. Любой его участник может идентифицировать себя уникальным образом с помощью URI (например, mailto-адресом электронной почты, адресом блога, и т. п.), создать свой профиль, используя предопределенные для FOAF отношения на языке RDF, и перечислить идентификаторы людей, которых этот участник знает. Это описание может обрабатываться автоматически; на его основе можно строить сети доверия, анализировать структуру социальных групп, и т. д.
20.1.5.4. DBin
DBin работает примерно также, как и файлообменные сети (emule, kazaa, и т.д.), но для метаданных [9]. В этой системе вместо того, чтобы обмениваться данными (музыкой, файлами, видео, и т.д.), пользователи обмениваются "упорядоченными метаданными ", такими как: " X является автором Y ", " Z родился в K ", или "моя фотография в R, в прошлом декабре опубликована по адресу P ". С помощью DBin можно обмениваться информацией о том, что пользователи знают о разных вещах. Это может быть что угодно: песни, фотографии, WEB-сайты. Метаданные передаются в специальном формате – RDF, при этом система поддерживает развитые средства для работы с онтологиями, а это позволяет очень быстро и эффективно находить нужную информацию.
По способу взаимодействия пользователя и системы DBin чем-то напоминает Wiki, однако использование технологий Semantic Web выводит этот проект на совершенно новый уровень. Средства для поиска информации, возможности для кооперации среди участников сообщества позволяют организовать работу значительно более эффективно.
Когда пользователь DBin вводит те или иные данные, система сохраняет их в базе данных вместе с цифровой подписью автора. Это позволяет надежно идентифицировать источник информации. Поэтому система достаточно хорошо защищена от спама, недостоверной или, заведомо ложной информации. Если пользователь начинает злоупотреблять своим правом добавлять данные в DBin, то он лишается доверия, и его информация просто отфильтровывается.
DBin имеет развитый пользовательский интерфейс для редактирования, просмотра, поиска и вообще, использования информации. Если пользователь является продвинутым пользователем и экспертом в какой-нибудь области, то он может создавать специальные расширения для DBin (так называемые "брейнлеты"), ориентированные на работу в данной области знаний. Такие брейнлеты обычно включают в себя пользовательский интерфейс, онтологии, правила, типы аннотаций предопределенные запросы к системе, и, тем самым, предоставляют удобные средства для работы в рамках заданной предметной области.
Кроме брейнлетов DBin поддерживает и другие модули расширения – плагины. Плагины позволяют организовать взаимодействие DBin с внешними приложениями, с файловой системой и с рабочим столом пользователя, с базами данных. С помощью плагинов можно обеспечить более сложное отображение информации. Например, географические данные могут быть продемонстрированы пользователю на карте.
DBin реализует очень интересный способ организации совместной работы, позволяет, с одной стороны эффективно обмениваться информацией, а с другой накапливать семантически размеченные данные.
20.1.5.5. Семантические WEB-сервисы
В то время как совокупность ресурсов и их метаданных можно считать статической частью семантической паутины, ее динамическую часть представляют т. н. семантические Веб-сервисы – законченные элементы программной логики с однозначно описанной семантикой, доступные через Интернет и пригодные для поиска, композиции и выполнения. Часто называются в тематической литературе "динамической составляющей семантической паутины " [13].
Технически, семантический Веб-сервис отличается от обычного Веб-сервиса тем, что пользователю предоставляется не только описание интерфейса (обычно на языке WSDL) в терминах типов передаваемых сервису данных, возвращаемых значений и генерируемых ошибок, но и описание его семантики, т.е. того, что сервис делает, его предметной области, назначения и т.п. WSDL-описания сервисов изначально были предназначены для машинной обработки, кроме того, стандарт WSDL допускает наличие в этих описаниях произвольного дополнительного XML -содержимого, которое должно игнорироваться программами, не предполагающими обработки этого содержимого – таким образом, метаданные не приходится выносить из WSDL-файлов.
Консорциум W3 предполагает использование для описания Веб-сервисов тех же языков разметки, что и для статической части семантической паутины ( RDF, RDF Schema, OWL ), а также онтологии OWL -S, описывающей базовую терминологию предметной области. Онтология OWL -S состоит из четырех онтологий – онтологии сервиса, онтологии модели сервиса, онтологии процесса и онтологии базы. Можно рассматривать OWL -S как семантическое расширение UDDI-описания Веб-сервиса. При использовании этой онтологии и языков ра зметки, семантика сервиса характеризуется семантикой четырех его характеристик (IOPE, по первым буквам названия каждой характеристики):
- входные параметры ( inputs );
- выходные параметры ( outputs );
- предварительные условия ( preconditions );
- эффекты выполнения ( effects ).
Потенциальная выгода от использования семантических Веб-сервисов заключается в возможности автоматического поиска (а также композиции) программными агентами подходящих сервисов для решения поставленных задач. Тем не менее, сложность этой задачи в ее общей формулировке пока позволяет добиваться некоторых положительных результатов только в узкоспециализированных отраслях, явным образом выигрывающих от внедрения сервисно-ориентированной архитектуры, например, в интеграции корпоративных приложений.
20.1.6. Критика
20.1.6.1. Практическая реализуемость
Несмотря на все преимущества, предоставляемые семантической паутиной в случае ее внедрения, существуют сомнения в возможности ее полной реализации [7].
Разные критики высказывают различные причины, которые могут быть препятствием к этому, начиная с человеческого фактора [14] (люди склонны избегать работы по поддержке документов с метаданными, открытыми остаются проблемы истинности метаданных, и т. д.), и заканчивая косвенным указанием Аристотеля на отсутствие очевидного способа деления мира на концепты, что ставит под сомнение возможность существования онтологии верхнего уровня, критической для семантической паутины.
20.1.6.2. Дублирование информации
Необходимость описания метаданных, так или иначе, приводит к дублированию информации [7]. Каждый документ должен быть создан в двух экземплярах: размеченным для чтения людьми, а также в машинно-ориентированном формате. Этот недостаток семантической паутины был главным толчком к созданию микроформатов.
20.1.6.3. Проблемы для бизнеса
Сегодня большая часть сайтов зарабатывает на рекламе. Для этого посетители должны кликать по рекламным ссылкам. Нет кликов – нет заработка. То есть публикация материалов на том или ином сайте преследует цель – привлечь как можно больше посетителей именно на этот сайт. Semantic Web – размывает понятие документа [7]. Публикация материалов в Семантической Сети приводит к тому, что информация вливается в нечто большое и единое. И уже трудно сказать, где кончается один документ, и начинается другой. Все материалы разбиваются на маленькие кусочки, и каждый кусочек начинает самостоятельную жизнь [15].
20.1.6.4. Анонимность и сохранение авторских прав
Semantic Web способствует уничтожению анонимности в Сети [15]. Каждый раз как, только пользователь регистрируетсяь на каком-либо сайте вроде moikrug.ru, или toodoo.ru, он предоставляет информацию о себе. Даже если пользователь не указываете почти никаких данных, сайты и сервисы начинают следить за его предпочтениями. На какие сайты он ходит, что читает, какую музыку слушает и т.д. Если вся эта информация оказывается сохраненной в стандартной форме, приспособленной для легкого обмена между Веб-сервисами, то распространение этой информации уже ничего не остановит.
В силу вышесказанного Semantic Web создает опасную среду для вторжения в ваше личное пространство. Сохранение авторских прав на текстовую информацию становится весьма проблематичным.
20.1.7. Перспективы формирования Semantic Web
Существует два возможных способа формирования Semantic Web: снизу вверх и сверху вниз [16]. При первом способе начинаем с самого низа, то есть добавляем семантическую разметку в документы, опубликованные в Сети. Таким образом, пользовательские агенты получают доступ к метаданным. Этот процесс понемногу начинает набирать темп. Все чаще и чаще можно встретить данные в формате RDF, встроенные в те или иные странички. Каковы перспективы этого подхода?
Во-первых, нужно отметить, что существует огромная разница в психологии людей, занимающихся созданием контента. Большинство людей крайне скептически воспринимают перспективу не просто излагать свои мысли виде обычного текста, но еще и предпринимать особые шаги для того, чтобы объяснить свои идеи компьютеру. Тем не менее, многие склонны видеть эту ситуацию в ином свете. Они готовы часами приводить в порядок свои данные, расставлять метки и писать комментарии, составлять каталоги и рейтинги. Все ради того, чтобы обеспечить удобный, хорошо структурированный доступ к информации.
Во-вторых, все больше и больше в Интернете публикуется автоматически генерируемой информации. Всевозможные базы данных, отчеты, прогнозы погоды, списки и т.д. и т.п. Конечно, добавление семантической информации в автоматически генерируемые документы требует значительно меньших усилий.
В-третьих, сейчас активно развиваются инструменты для семантической разметки документов. Нужно понимать, что семантическая информация, которую вы добавляете в свой документ, способна немедленно оказать вам помощь. Причем, у компьютера появляются уникальные возможности для того, чтобы подстраиваться именно под ваши интересы, предпочтения и стиль работы, а возможность кооперации с другими компьютерами в Сети позволит ему выполнять эту работу весьма качественно. Таким образом, пользователь будет стимулироваться к тому, чтобы наполнять семантической информацией все, что он делает. Более того, вполне можно представить себе ситуацию, когда пользователь предпочтет указывать информацию только в виде понятном машине, предоставляя компьютеру всю остальную работу, связанную с формулированием и оформлением данных для потенциального читателя. Сколько разного рода формальных бумаг нам приходится создавать: справки, счета, отчеты, заявления. Значительную часть этой рутины компьютер может взять на себя.
В-четвертых, большое количество метаданных создается неявным образом. Сервисы социальных закладок, такие как del.icio.us, с одной стороны стали весьма популярны в современной Сети, а с другой стороны они активно собирают метаданные в виде тегов, описаний и оценок сайтов. Если определить семантические отношения между отдельными тегами, создав, тем самым, некую онтологию, то получим огромное количество вполне релевантных семантических данных. В том же направлении могут двигаться и системы коллаборативной фильтрации, такие как, MovieLens и Last.fm. Они уже давно зарекомендовали себя как весьма эффективные инструменты.
Другой подход предполагает использование средств анализа текстов на естественных языках (Natural Language Processing – NLP). Такие инструменты должны прочитать и обработать существующие в Сети документы, чтобы извлечь из них семантические данные. К сожалению, средства NLP еще далеки от совершенства. Сегодня, они не способны, в автоматическом режиме, семантически размечать документы. Однако не надо недооценивать возможностей таких инструментов. Например: современные системы извлечения фактов позволяют найти в тексте (для английского языка) до 96% именованных объектов, то есть имен людей, названий компаний, адресов, телефонов, названий технологий, брендов и т.д. Программы синтаксического разбора русского языка позволяют правильно определить подлежащее и сказуемое примерно в 60% предложений. Уже этого достаточно, для того, чтобы извлечь из текста огромное количество семантически значимой информации. При этом следует отметить, что технологии Semantic Web начинают, в свою очередь, оказывать влияние на развитие инструментов NLP.
Сегодня можно утверждать, что оба подхода к созданию среды, наполненной семантической информацией, будут развиваться параллельно, дополняя друг друга.
20.1.8. Ключевые термины
Семантическая паутина, Semantic Web, URI, Онтологии, Метаданные, XML, XML Schema, RDF, RDF Schema, OWL, SPARQL, Логический вывод.