Часто задаваемые вопросы о семантическом вебе W3C Семантический веб предоставляет стандартную инфраструктуру для обмена и повторного использования данных различными приложениями, предприятиями и сообществами. Он является результатом совместных усилий большого числа исследователей и индустриальных партнеров, направляемых консорциумом W3C. 1. Что такое семантический веб (Semantic Web)? 1.1 Для каких целей предназначен семантический веб? Семантический веб или веб данных - это расширение классического веба, позволяющее связать воедино ежедневно используемые нами данные. Например, в сети я могу посмотреть выписку из моего банковского счета, мои фотографии, назначенные мне встречи в календаре. Но могу ли я увидеть мои фотографии прямо из календаря, если меня интересует что я делал в момент их съемки? А банковские проводки? Почему нет? Из-за отсутствия веба данных. Потому что данные контролируются приложениями, и каждое приложение сохраняет свои данные только для себя. Суть семантического веба в том, чтобы распространить принципы классического веба с документов на данные. Данные должны быть: доступны по URI в соответствии с уже сложившейся архитектурой веба; связаны друг с другом так же, как сегодня связаны между собой документы (или части документов). Семантический веб также подразумевает создание стандартной инфраструктуры, позволяющей данным пересекать границы приложений, предприятий и сообществ, и обеспечивающей их повторное использование, как при автоматической обработке, так и вручную, включая возможности по выявлению новых взаимосвязей между элементами данных. Технологии семантического веба могут быть использованы в разных прикладных областях. Например: в области интеграции данных, чтобы данные из разных источников и в разных форматах можно было использовать в одном приложении; в области выявления и классификации ресурсов из определенной предметной области для более качественного поиска; в области каталогизации содержимого веб-сайтов, веб-страниц и цифровых библиотек с учетом перекрестных связей между ними; в области программных агентов с развитой логикой для распространения знаний; в области рейтинговых систем; при описании коллекций страниц, логически представляющих один документ; для описания прав интеллектуальной собственности на веб-страницы (см. например: Creative Commons - http://creativecommons.org/technology/usingmarkup), и во многих других. 1.2 Существуют ли какие-нибудь другие определения понятия семантический веб? Формальных определений вообще нет, зато, конечно, есть различные подходы. В самом деле, сложность и многообразие приложений, относящихся к семантическому вебу, растёт день за днём; это означает, что различные прикладные области, инструментальные средства, разработчики и т.д. акцентируют внимание на разных аспектах технологий семантического веба. Этот широкий диапазон приложений включает в себя интеграцию данных, представление и анализ знаний, сервисы каталогизации, улучшение поисковых алгоритмов, социальные сети, и т.д. 1.3 Назовите самые важные компоненты семантического веба. Для достижения описанного выше видения крайне важно определить и описать взаимоотношения (связи) между данными (т.е. ресурсами) в сети. Это не слишком сильно отличается от использования гиперссылок в современном Интернете, которые связывают текущую веб-страницу с другой веб-страницей: гиперссылки определяют связь между текущей страницей и целевой. Одним из главных отличий является то, что в семантическом вебе такие связи могут быть установлены между любыми двумя ресурсами и отсутствует само понятие "текущая страница". Другое важное отличие в том, что эти взаимоотношения между ресурсами (или ссылки) именованы, в то время как традиционные гиперссылки безымянны, и их смысл могут понять только люди. Благодаря таким именованным связям можно автоматизировать обмен данными. RDF, который является одним из фундаментальных строительных блоков семантического веба, предоставляет формальные средства для такого обмена. На этой основе строятся все остальные компоненты. Приведём несколько примеров. * Инструменты для запроса информации, описанной с помощью таких связей (например, SPARQL). * Инструменты для формирования более точной и детальной классификации и описания характеристик таких отношений, равно как и самих ресурсов. Это гарантирует способность к взаимодействию и более сложные виды автоматической обработки. Например, сообщество может договориться о том, какое имя использовать для описания ссылки связывающей страницу с календарем. Затем это имя может быть использовано множеством разных пользователей и приложений без необходимости каждый раз переопределять такие имена (например, схемы RDF, OWL, SKOS). * Для более сложных случаев есть средства определения логических взаимосвязей между ресурсами и их отношениями (например, если ссылка связывает человека с адресом его электронной почты, то вполне логично провозгласить уникальность этого e-mail, что он не разделяется среди нескольких человек). Инструменты работающие на таком уровне (например, на уровне OWL, Rules) могут гарантировать более высокую степень совместного использования, помогать выявлять противоречия и находить новые взаимосвязи. * Инструменты для извлечения из, и для связывания с традиционными источниками, чтобы обеспечивать обмен информацией с другими источниками. Например, GRDDL и RDFa. 1.4 Какое приложение продемонстрирует состоятельность семантического веба? Очень тяжело предсказать, какое приложение способно продемонстрировать состоятельность той или иной технологии, и такие предсказания зачастую ошибочны. Но можно предположить, что хорошим кандидатом может стать интеграция несвязанных и независимых источников данных в одном целостном приложении. Конкретные попытки применения осуществляются в таких областях как медицина и биология (http://esw.w3.org/topic/SemanticWebForLifeSciences), государственное управление (http://www.swed.org.uk/), инженерное дело (http://www.swop-project.eu/) и т.д. 1.5 Смогу ли я "узреть" семантический веб в моем браузере? Можешь, но только косвенно. Технологии семантического веба позволяют повысить уровень взаимодействия с браузером, но делают это незаметно для пользователя. Это уже имеет место быть: существуют веб-сайты (например, коллекция официальных документов Sun (http://www.sun.com/servers/wp.html/), или портал поддержки телефонов серии S60 от Nokia (http://www.forum.nokia.com/), виртуальный отдел по связям с прессой компании Oracle (http://pressroom.oracle.com/), online журнал Harper (http://www.harpers.org/), финансовый портал Yahoo (http://finance.yahoo.com/)), которые используют технологии семантического веба в фоновом режиме. 1.6 Семантический веб - это просто исследовательский проект, или существуют промышленные приложения на его основе? Как и все инновационные технологии, семантический веб проходит эволюционный путь: сначала развивается в исследовательских лабораториях, затем получает поддержку open-source сообщества, потом появляются небольшие специализированные стартапы, и, наконец, технология получает широкую поддержку со стороны бизнеса. Вспомните, всемирная паутина изначально была разработана в Центре физики высоких энергий! В настоящее время семантический веб все чаще и чаще используется маленькими и большими компаниями. Oracle (http://www.oracle.com/technology/tech/semantic_technologies/index.html), IBM (http://www.alphaworks.ibm.com/tech/semanticstk), Adobe (http://www.adobe.com/products/xmp/index.html), Software AG (http://www.softwareag.com/corporate/news/pressroom/pressreleases/20050309_enterprise_information_integration_page.asp) или Yahoo! (http://www.yahoo.com/) - это только часть тех больших корпораций, которые уже воспользовались этой технологией, и продают как отдельные инструменты, так и комплексные бизнес решения на её основе. Крупные прикладные области, такие как медицина и биология (http://esw.w3.org/topic/SemanticWebForLifeSciences), ожидают реализации возможностей семантического веба по интеграции данных, как одной из технологий, которая может существенную помочь в решении их научно-исследовательских и опытно-конструкторских проблем. Имеет смысл просмотреть список примеров и вариантов использования семантического веба (http://www.w3.org/2001/sw/sweo/public/UseCases/), он содержит хороший обзор существующих приложений. Имейте ввиду, что этот список часто обновляется, по мере того, как появляются новые приложения. 1.7 Нужно ли разбираться в теории формальных онтологий и логике для того, чтобы использовать семантический веб? Заметим, что можно разработать приложение семантического веба вообще без использования онтологий. Полезные сервисы могут быть созданы без них, опираясь только на наиболее фундаментальные и простые концепции семантического веба. Однако, даже если используются онтологии, правила, механизмы вывода и т.д., обычный пользователь не должен задумываться обо всех этих сложностях, о деталях механизма логического вывода. Все это скрыто от него. Чем разработчик должен оперировать, так это простыми логическими правилами, например: если (Флиппер есть Дельфин) и (Дельфин естьТакже Млекопитающее), то можно заключить, что (Флиппер есть Млекопитающее). Сравним это с SQL. Официальные стандарты SQL, формальная семантика SQL и, несомненно, их реализации чрезвычайно сложны и понятны только немногим специалистам. Тем не менее, огромное количество пользователей используют SQL в своей практике, не беспокоясь о внутренней сложности языка. 1.8 Как семантический веб соотносится с существующим вебом? Семантический веб - расширение существующего веба, а не его замена. Островки RDF и, возможно, связанные с ними онтологии могут разрабатываться постепенно. Крупные прикладные области, такие как медицина и биология, могут сначала адаптировать технологии семантического веба "локально", и уже затем повсеместно распространить в сети. Другими словами, не нужно думать, что семантический веб приведет к капитальной перестройке существующего Интернета. 1.9 Нет ли здесь серьезных проблем с правами на интеллектуальную собственность, если данные в процессе интеграции будут кэшироваться? И да, и нет. Уже сегодня веб столкнулся с такой проблемой. В конце концов, документы, которые вы просматриваете с помощью обычного браузера, обычно кэшируются на стороне клиента. Тем не менее, похоже, это не создает больших проблем. Подход семантического веба фундаментально ничем не отличается в этом плане. 1.10 Что представляет собой подразделение семантического веба (Semantic Web Activity) в рамках консорциума W3C? Подразделение семантического веба в консорциуме W3C объединяет все рабочие группы и группы по интересам, чьи цели состоят в том, чтобы улучшить существующие технологии семантического веба или внести свой вклад в их более широкое распространение. Домашняя страница подразделения содержит актуальный список текущих работ в рамках W3C (http://www.w3.org/2001/sw/). 2. Как семантический веб связан с... 2.1 ... искусственным интеллектом? Некоторая часть технологий семантического веба основана на результатах исследований в области искусственного интеллекта, таких как представление знаний (т.е. онтологии), теория моделей (т.е. точная семантика RDF и RDF схем), различные виды логических механизмов вывода (например, правила). Однако, следует отметить, что в рамках искусственного интеллекта существует ряд направлений (например, распознавание изображений), которые полностью ортогональны семантическому вебу. Также справедливо утверждение, что разработка семантического веба поставила перед сообществом искусственного интеллекта ряд новых задач: так называемый "веб-эффект", заключающийся в объединение знаний из разных источников, использование URI, потребность в механизмах логического вывода над неполными данными и т.д. 2.2 ... дескриптивной логикой? Дескриптивная логика - математическая теория (из области представления знаний), которая лежит в основе некоторых технологий семантического веба: OWL-DL и OWL-Lite. 2.3 ... XML? Когда следует использовать RDF, а когда XML? Оба подхода имеют свои сильные и слабые стороны, просто у них разные области использования. Модели данных, заложенные в их основу, предназначены для решения разных задач. Они не лучше и не хуже друг друга - просто разные. Одним из достоинств XML является возможность описывать жестко заданные иерархии. Приложения могут полагаться, и, в действительности, эффективно использовать информацию о положении элемента в иерархии. Например, большинство браузеров по-разному отображают HTML-элемент li в зависимости от того, как глубоко он расположен в иерархии списков. XML позволяет легко управлять содержимым через XML-схемы и объединять XML-данные, удовлетворяющие одной и той же схеме или DTD. Однако, объединение различных XML-иерархий (говоря техническим языком - DOM-деревьев) внутри одного приложения, может оказаться очень сложной задачей. XML не просто применять для осуществления интеграции данных. С другой стороны, RDF состоит из обладающего большой гибкостью набора взаимосвязей (триплетов). Применение URI (http://www.w3.org/2001/sw/SW-FAQ#weburi) даёт возможность объединять наборы триплетов между собой в единое целое, то есть, объединять описанные в RDF данные внутри одного приложения. Поэтому RDF идеально подходит для интеграции разрозненной в сети информации. Но это имеет свою цену: реконструирование иерархий из RDF может стать довольно сложной задачей. Например, будет непросто (и бессмысленно) описывать, скажем, векторную графику в терминах RDF. Для описания векторной графики лучше использовать SVG (http://www.w3.org/Graphics/SVG/)! Для уже существующих словарей, основанных на XML, кто-нибудь может разработать GRDDL-преобразование (http://www.w3.org/TR/grddl-primer/) в RDF с помощью XSLT или похожего языка, и использовать мощь RDF для объединения данных представленных в формате XML. Для вновь создаваемых словарей эта техника позволяет использовать обе версии: основанную на XML и базирующуюся на RDF, извлекая преимущества из обоих подходов. 2.4 ... XML-схемами? Что такого дают мне онтологии, чего не может дать XML и XML-схема? Этот вопрос связан с вопросом о том, что лучше использовать XML или RDF, который был рассмотрен ранее. Прежде всего, позвольте процитировать Руководство по OWL (http://www.w3.org/TR/owl-guide/): Онтологии отличаются от XML-схем тем, что представляют знания, а не формат сообщений. Большинство промышленных стандартов для веба является комбинацией спецификаций форматов сообщений и протоколов по их обмену. Этим форматам присуща операционная семантика, такая как: "При получении сообщения ЗаявкаНаПокупку перевести Количество долларов со СчетИсточник на СчетНазначение и поставить Продукт". Но эта спецификация не предназначена для поддержки механизмов логического вывода вне контекста транзакции. Например, в общем случае отсутствует механизм, чтобы заключить, что если Продукт имеет тип Шардоне, то это - белое вино. Одним из достоинств OWL-онтологий является наличие инструментов логического вывода над ними. Такие инструменты обеспечивают поддержку логических операций самого общего вида, не привязанных к какой-либо специфической предметной области. Если же кто-нибудь попытается построить систему логического вывода, основываясь на XML-схемах, то такая система неизбежно будет работать только с предопределенной предметной областью. [...] Они позволяют выиграть в результате возможности использования многофункциональных инструментов, произведенных сторонними компаниями и основывающихся на формальных свойствах языка OWL, при том что такие инструменты затруднительно разработать большинству организаций самостоятельно. К тому же, данные XML слишком чувствительны к XML-схеме, на которую они ссылаются. Если XML-схема изменяется, те же самые данные XML могут оказаться неполноценными, т.е. могут быть отвергнуты парсером. Это отчасти справедливо также для RDF-схемы и онтологий: если RDF-схема или онтология изменяется, результаты логического вывода из исходных данных могут измениться. Однако, исходные RDF-данные остаются пригодными для использования, нет никакой возможности для данных быть отвергнутыми, например, анализатором, по причине изменения схемы/онтологии. В общем случае RDF более устойчив к изменениям схемы или онтологии, чем XML к изменению XML-схемы. Заметим, что GRDDL-преобразование из XML в RDF может быть получено с помощью XML-схемы, как описано в спецификации GRDDL (http://www.w3.org/TR/grddl/#ns-bind). Это позволяет преобразовать в RDF любой XML-документ, валидный с точки зрения XML-схемы. 2.5 ... HTML мета-заголовками? HTML элементы meta и link могут быть использованы для добавления метаданных на HTML страницу. В терминах семантического веба это эквивалентно установлению RDF-связей для этой страницы как "источника". Заметим, однако, что эти элементы могут быть использованы для определения взаимосвязей только для данного HTML файла, в то время как семантический веб позволяет определять связи для любого ресурса в сети. Это также означает, что элементы meta и link могут быть использованы только автором документа, в то время как в случае семантического веба, любой желающий может опубликовать метаданные об этой странице. GRDDL позволяет автоматизировать извлечение метаданных заголовка, таких как Dublin Core, для преобразования в RDF. 2.6 ... тегами, фолксономиями? Использование тегов стало весьма популярным методом категоризации контента. Пользователи могут пометить произвольными строками текста свои данные (например, заметки в блоге, фотографии). Теги просты в использовании, но они упускают семантику данных. Тег обычно содержит 2/3 информации по сравнению с RDF триплетом. Субъект - известен, например, это URL для картинки во flickr, которую мы помечаем тегом, или URL, который мы сохраняем в закладках delicious. Объект тоже известен, например, http://flickr.com/photos/tags/cats или http://del.icio.us/tag/cats. Но связующий предикат, как правило, отсутствует. Машинам легче полагаться на RDF (http://www.flickr.com/groups/api/discuss/72157594497877875/), так как в этом случае они улавливают связь между субъектом и объектом. Поставщики фолксономий также заинтересованы в том, чтобы получать или выводить смысл (семантику) из своих тегов и способствуют развитию технологий семантического веба, таких как RDF и SKOS, для публикации доступных компьютеру версий своих концептуальных схем. Еще одна проблема с тегами - многочисленность тегов, которые обозначают одно и тоже, но отличаются написанием, например записаны строчными или прописными буквами, используют пробелы или символы подчеркивания и т.д., этот разнобой приводит к серьезным препятствиям для их применения в больших масштабах. Существует множество инициатив, стартапов, проектов и т.д., которые нацелены на то, чтобы объединить оба подхода, добавив к тегам немного больше строгости, присущей технологиям семантического веба, для создания нового типа приложений (сервис Reuters’ Open Calais, Radar Networks’ Twine, инициатива MOAT (http://moat-project.org/), Tag Commons (http://tagcommons.org/), и т.д.). 2.7 ... микроформатами? Микроформаты - обычно это относительно небольшие и простые наборы терминов, про которые существуют определенные соглашения в сообществе. Модели данных, разработанные в рамках семантического веба имеют потенциал для того, чтобы быть более выразительными, точными и формальными (и, обычно, более богатыми по структуре). Оба подхода могут быть использованы для выражения структурированных данных внутри веб-страниц. В некоторых случаях микроформаты уместны, потому что дополнительные возможности, которые предоставляют технологии семантического веба, не требуются. В других случаях, где необходима большая точность, использовать микроформаты не удастся. Данные, описанные в микроформатах, имеют отношение к определенной проблемной области. Можно разработать программу, адаптированную к определенному микроформату, и к тому, как надлежит использовать, например, атрибут содержимого "dc:date". Представляется сложным (хотя возможным) комбинировать разные микроформаты. Напротив, RDF может представлять (комбинировать) любую информацию, в том числе и ту, которая извлечена из микроформатов на текущей странице. Совместное использование микроформатов и RDF может быть полезно - универсальность инструментов семантического веба позволяет повторно использовать существующие средства. Например, такие механизмы как язык запросов и возможности по объединению утверждений из разных источников, легко стали частью сущности семантического веба. GRDDL (http://www.w3.org/2001/sw/grddl-wg/) - это "шлюз" для микроформатов. Он определяет стандартную процедуру, в соответствии с которой микроформаты, сохраненные в XHTML, могут быть "на лету" преобразованы в RDF. Список словарей для преобразования микроформатов в RDF можно найти на ESW Wiki (http://esw.w3.org/topic/CustomRdfDialects). Еще одна технология называется RDFa (http://www.w3.org/TR/rdfa-syntax) и определяет модуль XHTML1.1, который, в свою очередь, позволяет использовать фактически любой словарь RDF для аннотирования XHTML контента почти как микроформаты, но точнее и с улучшенными возможностями интеграции разных словарей в одном документе. Наконец, eRDF - http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml (разработанный Талисом) представляет собой промежуточный вариант: можно добавлять произвольные данные RDF на станицу (X)HTML без необходимости использовать новый модуль, но с ограничением на типы RDF-словарей, которые могут быть использованы таким образом. 2.8 ... Web 2.0? Одним из аспектов Web 2.0, если не считать захватывающие новые интерфейсы, является то, что Web 2.0 выталкивает логику и активных агентов с уровня сервера на уровень клиента, говоря более точно, браузера. Разработка активных приложений на стороне клиента также означает, что эти приложения используют все виды данных: данные, расположенные где-то в Сети, или данные, встроенные в страницу, хотя и не обязательно видимые на экране. Например, аннотация страницы в виде микроформатов, данные календаря в Сети, помеченные тегами изображения или ссылки, сохраненные на веб-сайте, и т.д. Этот аспект Web 2.0, в частности, демонстрируют приложения, использующие объединение различных типов данных ("перемешивание" данных). Такая практика объединения данных повсеместно распространилась в Сети и соответствует самой сущности семантического веба. Семантический веб предлагает более целостную модель и инструменты для определения и использования специфицированных отношений между данными в Сети. То есть, обе технологии направлены на интеллектуальное разделение данных. Уже появилось определенное количество типично Web 2.0 демонстраций и приложений, которые основаны на использовании инструментов семантического веба в комбинации с AJAX и другими средствами, а также захватывающими пользовательскими интерфейсами. Зачастую применение RDF делает процесс объединения разнородных данных легче, в основном в тех случаях, когда данные, собранные одним приложением, используются впоследствии другим. Универсальная природа RDF делает простым и понятным процесс объединения "перемешанных" (mashup) данных в нечто целостное, чего не всегда удается достичь в случае приложений Web 2.0, не использующих RDF. Попытки представить эти два подхода как альтернативы, или, даже утверждать, что фолксономии превосходят подход семантического веба, были предметом обсуждения в блогосфере и различных публикаций в течении некоторого времени, но оба сообщества в конце концов пришли к пониманию, что эти две техники скорее дополняют друг друга, нежели являются конкурирующими. 3. Как я могу принять участие в развитии семантического веба? 3.1 Должен ли я для использования семантического веба произвести вручную семантическую разметку всех существующих веб-страниц или конвертировать данные в реляционных базах данных в формат RDF? Семантический веб - это сеть данных. Данные сами по себе могут располагаться в базах данных, электронных таблицах, страницах вики или просто в традиционных веб-страницах. Задача состоит в том, чтобы разработать инструменты, которые смогут "экспортировать" эти данные в форму RDF. При этом RDF играет роль универсальной модели данных, что образно можно представить как специальный "клей" для интеграции данных. Это не означает, что данные должны быть физически преобразованы в форму RDF и сохранены, скажем, в RDF/XML. На самом деле, автоматические процедуры, например, конвертер из SQL в RDF (http://esw.w3.org/topic/RdfAndSql) для реляционных баз данных, GRDDL процессоры (http://www.w3.org/2001/sw/grddl-wg/) для файлов XHTML с микроформатами (http://en.wikipedia.org/wiki/Microformats) и т.д., могут производить данные RDF на лету, например, в качестве ответа на запрос. RDF-описания также могут быть включены в данные с помощью других инструментов (например данные Adobe's XMP (http://www.adobe.com/products/xmp/index.html) автоматически добавляются Photoshop-ом к изображениям JPEG). Также существуют инструменты для разработки онтологий на высоком уровне, вместо того, чтобы вручную редактировать файлы онтологий. Конечно, непосредственное редактирование данных RDF иногда необходимо, но можно ожидать, что оно будет все меньше и меньше распространено, по мере того, как более качественными будут становиться соответствующие редакторы. Очевидно, еще много необходимо разработать в этой области, и это предмет для активных научно-технических исследований. Необходимо как можно больше повторно использовать существующие данные в их существующих формах и минимизировать количество RDF-данных, которые нужно создавать вручную. 3.2 Должен ли я для использования семантического веба выложить все мои данные в публичный доступ? А как же личная информация? Семантический веб обеспечивает инфраструктуру для приложений, которая расширяет, а не заменяет существующий веб. Это означает, что существующая инфраструктура файрволов, различных уровней защиты, шифрование, и т.д. остаются на месте. Если по какой-либо причине данные должны быть локализованы в локальной сети и защищены брендмауэром, не будучи доступными в открытом доступе (например, личная информация, коммерческая тайна, и т.д.), то конкретное приложение семантического веба, обрабатывающее эти данные, должно работать в локальной сети. Это ничем не отличается от разработки в традиционном вебе, использования веб-сервисов, и т.д. Определенное количество приложений было разработано для использования за корпоративным файрволом, некоторые из них, впоследствии, мигрировали в Интернет, другие остались за файрволом. Этот же подход применим и в отношении приложений семантического веба. 3.3 Где я могу найти инструменты для разработки приложений семантического веба? Существует несколько списков в Сети, которые предоставляют более-менее исчерпывающий обзор различных доступных инструментов. Существует вики-страница на сайте W3C ESW Wiki (http://esw.w3.org/topic/SemanticWebTools), которая поддерживается сотрудниками W3C. Эта страница включает ссылки на: среды программирования; валидаторы, которые могут быть использованы для проверки данных RDF/XML или OWL онтологий; точки доступа SPARQL; специализированные редакторы или хранилища троек. Страница также включает ссылки на другие списки, такие как "Руководство по ресурсам RDF от Дэйва Бекетта" (http://planetrdf.com/guide/) или список инструментов, поддерживаемый Freie Universität Berlin (http://www.wiwiss.fu-berlin.de/suhl/bizer/toolkits/index.htm). 3.4 Действительно ли инструменты семантического веба настолько стабильны и широко распространены, как, скажем, парсер XML xerces? В целом большинство инструментов уже вполне приличного качества. Например, такие проекты с открытым исходным кодом как Jena (http://jena.sourceforge.net/), Sesame (http://sourceforge.net/projects/sesame/) или Redland (http://librdf.org/) легко могут сравниться с xerces по их распространенности и по богатству предоставляемых возможностей. Базы данных, такие как Mulgara (http://mulgara.org/) или Virtuoso (http://virtuoso.openlinksw.com/), также широко используются и очень интенсивно разрабатываются в последние несколько лет. Появляется все больше и больше коммерческих инструментов, в том числе редакторов, специализированных баз данных, систем управления контентом, валидаторов и средств для создания онтологий, и т.д. Вики-страница на сайте W3C ESW Wiki (http://esw.w3.org/topic/SemanticWebTools) предоставляет хороший обзор большинства из них. Конечно, простора для развития технологии достаточно. Семантический веб моложе, чем XML, и требуется время, чтобы догнать XML, создав инструменты такого же уровня зрелости и эффективности. За последние несколько лет по всем направлениям развития технологии достигнуты серьёзные улучшения, и уже сейчас осуществляется разработка крупных проектов уровня предприятия. В целом можно сказать, что отсутствие инструментов более не является причиной для того, чтобы отказываться от разработки приложений семантического веба. 3.5 Как я могу разместить RDF в моих (X)HTML страницах? До недавнего времени не было возможности вставить полный RDF в XHTML без нарушения валидности результирующего XHTML, за исключением использования элементов meta и link в заголовке. Наилучшим решением было сохранение RDF отдельно и использование URI-ссылки на страницу XHTML, в свою очередь элемент link в XHTML использовался для ссылки на содержимое RDF. Эта техника часто называется "RDF autodiscovery link" и используется целым рядом инструментов. Ситуация изменилась после появления GRDDL (http://www.w3.org/TR/grddl-primer/) и RDFa (http://www.w3.org/TR/xhtml-rdfa-primer/). GRDDL обеспечивает "шлюз" для микроформатов, а RDFa предоставляет модуль XHTML1.1, который позволяет использовать фактически любой словарь RDF для аннотирования XHTML контента с помощью RDF-данных. 3.6 Как я могу экспортировать мои данные из реляционной базы данных? Это одна из областей активных научно-технических исследований, и на текущий момент окончательного ответа еще нет. Вообще, существуют методы для преобразования запросов к RDF (например, на SPARQL) в запросы SQL на лету. То есть, для RDF-инструмента реляционная база данных выглядит как RDF-хранилище. Детали проецирования реляционных таблиц на RDF обычно описываются для конкретной базы данных с помощью небольшой онтологии и/или набора правил. Онтологии/правила создаются вручную, после чего преобразование данных производится автоматически. Решение в общем виде пока не готово, но работа в этом направлении ведется в W3C (смотрите страницы W3C Wiki - http://esw.w3.org/topic/RdfAndSql для получения дополнительной информации). Обратите внимание, что W3C сформировала группу RDB2RDF Incubator Group для более тщательного исследования этого вопроса. Результаты работы этой группы должны быть опубликованы в начале 2009. 3.7 Где я могу получить больше информации о семантическом вебе? Руководство по ресурсам RDF от Дэйва Бекетта (http://planetrdf.com/guide/) предоставляет список статей, довольно полно охватывающий тему семантического веба. Домашняя страница Semantic Web Activity (http://www.w3.org/2001/sw/) перечисляет все рекомендации, предоставляет ссылки на некоторые презентации, статьи, и другие материалы, разработанные сотрудниками W3C или участниками рабочих групп по данной тематике. Отдельная страница (http://www.w3.org/2001/sw/BestPractices/Tutorials) содержит список учебных материалов, которые могут быть интересны при знакомстве с технологиями семантического веба. Рабочая группа по наилучшим практикам и развертыванию семантического веба - http://www.w3.org/2001/sw/BestPractices (уже не существующая) выпустила ряд замечаний, которые могут быть полезны при разработке онтологий, установке сервера для обработки RDF-данных, использовании типов данных XML-схем совместно с RDF и т.д. Опубликованы книги на тему семантического веба. Список книг, который можно найти на сайте W3C Wiki (http://esw.w3.org/topic/SwBooks) содержит (на момент написания англоязычного FAQ) более 40 книг на разных языках, опубликованных известными издательствами, такими как O'Reilly, MIT Press, Cambridge University Press, Springer Verlag и другими. 3.8 Где можно найти статьи/публикации о семантическом вебе? Регулярно проводятся конференции, посвященные семантическому вебу целиком, либо просто уделяющие ему серьезное внимание. Наиболее известные из них: * "International Semantic Web Conference" - ежегодное событие, материалы которого публикует Springer (материалы доступны онлайн начиная с 2006 года - http://iswc2006.semanticweb.org/). В отличие от этой конференции, носящей глобальный характер, конференции "European Semantic Web Conference" и "Asian Semantic Web Conference" проводятся в Европе и Азии соответственно. * "International World Wide Web Conference" (http://www.iw3c2.org/) - основная ежегодная конференция по Технологиям World Wide Web в целом. На этой конференции всегда уделяется большое внимание семантическому вебу, как с академической точки зрения, так и с точки зрения сообщества разработчиков. Посмотрите страницу организационного комитета для получения дополнительной информации об этой конференции и ссылок на ее материалы. * Ежегодная конференция "Semantic Technologies" также становится важным событием. Она в меньшей степени ориентирована на исследовательские аспекты семантического веба и больше концентрируется на производственных и бизнес аспектах, новых приложениях и проблемах практической разработки. 3.9 Где я могу найти онтологии, словари или наборы данных для моего приложения? Существует несколько порталов, которые собирают информацию о существующих онтологиях, например SchemaWeb (http://www.schemaweb.info/). Другой пример - сервис "PingTheSemanticWeb" (http://pingthesemanticweb.com/), который собирает информацию о новых RDF-документах в Интернете, основываясь на сигналах "ping", посылаемых приложениями, которые генерируют данные, и на RDF autodiscovery ссылках, которые находят люди, путешествуя по Интернету. На текущий момент (точнее, на момент написания англоязычного FAQ) сервис накопил информацию примерно о семи миллионах RDF-файлов. Также существуют поисковые сервера, такие как Swoogle (http://swoogle.umbc.edu/), Falcon (http://iws.seu.edu.cn/services/falcons/objectsearch/index.jsp), Sindice (http://www.sindice.com/query/keyword) и другие (см. отдельную секцию на вики-странице, посвящённой инструментам - http://esw.w3.org/topic/SemanticWebTools#head-09ab45ef1fb5d28af30c2787c5ef6705329abc5d), которые специализируются на поиске документов семантического веба. 3.10 Могу ли я видеть данные семантического веба непосредственно в моём браузере? Вы можете видеть RDF-данные в удобочитаемом виде, если используете браузер для просмотра RDF, например Tabulator (http://dig.csail.mit.edu/2005/ajar/ajaw/tab.html), Disco (http://www4.wiwiss.fu-berlin.de/rdf_browser/), OpenLink RDF Browser (http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html) и расширения веб-браузеров, например, PiggyBank (http://simile.mit.edu/wiki/Piggy_Bank) или Semantic Radar (http://sioc-project.org/firefox). Хотя для конечных пользователей нет необходимости видеть данные семантического веба (вместо этого пользователи выиграют за счет использования более совершенных информационных систем, построенных на базе семантических данных), эта возможность может быть полезна разработчикам, чтобы отслеживать данные семантического веба непосредственно, и чтобы они могли использовать эту информацию в своих приложениях. 3.11 Существует ли сообщество разработчиков, к которому я мог бы присоединиться? Группа W3C Semantic Web Interest (http://www.w3.org/2001/sw/interest/) - одно из таких сообществ, и, возможно, лучшее место для того, чтобы начать. Это публичный список рассылки, кроме того он также активен на канале #swig IRC Freenode. Также существуют различные сообщества, которые концентрируются на отдельных специфических аспектах или целях вокруг семантического веба. Несколько примеров: * DOAP (http://usefulinc.com/doap/) - проект, направленный на создание описаний программных проектов open-source. * FOAF (http://xmlns.com/foaf/0.1/) - проект, ориентированный на создание описаний людей и их социальных отношений (см. канал #foaf IRC на Freenode) * SIOC (http://sioc-project.org/) - проект, описывающий информацию об онлайн сообществах (блогах, досках объявлений, и т.д.) и использующий эту информацию в целях объединения таких сообществ вместе. * Связывание открытых данных (Linking Open Data - http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData) в семантическом вебе - проект, который ставит своей целью сделать различные открытые источники данных доступными в Интернете в виде RDF и установить RDF-ссылки между сущностями из разных источниках данных. * PlanetRDF Blog аггрегатор (http://planetrdf.com/) - ещё один источник, который собирает в одно целое блоги нескольких активных разработчиков семантического веба со всего мира. 3.12 Почему W3C разработал новый кубический логотип? Новый логотип (http://www.w3.org/2007/10/sw-logos.html) был создан, чтобы представлять семантический веб, а кнопки технологий разработаны для того, чтобы создать целостный бренд для всех стандартов, которые и составляют семантический веб. В дальнейшем планируется создание пиктограмм стандартов для маек, кружек и так далее. В этом случае вы ещё увидите знакомый синий RDF-триплет. 4. Вопросы по RDF, онтологиям, SPARQL, правилам... 4.1 Что такое RDF? RDF (http://www.w3.org/TR/REC-rdf-syntax) - модель описания ресурсов (Resource Description Framework), это стандартная модель для обмена данными в сети. RDF содержит средства, которые облегчают объединение данных даже в тех случаях, когда схемы данных отличаются. RDF специально поддерживает изменения схем с течением времени, не требуя от потребителей данных внесения каких-либо изменений. RDF расширяет структуру ссылок в Сети, позволяя использовать URI для обозначения именованных связей между сущностями аналогично тому, как обозначаются с помощью URI сами связываемые сущности (такую расширенную ссылку называют триплетом). Использование этой простой модели позволяет смешивать структурированные и полу-структурированные данные, публиковать их и разделять между разными приложениями. Такая ссылочная структура образует направленный и помеченный граф, в котором ребра представляют собой именованные ссылки между ресурсами, образующими узлы графа. Представление в виде графа является наиболее простой для восприятия моделью RDF-данных и часто используется в ориентированных на простоту восприятия визуальных иллюстрациях. "Букварь RDF" (http://www.w3.org/TR/rdf-primer/) - хороший материал для дальнейшего чтения о RDF. 4.2 В каких форматах может быть представлен RDF? Утверждения RDF (или триплеты) могут быть закодированы множеством разных способов, как основанных на XML (например, RDF/XML - http://www.w3.org/TR/rdf-syntax-grammar/), так и нет (Turtle - http://www.w3.org/TeamSubmission/turtle/, N-triples - http://www.w3.org/TR/rdf-testcases/#ntriples, и другие). По большому счёту неважно, какой из этих форматов (позволяющих представить данные в последовательной форме) используется для выражения данных. Информация представлена в RDF-триплетах, и конкретный формат - не более чем вопрос выбора синтаксиса. Большинство RDF-инструментов могут работать с несколькими форматами сериализации. Давайте сравним "числа" и "цифры". Числа - это математическое понятие; цифры (http://en.wikipedia.org/wiki/Numeral) - средство представления чисел. Могут быть использованы разные представления: римские, арабские, шестнадцатеричные, восьмиричные, и т.д. Некоторые из этих представлений (например, римские) могут быть очень сложными, некоторые проще или привычнее, но все они представляют одну и ту же абстрактную концепцию. 4.3 Разве RDF не является просто приложением XML? Нет. Фундаментальная модель RDF не зависима от XML. RDF (http://www.w3.org/2001/sw/SW-FAQ#whrdf) - это модель, описывающая квалифицированные (или именованные) отношения/связи между двумя (сетевыми) ресурсами, или между ресурсом и литералом. На этом фундаментальном уровне единственная общность между мирами RDF и XML заключается в использовании типов данных XML-схем для определения литералов в RDF. Используя GRDDL (http://www.w3.org/TR/grddl-primer/) можно легко автоматизировать преобразование из XML в RDF, многие XML-словари могут рассматриваться как приложения RDF. Отметим, что один из форматов сериализации RDF на самом деле основан на XML (RDF/XML - http://www.w3.org/TR/rdf-syntax-grammar/), и это, возможно, наиболее широко используемый сегодня формат. Но существуют другие, см. отдельный вопрос о представлении RDF-данных. 4.4 Где же "веб" в семантическом вебе? Стандарты семантического веба следуют принципам (http://www.w3.org/TR/webarch/), заложенным в основы Интернета, и нацелены на обеспечение роста всепланетной коллекции семантически богатых данных. Ключевым элементом, заложенным в основы, являются URI (аналог веб-адресов), предназначенные для именования чего-либо. Так как значение термина в языке, развитие которого не контролируется централизованно, определяется его согласованным использованием, а URI повсеместно используются для доступа к веб-страницам, то Интернет используется для установления глобально разделяемых значений для URI в семантическом вебе. (Вот, что подразумевается под утверждением о том, что основы RDF URI закладываются в Интернете.) Как и в случае с обычным вебом, этот подход позволяет семантическому вебу расти и эволюционировать без какого бы то ни было централизованного управления, но в то же время продолжая обеспечивать максимум согласованности и возможностей контроля для целей конкретных приложений и/или конкретных предприятий. Эти методики продолжают развиваться, но, в идеале, как только вы видите URI семантического веба, вы можете использовать его в своем браузере и увидеть авторитетную документацию о его использовании. Более того, как только некоторая программа обнаружит URI в контексте семантического веба, используя этот URI она может найти онтологию, которая точно специфицирует каким образом этот термин связан с другими терминами. Соответственно, программа может обучаться, используя новые термины, являющиеся синонимами уже известных, или связанные с известными терминами другим, более сложным, но определенным образом. Все это даёт возможность находить и корректно объединять данные из множества источников, в некоторых случаях даже при использовании разных онтологий. "В семантическом вебе не семантика является инновацией, а веб." Крис Велти, IBM. 4.5 Как я могу запросить RDF данные? Рабочая Группа W3C по Доступу к Данным (http://www.w3.org/2001/sw/DataAccess/) разработала язык запросов SPARQL (http://www.w3.org/TR/rdf-sparql-query/). SPARQL определяет запросы в терминах шаблонов графа, которые сравниваются с направленным графом, представляющим собой RDF-данные. SPARQL включает в себя возможности по запрашиванию соответствия как необходимым, так и необязательным шаблонам, а также возможности объединения таких шаблонов с помощью логических операций конъюнкции и дизъюнкции ("и" и "или"). Результат сравнения также может быть использован для конструирования новых графов RDF с использованием отдельных шаблонов. SPARQL может быть использован как часть программной среды общего назначения, такой как Jena, но запросы также могут быть отправлены в виде сообщений на удаленную точку доступа SPARQL при использовании вспомогательных технологий SPARQL-протокол (http://www.w3.org/TR/rdf-sparql-protocol/) и "результаты запросов SPARQL в XML" (http://www.w3.org/TR/rdf-sparql-XMLres/). Используя такие точки доступа SPARQL, приложения могут запрашивать удаленные RDF данные и, даже, формировать новые RDF графы без какой-либо локальной обработки. Для получения дополнительной информации смотрите отдельный FAQ по SPARQL (http://thefigtrees.net/lee/sw/sparql-faq). 4.6 Почему бы не использовать SQL и/или XQuery для запроса RDF-данных? Зачем разрабатывать еще один язык запросов? SPARQL - язык запросов, разработанный для модели данных RDF. Сами запросы выглядят и ведут себя как RDF, то есть запросы не зависят от физического представления RDF-данных (структуры базы данных, их представления в файле RDF/XML и т.д.) Если, например, запрос сделан через XQuery, приложение должно знать, каким образом эти конкретные данные представлены в RDF/XML (и это при том, что RDF/XML - только один из возможных форматов сериализации RDF-данных). 4.7 Могу я использовать SPARQL для добавления, удаления или обновления данных RDF? Текущая стандартизированная версия SPARQL позволяет только получать данные из RDF. Нет никакого эквивалента для SQL-операторов INSERT, UPDATE и DELETE. Большинство основанных на RDF приложений обрабатывают новые, изменяющиеся и утрачивающие актуальность данные с помощью API конкретной системы хранения RDF (http://esw.w3.org/topic/SemanticWebTools#head-805c63479c854babe4657d5184de605910f6d3e2). Кроме того, данные RDF могут существовать виртуально (то есть создаваться по SPARQL-запросу). Существуют системы, которые создают данные RDF из других видов размеченных данных, таких как данные в форме Wiki-разметки (http://wiki.ontoworld.org/index.php/Semantic_Wiki_State_Of_The_Art) или Atom Syndication Format (http://wingerz.com/blog/?p=35). Однако, ведется активная работа по расширению стандарта SPARQL операциями обновления. См. вики-страничку, посвященную такому расширению SPARQL, для получения детальной информации (http://esw.w3.org/topic/SPARQL/Extensions/Update). Эта функция, определенно, одна из наиболее часто востребованных для реализации в следующей версии стандарта SPARQL (http://www.w3.org/2001/sw/SW-FAQ#sparql2). 4.8 Появится ли обновлённая версия стандарта SPARQL? Когда будет введена в стандарт функция X? Группа, разрабатывающая SPARQL, отложила реализацию двенадцати (http://www.w3.org/2001/sw/DataAccess/issues) потенциально возможных функций SPARQL, которые не были включены в текущую версию стандарта из-за ограничений по времени и в силу отсутствия должного опыта разработки. Пользователи SPARQL предлагали много разных улучшений для этого языка. Некоторые из них нашли свое отражение в конкретных реализациях SPARQL. Для того, чтобы держать пользователей SPARQL в курсе и для минимизации различий в реализациях нестандартных возможностей SPARQL сообщество поддерживает список расширений SPARQL (http://esw.w3.org/topic/SPARQL/Extensions). Обсуждение расширений ведется в списке рассылки public-sparql-dev@w3.org (http://lists.w3.org/Archives/Public/public-sparql-dev/). Кроме того, во время конференции WWW 2008 (http://www2008.org/) в Пекине в апреле 2008 года состоялась встреча в формате BOF (http://www.w3.org/mid/38CBA1F6A350B044AF785E63AAC3C6776497E25ED5@G5W0276.americas.hpqcorp.net), в рамках которой были идентифицированы и категоризованы некоторые отсутствующие возможности. Поддерживая общение между пользователями и разработчиками SPARQL, мы надеемся, что когда придет время принимать новую версию стандарта SPARQL, то выбрать расширения, обеспечивающие возможность взаимодействия, будет достаточно легко. Мы знаем, что это должно случиться довольно скоро, хотя окончательное решение пока еще не принято. 4.9 Какую роль играют онтологии и/или правила в семантическом вебе? В семантическом вебе и онтологии и правила используются для того, чтобы отражать дополнительные ограничения и логические взаимосвязи между ресурсами. Примером их использования является облегчение интеграции данных, например, если различные термины используются для описания одной и той же сущности в разных наборах данных, или небольшое количество дополнительных знаний может привести к обнаружению новых взаимосвязей. Онтологии и правила относятся к двум различным традициям, основанным на логике, и разработанным в последние десятилетия. Тогда как онтологии тесно связаны с представлением знаний и, частично, с дескриптивной логикой, правила больше полагаются на развитие логического программирования и систем, основанных на правилах. Смотрите отдельно вопросы, касающиеся онтологий (http://www.w3.org/2001/sw/SW-FAQ#whont) и правил (http://www.w3.org/2001/sw/SW-FAQ#whrules). 4.10 Что такое онтологии в контексте семантического веба? Онтологии определяют концепты и отношения между ними, используемые для описания и представления знаний в какой либо области. Онтологии применяются для классификации понятий, используемых в определённом приложении, характеризуют возможные отношения и определяют возможные ограничения использования этих отношений. Практически, онтологии могут быть очень сложны (с несколькими тысячами определений) или очень просты (описывающие один или два концепта). Примерами применения онтологий или правил в семантическом вебе могут служить: объединение данных в случаях неоднозначности соответствия терминов, используемых в разных наборах данных, или обнаружение новых связей при применении некоторых дополнительных знаний. Поясним вышесказанное конкретным примером. Продавец книг хочет объединить данные, исходящие от различных издателей. Данные могут быть импортированы в общую RDF-модель с использованием конвертера баз данных издателей. Однако, одни базы данных могут использовать термин "автор", в то время как другие - термин "создатель". Чтобы завершить интеграцию, нужно добавить в RDF-данные дополнительную информацию (предназначенную для "склеивания" данных), описывающую факт того, что отношение, описанное как "автор" - одно и тоже, что и "создатель". Эта дополнительная информация, на самом деле, и есть онтология, хоть и очень простая. Языковые системы, такие как RDF-схемы, а также различные варианты OWL представляют собой языки описания онтологий в контексте семантического веба. По крайней мере это касается стабильных спецификаций, опубликованных в 2004. 4.11 Что такое "правила" в семантическом вебе? Термин "правила" в контексте семантического веба относится к случаям применения к данным семантического веба элементов логического программирования и систем, основанных на правилах. Правила, например, предлагают способ ускорения конструирования ограничений, накладываемых на определённые в RDF отношения, или могут быть использованы для выявления новых (до этого неявных) отношений. Различные системы правил ("продукционные" или "порождающие" правила; системы, похожие на Пролог и т.п.) сильно отличаются друг от друга, и невозможно определить один господствующий язык, чтобы охватить их все. Однако, возможно определить "ядро", которое, в сущности, может быть "известно" всем системам, основанными на правилах. Это ядро основано на ограничивающем правиле, называемом правилом Хорна, которое (как и большинство правил) имеет форму "если условие, то следствие", но накладывает определённые ограничения на условие и следствие, которые могут быть использованы. Поясним на простом примере. Когда интегрируются данные из нескольких источников, они могут включать ссылки на людей, их имена, домашние странички, адреса электронной почты и т. д. Но данные ничего не говорят о том, когда два человека должны рассматриваться как один и тот же, хотя ясно, что это необходимо для полной интеграции. Дополнительное условие может быть таким "если два человека имеют одинаковые имя, домашнюю страницу и адрес электронной почты, то они идентичны". Такое условие можно выразить с помощью правил Хорна (хотя описать языком онтологий, таким как OWL, было бы не просто). Рабочая группа формата обмена правилами (RIF - Rule Interchange Format - http://www.w3.org/2005/rules/wg/) сейчас работает над точным определением этого "центрального" языка правил, расширяя язык по нескольким направлениям (продукционные правила, логическое программирование и др.). Цель работы группы - обеспечение обмена выражениями языка между различными системами и определение точных взаимосвязей между правилами и онтологиями OWL, а также использование правил с RDF-триплетами. 4.12 Как мне узнать, в каком случае использовать OWL, а в каком правила? Как их можно использовать вместе? RIF сейчас не является "рекомендацией W3C" (как и "кандидатом в рекомендации"), так что пока его следует использовать как экспериментальную основу. Когда он разовьётся до статуса "рекомендованного", к тому времени рабочей группой RIF будут сформулированы ответы на поставленные вопросы. 4.13 Что такое "механизм логического вывода" в контексте семантического веба? Говоря по простому, механизм логического вывода в контексте семантического веба может быть определен как выявление новых отношений. Как описано выше (http://www.w3.org/2001/sw/SW-FAQ#whrdf), модель данных представляет собой массив (именованых) отношений между ресурсами. "Механизм логического вывода" подразумевает существование автоматизированной процедуры, позволяющей генерировать новые отношения, основываясь на данных и некоторой дополнительной информации (в форме онтологии или набора правил). Будут ли новые связи явно добавляться в набор данных, или они будут формироваться в момент запроса - это детали реализации. Простой пример поможет нам разобраться подробнее. Допустим, набор данных включает следующее отношение между ресурсами (объектами) "Флиппер - это дельфин". В некоторой онтологии может быть определено, что "каждый дельфин также является млекопитающим". Это значит, что основанное на семантическом вебе приложение, понимающее высказывание "X - это также Y", может добавить в набор отношений утверждение, что "Флиппер - млекопитающее", хотя это утверждение не является частью исходных данных. В таком случае можно сказать, что было выявлено новое отношение. 4.14 Должен ли я использовать онтологии для приложений семантического веба? Это зависит от приложения. "Ответ на вопрос о том, какую роль играют онтологии и/или правила" (http://www.w3.org/2001/sw/SW-FAQ#whinference) включает в себя пример очень простой онтологии. Для некоторых приложений можно обойтись без использования даже таких маленьких онтологий и положиться на логику самой программы. Для других приложений можно ограничиться очень простыми онтологиями, как та, что описана в примере, и позволить окружению семантического веба использовать эту дополнительную информацию, предоставив тем самым возможность идентифицировать используемые термины. Некоторым приложениям необходимы соглашения относительно общей терминологии, но без применения логических схем, накладывающих ограничения на их использование. Наконец, часть приложений нуждается в более сложных онтологиях со сложными механизмами логического вывода. Все это зависит от требований и целей приложения. Существующие технологии семантического веба предлагают большую палитру языков для описания как простых, так и сложных терминологий: RDF Schema (http://www.w3.org/TR/rdf-schema/), SKOS (http://www.w3.org/TR/swbp-skos-core-guide), различные диалекты OWL (http://www.w3.org/TR/owl-ref/ - OWL Lite, OWL DL, OWL Full). Эти технологии отличаются по выразительным возможностям и по сложности. Существующий выбор представляет собой спектр возможностей по применению онтологий в приложениях: от самого простого уровня сложности онтологий (RDF Schema) до наибольшей степени выразительности (OWL Full). Кроме того, всячески приветствуется использование существующих онтологий пользователями семантического веба: например, SKOS - для представления структур, подобных тезаурусам, таксономиям или других контролируемых словарей. Вы можете найти ссылки на коллекции онтологий в этом документе (http://www.w3.org/2001/sw/SW-FAQ#findont). Приложения также могут не использовать ни одну из онтологий. Использование онтологий не является требованием для приложений семантического веба. Отметим, что создание других "диалектов" языков онтологий является сегодня областью активных разработок, имеющих целью разработку минимального уровня онтологии, который, в некоторых случаях, лишь немного более выразителен, чем RDF Schema (http://www.w3.org/TR/rdf-schema/). Эта проблема лежит в зоне ответственности новой рабочей группы по продвижению OWL (сформированной в конце 2007 года - http://www.w3.org/2007/OWL/). Кроме того, текущая работа над правилами в W3C (http://www.w3.org/2005/rules/) может привести к альтернативе использования некоторых простых правил, заменяющих (или дополняющих) онтологии. 4.15 Не пытается ли семантический веб навязывать смысл "сверху"? Нет. Что делают технологии семантического веба, так это определяют "языки" с хорошо понятными правилами и внутренней семантикой: RDF Schema (http://www.w3.org/TR/rdf-schema/), различные диалекты OWL (http://www.w3.org/TR/owl-ref/) или SKOS (http://www.w3.org/TR/swbp-skos-core-guide). Какой из этих формализмов используется и что "выражено" с помощью выбранного языка - целиком зависит от приложения. Онтологии могут быть разработаны небольшими сообществами, по инициативе "снизу", и разделены с другими сообществами. 4.16 Правда ли, что семантический веб требует от каждого согласия применять единую, предопределенную, гигантскую онтологию? Очевидно, что это просто невозможно. Если онтологии используются, они могут быть получены из самых разных источников, и могут свободно перемешиваться. Фактически, "идеал" семантического веба - как можно больше предоставлять в доступ и повторно использовать. И уже сделано много работы, чтобы полу-автоматически связать разные словари. Типичное приложение семантического веба одновременно использует онтологии, разработанные разными сообществами в Сети, такие как метаданные Dublin Core (http://dublincore.org/documents/dces/), терминологию FOAF (друг друга - http://xmlns.com/foaf/0.1/), и т.д. Онтологии в семантическом вебе - не более чем рационализация уже существующей практики разделения данных. Приложения могут и, действительно, взаимодействуют без достижения или, хотя бы, попыток достичь глобального единообразия и охвата. Система, которая представляет товары розничного торговца покупателям, будет собирать информацию из баз данных поставщиков (которые, скорее всего, используют разнородные форматы) и преобразовывать ее в формат, наиболее удобный розничному торговцу для представления покупателям. Система заполнения налоговых деклараций возьмет банковские данные в формате, который предпочитает банк, и превратит их в бланк налоговой декларации. Нет никакой необходимости в глобальной онтологии. Нет даже необходимости глобального соглашения или правил преобразования данных между отдельными использующимися онтологиями, за исключением необходимости существования подмножества терминов, связанных в контексте конкретной операции преобразования данных. Достаточно локальных соглашений, но принятие терминологии из существующих онтологий способствует возможности предоставления данных и облегчает интеграцию. Конечно, некоторые словари могут со временем всё шире и шире использоваться и признаваться, ведь эволюционные изменения скорее восходящие, чем нисходящие. 4.17 Люди никогда не придут к соглашению по поводу используемых терминов. Не приведёт ли это к поражению семантического веба? Проблема, раскрываемая этим вопросом, в том, что разные люди никогда не договорятся, как в точности определять все понятия. То есть, хотя большинство людей обладают стандартными определениями понятий "кошка", "собака", при этом не каждый сможет охарактеризовать различие между понятиями "скаляр" и "вектор". Любое компьютерное приложение, пытающееся функционировать в рамках некоторой онтологии, неизбежно исказит смысл, по сравнению со смыслом, который попытаются выразить некоторые люди. Как следствие, будут существовать онтологические несоответствия между частями веба, разработанными разными людьми. Вопрос в том, сможет ли это разрушить саму суть семантического веба. Однако, семантический веб не полагается на существование одной большой и всеохватывающей онтологии. Вместо этого семантический веб организовывается на основе небольших сообществ единомышленников, которые могут прийти к соглашению о том, какую терминологию использовать. В этом случае приложения могут взаимодействовать (и действительно делают это), не пытаясь достигнуть всеобщего консенсуса. Не требуется существования глобальной онтологии, вместо этого приложению необходимо только отображать некоторое подмножество терминов, адекватных в рамках конкретной транзакции, на общий словарь. Конечно, несмотря на то, что соглашение может быть локальным, использование уже существующих словарей способствует интеграции и обмену данными. Заметим, что этот раздел по существу совпадает с разделом, в котором обсуждается вопрос о том, не подразумевает ли применение семантического веба использования единой, предопределённой, гигантской онтологии. См. также ответ на этот вопрос (http://www.w3.org/2001/sw/SW-FAQ#whtopont), включая примеры. 4.18 Что включается в процесс разработки онтологии с использованием технологий семантического веба? Действительная трудность, при разработке онтологии - это понимание проблемы, которая должна быть смоделирована, и нахождение согласия на уровне сообщества. RDF Schema (http://www.w3.org/TR/rdf-schema/) и/или OWL (http://www.w3.org/TR/owl-ref/) предоставляют инфраструктуру для формального описания таких онтологий на специальном языке. Время и силы, необходимые для их изучения, это только крупица времени, необходимого для разработки самой онтологии, т.е. понимания терминов и отношений в данной области знаний и установления взаимопонимания с коллегами. Инструменты для разработки онтологий, такие как Protege или SWOOP, скрывают большую часть сложностей синтаксиса и позволяют пользователю сконцентрироваться на действительных проблемах представления знаний. 4.19 Последствия противоречий в формальной логике: разве они не разрушат семантический веб? Проблема, которую поднимает этот вопрос, заключается в том факте, что основываясь на правилах формальной логики, при наличии противоречия можно вывести равным образом как некоторые заключения, так и их отрицания. Вопрос в том, не создаст ли это фундаментальных проблем для семантического веба. "Логический вывод" в терминах семантического веба может быть охарактеризован как нахождение новых связей (см. объяснение в ответе на один из вопросов выше - http://www.w3.org/2001/sw/SW-FAQ#whinference). Этот логический вывод в основном делается в рамках ограниченного, "защищенного" подмножества логики первого порядка. Обычно, логический вывод в семантическом вебе не использует всю мощь логики первого порядка (или более высоких порядков), и поэтому избегает некоторых опасностей, связанных с противоречиями в логике. Другими словами, на практике не стоит ожидать здесь больших проблем. 4.20 Будет ли W3C стандартизировать какие-либо конкретные онтологии? Вообще то говоря, онтологии должны создаваться и поддерживаться различными, специализированными сообществами. Предпочтения W3C заключаются в том, чтобы позволить этим другим сообществам разработать их собственные онтологии. Это справедливо в отношении таких хорошо известных онтологий, как Dublin Core (http://dublincore.org/documents/dces/), FOAF (http://xmlns.com/foaf/0.1/), DOAP (http://usefulinc.com/doap), и др. Однако, есть случаи, когда онтологии разрабатывались внутри W3C. Это происходит, например, в тех случаях, когда другая технология W3C нуждается в своей, специализированной онтологии (EARL (http://www.w3.org/TR/EARL10-Schema/) - такой пример), когда W3C понимает, что существование определенной онтологии критично для продвижения семантического веба, или когда сообщество предпочитает использовать, например, возможности, предлагаемые Incubator Activity of W3C (http://www.w3.org/2005/Incubator/). 4.21 Что такое SKOS? Простая система организации знаний (Simple Knowledge Organization System, SKOS - http://www.w3.org/TR/skos-reference) - это онтология для определения основной структуры и содержания концептуальных схем, таких как тезаурусы, схемы классификации, справочники тематик, таксономии, глоссарии, фолксономии и другие типы контролируемых словарей. SKOS предоставляет стандартный, малозатратный путь для миграции существующих концептуальных схем в семантический веб, чтобы они могли быть использованы "как есть" для разработки облегченных приложений семантического веба. SKOS все больше видится в роли связующей технологии, обеспечивающей недостающую связь между строгим логическим формализмом языков онтологий, таких как OWL, и хаотичным, неформальным, слабоструктурированным миром подходов к управлению информацией в сообществах, например в приложениях, основанных на тегах. 4.22 Используются ли публичные массивы данных для семантического веба? Вошли ли уже основные данные сети в состав семантического веба? В наши дни довольно часто создаются массивы данных или обеспечивается доступ к уже существующим данным. Приведем несколько примеров: * Сообщество DBpedia (http://dbpedia.org/) работает над обеспечением возможности обращаться к Wikipedia как к базе данных (см. также более детальное описание этого проекта - http://www.mkbergman.com/?p=354). * IngentaConnect (http://www.ingentaconnect.com/) - библиографические метаданные (около 200 миллионов триплетов!) * RDF/OWL представление Wordnet (http://www.w3.org/TR/wordnet-rdf/). * eBusiness онтология для товаров и услуг: eClassOwl (http://www.heppnetz.de/eclassowl). * "Онтология генов" (http://www.geneontology.org/) описывает гены и продукты генов для любых организмов. * Последовательности протеинов и аннотации: UniProt (http://www.isb-sib.ch/~ejain/rdf/). * "Онтология географических названий" и связанные RDF-данные (http://www.geonames.org/ontology/): географические особенности (например, информация о городе Берлин), представленные в формате RDF. Отметим также, что один из проектов сообщества ("Community Projects" - http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData), спонсируемый W3C Semantic Web Education and Outreach Interest Group (http://www.w3.org/2001/sw/sweo), а именно проект "Linking Open Data on the Semantic Web" (http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData), нацелен на предоставление доступа к различным открытым источникам данных в Интернете в формате RDF и создание RDF-ссылок между элементами данных из разных источников. В целом, массивы данных состоят из нескольких миллиардов RDF-триплетов, связанных друг с другом миллионами RDF-ссылок. Поддерживается Иваном Германом (), лидером (W3C) Semantic Web Activity 2008-06-27 ------------------------------------------------------------------------------- http://translated.by/you/w3c-semantic-web-frequently-asked-questions/into-ru/trans/ © 1994-2008 W3C (MIT, ERCIM, Keio) Original (English): W3C Semantic Web Frequently Asked Questions (http://www.w3.org/2001/sw/SW-FAQ) Translation: © jupy, Владимир Соколовский, Дмитрий Уланов, sni, tven, iv_an_ru. License: W3C liability, trademark, document use and software licensing rules apply. translated.by crowd