Стандартизация формальных языков онтологии в пространстве Semantic Web
Формальные языки онтологии в пространстве Semantic Web и современных системах искусственного интеллекта. Semantic Web - сеть информационных узлов, связанных друг с другом таким образом, чтобы имеющаяся информация могла легко обрабатываться компьютером.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 04.05.2012 |
Размер файла | 71,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
Семантическая паутина ? это направление развития Всемирной паутины, целью которого является представление информации в виде, пригодном для машинной обработки.
В обычной Паутине, основанной на HTML-страницах, информация заложена в тексте страниц и извлекается человеком с помощью браузера. Семантическая же паутина предполагает запись информации в виде семантической сети с помощью онтологий. Таким образом, программа ? клиент может непосредственно извлекать из паутины факты и делать из них логические заключения. Семантическая паутина работает параллельно с обычной Паутиной и на её основе, используя протокол HTTP и идентификаторы ресурсов URI.
Термин «семантическая паутина» был впервые введён сэром Тимом Бернерсом-Ли (изобретателем Всемирной паутины) в мае 2001 года в журнале «Scientific American», и называется им «следующим шагом в развитии Всемирной паутины». Эта концепция была принята и продвигается Консорциумом Всемирной паутины.
Semantic Web представляет собой сеть информационных узлов, которые связаны друг с другом таким образом, чтобы имеющаяся информация могла легко обрабатываться компьютером. Его можно рассматривать как эффективный способ представления данных во Всемирной паутине, или как глобально связанную базу данных. Данный проект предлагает реализацию полной системы по автоматизированному созданию и хранению семантического ядра контента, предоставленного во Всемирной паутине.
1 ЯЗЫКИ ОПИСАНИЯ В SEMANTIC WEB
Техническую часть семантической паутины составляет семейство стандартов на языки описания, включающее:
1) XML;
2) XML Schema;
3) RDF;
4) RDF Schema;
5) OWL;
6) Микроданные (HTML microdata).
Форматы описания метаданных в семантической паутине предполагают проведение логического вывода на этих метаданных, и разрабатывались с оглядкой на существующие математические формализмы в этой области. Формализм, лежащий в основе формата, даёт возможность делать заключения о свойствах программ, обрабатывающих данные в этом формате.
Особенно сильно это относится к языку OWL. Базовым формализмом для него являются дескрипционные логики, а сам язык разбит на три вложенных подмножества (в порядке вложенности): OWL Lite, OWL DL и OWL Full. Доказано, что логический вывод на метаданных с выразительностью OWL Lite выполняется за полиномиальное время (другими словами, задача вывода принадлежит к классу P). OWL DL описывает максимальное разрешимое в данный момент подмножество дескрипционных логик, но некоторые запросы по таким данным могут требовать экспоненциального времени выполнения. OWL Full реализует все существующие конструкторы дескрипционных логик, но не каждый запрос в этом подмножестве языка может быть разрешён (слово «разрешён» здесь употребляется в значении, основанном на корне «решать»).
2. ЯЗЫК ОПИСАНИЯ RDF
2.1 Модель данных RDF. RDF-граф
RDF ? язык представления информации о ресурсах WWW. В частности, RDF служит для представления метаданных, связанных с ресурсами Сети, таких как "заголовок", "автор", "дата последнего изменения страницы". Но RDF может использоваться и для представления информации о ресурсах "второго типа", на которые можно только ссылаться (или идентифицировать в Сети при помощи URI), но невозможно непосредственно получить к ним доступ через Сеть.
Может оказаться, что в некоторых случаях для управления метаданными достаточно использовать XML и XML Schema (либо вообще ограничиться подэлементом HEAD элемента HTML). Но этот подход слабо масштабируется: при увеличении объема метаданных, усложнении их структуры управление метаданными, построенными на основе XML Schema, становится трудоемкой задачей, для решения которой и предназначен RDF.
Базовой структурной единицей RDF является коллекция троек (или триплетов), каждая из которых состоит из субъекта, предиката и объекта (S,P,O). Набор триплетов называется RDF-графом. В качестве вершин графа выступают субъекты и объекты, в качестве дуг - предикаты (или свойства). Направление дуги, соответствующей предикату в данной тройке (S,P,O), всегда выбирается так, чтобы дуга вела от субъекта к объекту.
Рисунок 2.1 - RDF-тройка
Каждая тройка представляет некоторое высказывание, увязывающее S, P и O.
Первые два элемента RDF-тройки (субъект и предикат) идентифицируются при помощи URI. Объектом же может быть как ресурс, идентифицируемый при помощи URI, так и RDF-литерал (значение).
2.2 RDF-литералы (или символьные константы)
RDF-литералы бывают двух видов: типизированные и нетипизированные.
Каждый литерал в RDF-графе содержит одну или две именованные компоненты.
1) все литералы имеют лексическую форму в виде строки символов Unicode;
2) простые литералы состоят из лексической формы и необязательной ссылки на язык (ru, en, :);
3) типизированные литералы состоят из лексической формы и URI-ссылки на тип данных, задаваемой в формате RDF URI.
Замечание. Язык литерала не нужно путать с идентификатором (языком) локали. Язык относится только к текстам, написанным на естественном языке. Все трудности, возникающие при представлении данных на конкретном компьютере (при определении локали), должны решаться конечным потребителем метаданных.
Сравнение литералов:
Два литерала равны тогда и только тогда, когда выполняются все перечисленные ниже условия:
1) строки обеих лексических форм совпадают посимвольно;
2) либо оба литерала имеют теги языка, либо оба не имеют;
3) теги языка, если они имеются, совпадают;
4) либо оба литерала имеют URI типа данных, либо оба не имеют;
5) при наличии URI типа данных эти URI совпадают посимвольно;
Определение значения типизированного литерала:
Рассмотрим следующий пример. Пусть множество {T, F} ? множество значений истинности в математической логике. В различных приложениях элементы этого множества могут представляться по-разному. В языках программирования {1, 0} (1 соответствует T, 0 соответствует F), либо {true, false}, либо {истина, ложь}.
Фактически задается некоторое отображение множества значений истинности на множество чисел или строк символов. Теперь значениями логического типа (bool или boolean) становятся строковые значения или спецсимволы. Чтобы получить значения истинности, необходимо воспользоваться обратным отображением.
Таким же образом происходит получение значения типизированного RDF-литерала. За лексической формой стоит некоторое значение, которое определяется применением отображения. Это отображение определяется по URI типа данных и зависит от самого типа.
2.3 Возможности и ограничения языка RDF (RDF Schema)
Сам по себе RDF не является стандартом метаданных, как, например, Dublin Core, FOAF, vCard. Все, что он "умеет", ? это фиксировать утверждения о ресурсах, их свойствах и значениях этих свойств.
Важные свойства языка:
1) обобщенный способ работы с метаданными;
2) ориентация на программное обеспечение в качестве конечного потребителя информации;
3) возможность осуществлять автоматическую обработку Web-ресурсов:
a) поиск;
b) каталогизацию;
c) генерацию иерархических карт сайтов.
Недостатки RDF:
Открытость и расширяемость RDF ведет к тому, что "кто угодно (т.е. любой пользователь RDF) может сказать что угодно (т.е. фиксировать произвольное утверждение) о чем угодно (т.е. о любом ресурсе)", используя RDF. RDF не запрещает делать бессмысленных утверждений или утверждений, не согласующихся с другими. Следовательно, нет никакой гарантии целостности и непротиворечивости RDF-описаний. Вся ответственность за проверку ложится на получателей (конечных пользователей) метаданных, т.е. на разработчиков приложений, обрабатывающих RDF-данные.
3. ЯЗЫКИ ПРЕДСТАВЛЕНИЯ ОНТОЛОГИЙ: RDFS, OWL. ЯЗЫК ЗАПРОСОВ SPARQL
3.1 Язык представления RDFS
Каждый из элементов триплета определяется ссылкой на тип элемента и URI. Предикат (в контексте RDF его обычно называют свойством) может пониматься либо как атрибут, либо как бинарное отношение между двумя ресурсами. Но RDF сам по себе не предоставляет никаких механизмов ни для описания атрибутов ресурсов, ни для определения отношений между ними. Для этого предназначен язык RDFS (RDF Schema) ? язык описания словарей для RDF. RDFS определяет классы, свойства и другие ресурсы.
Рисунок 3.1 RDF-тройка "субъект-предикат-объект"
RDFS является семантическим расширением RDF. Он предоставляет механизмы для описания групп связанных ресурсов и отношений между этими ресурсами. Все определения RDFS выражены на RDF (поэтому RDF называется "самоописывающимся" языком). Новые термины, вводимые RDFS, такие как "домен", "диапазон" свойства, являются ресурсами RDF.
Система классов и свойств языка описания RDF-словарей похожа на систему типов объектно-ориентированных языков программирования, например, Java. Но RDF отличается от большинства таких систем тем, что здесь центральным аспектом является определение свойства, а не класса. Свойства в RDF определяются как пары (домен, диапазон). При этом домен представляет некоторое множество классов RDF, к которым данное свойство применимо, диапазон определяет допустимое множество ресурсов ? значений свойства. Для сравнения: в Java определение класса имеет законченную форму (свойства класса выражаются в полях и методах класса). В RDF, напротив, описание класса всегда остается открытым (набор свойств класса определяется вне самого класса).
3.2 Язык представления OWL
OWL (Web Ontology Language, в аббревиатуре буквы намеренно переставлены местами, чтобы получилось английское слово "сова") ? язык представления онтологий в Web. Фактически это словарь, расширяющий набор терминов, определенных RDFS. OWL-онтологии могут содержать описания классов, свойств и их экземпляров. Создание OWL ? это ответ на необходимость представления знаний в Сети в едином формате. Исторически предшественником OWL был язык DAML+OIL, объединивший 2 инициативы: проект DAML (DARPA Agent Markup Language) и проект OIL (Ontology Inference Layer). Наиболее ранним проектом представления онтологий в Web был SHOE (Simlpe HTML Ontology Extensions). Ветви развития языков описания онтологий для Web показаны на рис. 3.2. Верхний уровень: OIL, DAML+OIL и OWL продолжают развиваться, но наибольшей популярностью пользуется OWL.
OWL с 2004 года является рекомендацией W3C и объединяет лучшие черты своих предшественников.
Рисунок 3.2 Основные ветви развития языков описания онтологий
3.3 Язык представления SPARQL
Вероятно, сами по себе языки представления онтологий не были бы так сильно востребованы, если бы не возникало необходимости автоматически обрабатывать онтологии, наполнять их содержимым и выполнять к ним запросы. Наиболее популярными среди языков запросов к RDF-хранилищам на сегодняшний день являются языки RDQL и SPARQL.
Семантика запроса: "Выдайте все объекты cat предиката category, субъект которого (x) является также субъектом предиката rdf:value со значением объекта val, не меньшим 200. Вместе со значениями cat выдайте соответствующие значения val".
Ход выполнения запроса:
На место переменной x могут быть подставлены Foo1, Foo2 и bar (из исходной онтологии), причем Foo2 может быть подставлен дважды, поскольку имеет два свойства category.
При подстановке Foo1 значение переменной val не удовлетворяет ограничению в предложении FILTER SPARQL-запроса. Во всех остальных случаях все условия запроса выполнены.
Результат выполнения запроса ? 3 пары значений (cat, val):
["Total Members", 200],
["CATEGORY X", 200],
["CATEGORY X", 358]
4. ЯЗЫК РАЗМЕТКИ XML
4.1 Определение языка и история
XML (англ. eXtensible Markup Language ? расширяемый язык разметки; произносится) ? рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML ? текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML
Годом рождения XML можно считать 1996 год, в конце которого появился черновой вариант спецификации языка, или 1998 год, когда эта спецификация была утверждена. А началось всё с появления в 1986 году языка SGML.
SGML (англ. Standard Generalized Markup Language ? стандартный обобщённый язык разметки) заявил о себе как гибкий, комплексный и всеохватывающий мета-язык для создания языков разметки. Несмотря на то, что понятие гипертекста появилось в 1965 году, SGML не имеет гипертекстовой модели. Создание SGML можно с уверенностью назвать попыткой объять необъятное, так как он объединяет в себе такие возможности, которые крайне редко используются все вместе. В этом и состоит его главный недостаток ? сложность и, как следствие, дороговизна этого языка ограничивает его использование только крупными компаниями, которые могут позволить себе купить соответствующее программное обеспечение и нанять высокооплачиваемых специалистов. Кроме того, у небольших компаний редко возникают настолько сложные задачи, чтобы привлекать к их решению SGML.
Наиболее широко SGML применяется для создания других языков разметки, именно с его помощью был создан язык разметки гипертекстовых документов ? HTML, спецификация которого была утверждена в 1992 году. Его появление было связано с необходимостью организации стремительно увеличивающегося массива документов в сети Интернет. Бурный рост количества подключений к Интернету и, соответственно, веб-серверов повлек за собой такую потребность в кодировке электронных документов, с которой не мог справиться SGML вследствие высокой трудности освоения. Появление HTML ? очень простого языка разметки ? быстро решило эту проблему: лёгкость в изучении и богатство средств оформления документов сделали его самым популярным языком для пользователей Интернет. Но, по мере роста количества и изменения качества документов в Сети, росли и предъявляемые к ним требования, и простота HTML превратилась в его главный недостаток. Ограниченность количества тегов и полное безразличие к структуре документа побудили разработчиков в лице консорциума W3C к созданию такого языка разметки, который был бы не столь сложен, как SGML, и не настолько примитивен, как HTML. В результате на свет появился язык XML, сочетающий в себе простоту HTML, логику разметки SGML и удовлетворяющий требованиям Интернета.
информационный компьютер semantic web
4.2 Стандарты XML- документа
1) Правильно построенный (англ. well-formed). Правильно построенный документ соответствует всем общим правилам синтаксиса XML, применимым к любому XML-документу. И если, например, начальный тег не имеет соответствующего ему конечного тега, то это неправильно построенный документ XML. Документ, который неправильно построен, не может считаться документом XML; XML-процессор (парсер) не должен обрабатывать его обычным образом и обязан классифицировать ситуацию как фатальная ошибка;
2) Действительный (англ. valid). Действительный документ дополнительно соответствует некоторым семантическим правилам. Это более строгая дополнительная проверка корректности документа на соответствие заранее определённым, но уже внешним правилам, в целях минимизации количества ошибок, например, структуры и состава данного, конкретного документа или семейства документов. Эти правила могут быть разработаны как самим пользователем, так и сторонними разработчиками, например, разработчиками словарей или стандартов обмена данными. Обычно такие правила хранятся в специальных файлах ? схемах, где самым подробным образом описана структура документа, все допустимые названия элементов, атрибутов и многое другое. И если документ, например, содержит не определённое заранее в схемах название элемента, то XML-документ считается недействительным; проверяющий XML-процессор (валидатор) при проверке на соответствие правилам и схемам обязан (по выбору пользователя) сообщить об ошибке.
Данные два понятия не имеют достаточно устоявшегося стандартизированного перевода на русский язык, особенно понятие valid, которое можно также перевести, как имеющий силу,правомерный, надёжный, годный, или даже проверенный на соответствие правилам, стандартам, законам. Некоторые программисты применяют в обиходе устоявшуюся кальку «Валидный».
4.3 Объявление XML
Первая строка XML-документа называется объявление XML (англ. XML declaration) ? это строка, указывающая версию XML. В версии 1.0 объявление XML может быть опущено, в версии 1.1 оно обязательно. Также здесь может быть указана кодировка символов и наличие внешних зависимостей.
<?xml version="1.0" encoding="UTF-8"?>
Спецификация требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки UTF-8 и UTF-16 (UTF-32 не обязателен). Признаются допустимыми, поддерживаются и широко используются (но не обязательны) другие кодировки, основанные на стандарте ISO/IEC 8859, также допустимы другие кодировки, например, русские Windows-1251, KOI-8. Часто в тегах принципиально не используют нелатинские буквы, в этом случае UTF-8 является очень удобной кодировкой ? объём, как правило, меньше, чем при UTF-16; декодирование может быть выполнено как для всего документа, так и для конкретных атрибутов и текстов; весь документ не содержит запрещённых символов при попытке разбора с неправильной кодировкой.
Корневой элемент
Важнейшее обязательное синтаксическое требование заключается в том, что документ имеет только один корневой элемент (англ. root element) (также иногда называемый элемент документа (англ. document element)). Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом.
В любом месте дерева может быть размещен элемент-комментарий. XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->. Два знака дефис (--) внутри комментария присутствовать не могут.
Теги внутри комментария обрабатываться не должны.
Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, например, <step>, а закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта, например, </step>. Имена элементов, как и имена атрибутов, не могут содержать пробелы, но могут быть на любом языке, поддерживаемом кодировкой XML-документа. Имя может начинаться с буквы, подчёркивания, двоеточия. Остальными символами имени могут быть те же символы, а также цифры, дефис, точка.
Содержимым элемента (англ. content) называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. Ниже приведён пример XML-элемента, который содержит открывающий тег, закрывающий тег и содержимое элемента:
<step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
Кроме содержания у элемента могут быть атрибуты ? пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе. Не рекомендуется использовать разные типы кавычек для значений атрибутов одного тега.
<ingredient amount="3" unit="стакан">Мука</ingredient>
В приведённом примере у элемента «ingredient» есть два атрибута: «amount», имеющий значение «3», и «unit», имеющий значение «стакан». С точки зрения XML-разметки, приведённые атрибуты не несут никакого смысла, а являются просто набором символов.
Кроме текста, элемент может содержать другие элементы:
<instructions>
<step>Смешать все ингредиенты и тщательно замесить.</step>
<step>Закрыть тканью и оставить на один час в тёплом помещении.</step>
<step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
</instructions>
В данном случае элемент «instructions» содержит три элемента «step».
XML не допускает перекрывающихся элементов. Например, приведённый ниже фрагмент некорректен, так как элементы «em» и «strong» перекрываются.
<p>Обычный <em>акцентированный <strong>выделенный и акцентированный</em> выделенный</strong></p>
Для обозначения элемента без содержания, называемого пустым элементом, необходимо применять особую форму записи, состоящую из одного тега, в котором после имени элемента ставится косая черта. Если в DTD элемент не объявлен пустым, но в документе он не имеет содержания, для него допускается применять следующие (три) формы записи. Например:
<foo></foo>
<foo />
<foo/>
4.4 Спецсимволы
В XML определены два метода записи специальных символов: ссылка на сущность и ссылка по номеру символа.
Сущностью (англ. entity) в XML называются именованные данные, обычно текстовые, в частности, спецсимволы. Ссылка на сущность (англ. entity references) указывается в том месте, где должна быть сущность и состоит из амперсанда (&), имени сущности и точки с запятой (;).
В XML есть несколько предопределённых сущностей, таких как lt (ссылаться на неё можно написав <) для левой угловой скобки и amp (ссылка ? &) для амперсанда. Возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков.
Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:
<company-name>AT&T</company-name>
Полный список предопределённых сущностей состоит из & (&), < (<), > (>), ' (') и " (") ? последние две полезны для записи разделителей внутри значений атрибутов. Определить свои сущности можно в DTD-документе.
Иногда бывает необходимо определить неразрывный пробел, который очень часто используется в HTML и обозначается как . В XML такой предопределённой сущности нет, его записывают  , а использование вызывает ошибку. Отсутствие этой весьма распространённой сущности у множества программистов зачастую вызывает удивление и это создаёт некоторые трудности при миграции своих HTML-разработок в XML.
Ссылка по номеру символа (англ. numeric character reference) выглядит как ссылка на сущность, но вместо имени сущности указывается символ # и число (в десятичной или шестнадцатеричной записи), являющееся номером символа в кодовой таблице Юникод. Амперсанд может быть представлен следующим образом:
<company-name>AT&T</company-name>
4.5 Достоинства и недостатки XML
1) XML ? язык разметки, позволяющий стандартизировать вид файлов-данных, используемых компьютерными программами, в виде текста, понятного человеку;
2) XML поддерживает Юникод;
3) в формате XML могут быть описаны такие структуры данных, как записи, списки и деревья;
4) XML ? это самодокументируемый формат, который описывает структуру и имена полей так же как и значения полей;
5) XML имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться простым, эффективным и непротиворечивым. Одновременно с этим, разные разработчики не ограничены в выборе экспрессивных методов (например, можно моделировать данные, помещая значения в параметры тегов или в тело тегов, можно использовать различные языки и нотации для именования тегов и т. д.);
6) XML ? формат, основанный на международных стандартах;
7) иерархическая структура XML подходит для описания практически любых типов документов, кроме аудио и видео мультимедийных потоков, растровых изображений, сетевых структур данных и двоичных данных;
8) XML представляет собой простой текст, свободный от лицензирования и каких-либо ограничений;
9) XML не зависит от платформы;
10) XML является подмножеством SGML (который используется с 1986 года). Уже накоплен большой опыт работы с языком и созданы специализированные приложения;
11) XML не накладывает требований на порядок расположения атрибутов в элементе и вложенных элементов разных типов, что существенно облегчает выполнение требований обратной совместимости;
12) в отличие от бинарных форматов, XML содержит метаданные об именах, типах и классах описываемых объектов, по которым приложение может обработать документ неизвестной структуры (например, для динамического построения интерфейсов);
13) XML имеет реализации парсеров для всех современных языков программирования;
14) существует стандартный механизм преобразования XSLT, реализации которого встроены в браузеры, операционные системы, веб-серверы.
15) XML поддерживается на низком аппаратном, микропрограммном и программном уровнях в современных аппаратных решениях.
Недостатки:
1) синтаксис XML избыточен;
2) размер XML-документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
3) размер XML-документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON, YAML, Protocol Buffers) и особенно в форматах данных, оптимизированных для конкретного случая использования;
4) избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных;
5) XML содержит метаданные (об именах полей, классов, вложенности структур), и одновременно XML позиционируется как язык взаимодействия открытых систем. При передаче между системами большого количества объектов одного типа (одной структуры), передавать метаданные повторно нет смысла, хотя они содержатся в каждом экземпляре XML описания.
6) для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения;
7) неоднозначность моделирования;
8) нет общепринятой методологии для моделирования данных в XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются нереляционной алгебре, системном подходе и системном анализе;
9) в природе есть множество объектов и явлений, для описания которых разные структуры данных (сетевая, реляционная, иерархическая) являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути;
10) в результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов (различными разработчиками), например, значение может быть записано как атрибут тега или как тело тега и т. д. Например:
a) <a b="1" c="1"/>
b) <a><b>1</b><c>1</c></a>
c) <a><b value="1"/><c value="1"/></a>
d) <a><fields b="1" c="1"/></a> и т. д.
11) поддержка многих языков в именовании тегов дает возможность назвать, например вес русским словом, в таком случае компьютер никак не сможет установить соответствия этого поля с полем weight в англоязычной версии программы и с полями в версиях модели объекта на множестве других языков;
12) XML не содержит встроенной в язык поддержки типов данных. В нём нет строгой типизации, то есть понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.;
13) иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных;
14) выражение неиерархических данных (например графов) требует дополнительных усилий;
15) Кристофер Дейт, специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems», отмечал, что «…XML является попыткой заново изобрести иерархические базы данных…» (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных);
16) пространства имён XML сложно использовать и их сложно реализовывать в XML-парсерах;
17) существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML, XF).
4.6 Отображение XML во Всемирной паутине
Наиболее распространены три способа преобразования XML-документа в отображаемый пользователю вид:
1) применение стилей CSS;
2) применение XSL;
3) написание на каком-либо языке программирования обработчика XML-документа.
Без использования CSS или XSL XML-документ отображается как простой текст в большинстве веб-браузеров. Некоторые браузеры, такие как Internet Explorer и Mozilla Firefox отображают структуру документа в виде дерева, позволяя сворачивать и разворачивать узлы с помощью нажатий клавиши мыши.
Применение стилей CSS:
Процесс аналогичен применению CSS к HTML-документу для отображения.
Для применения CSS при отображении в браузере, XML-документ должен содержать специальную ссылку на таблицу стилей. Например:
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>
Это отличается от подхода HTML, где используется элемент <link>.
Применение XSL:
XSL является семейством рекомендаций, описывающих языки преобразования и визуализации XML-документов. Документ трансформируется в формат, подходящий для отображения в браузере. Браузер ? это наиболее частое использование XSL, но не стоит забывать, что с помощью XSL можно трансформировать XML в любой формат, например VRML, PDF, текст.
Для задания XSL трансформации (XSLT) на стороне клиента требуется наличие в XML инструкции следующего вида:
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Словари XML:
Так как XML является достаточно абстрактным языком, были разработаны словари XML.
Словарь позволяет разработчикам договориться о некотором конечном наборе имен тегов и атрибутов этих тегов. Одним из первых словарей является XHTML, который понимают большинство браузеров. XHTML часто используют для хранения и редактирования контента в CMS.
Были созданы более специализированные словари, например протокол передачи данных SOAP, который не является человеко-ориентированным и достаточно трудно читаем. Есть коммерческие словари, такие как CommerceML, xCBL и cXML которые используются для передачи данных, ориентированных на торговую деятельность, эти словари включают в себя описание системы заказов, поставщиков, продуктов и прочее.
Обычно, описывая какой-либо документ, человек для себя придумывает некоторый словарь, который потом описывается посредством DTD или просто объясняет «на пальцах» заинтересованным лицам.
Одним из словарей, получивших широкое распространение, является FB2 ? словарь, описывающий формат книги, со всевозможными сносками, цитатами, даже картинками.
5 АНАЛИЗ ПРИМЕРОВ И СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА
Способы представления RDF-описаний
Ниже приводится пример двух способов представления RDF графов: в форме XML-документа (часто более удобной для автоматической обработки) и в форме последовательностей троек - так называемый N Triple или N3 синтаксис (удобный для восприятия человеком).
XML-синтаксис
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:exterms="http://www.example.org/terms/">
<rdf:Description rdf:about="http://www.example.org/index.html">
<exterms:creation-date>August 16, 1999</exterms:creation-date>
</rdf:Description>
<rdf:Description rdf:about="http://www.example.org/index.html">
<dc:language>en</dc:language>
</rdf:Description>
</rdf:RDF>
N3-синтаксис (удобный для чтения человеком и расширяющий исходную модель данных RDF)
<ex:index.html> <dc:creator> exstaff:85740 .
<ex:index.html> <exterms:creation-date> "August 16, 1999" .
<ex:index.html> <dc:language> "en".
Из вышесказанного о RDF можно сделать вывод, что RDF имеет довольно слабые (по объему) выразительные средства и не основан на каком-либо логическом формализме. Это язык описания метаданных, причем метаданных в широком смысле слова: имеющих произвольную структуру и смысл. Пожалуй, единственный принцип, которому следует RDF, это основной лозунг Web. RDF ? универсальный инструмент и поэтому требует настройки для решения конкретных специализированных задач. Способ такой "настройки" состоит в расширении RDF при помощи словарей. Перейдем к рассмотрению одного из расширений RDF для области проектирования и представления онтологий.
Рассмотрим несколько упрощенный синтаксис SPARQL-запроса:
SELECT <список_перем>
FROM <URI_онтологии>
WHERE { <список_шаблонов>.
FILTER <фильтр>
Где: список_перем ? список имен переменных; URI_онтологии ? URI-ссылка на онтологию; список_шаблонов ? список шаблонов; фильтр ? ограничения на значения переменных.
Допустим, онтология содержит следующие RDF-триплеты:
(Foo1, category, "Total Members")
(Foo1, rdf:value, 199)
(Foo2, category, "Total Members")
(Foo2, rdf:value, 200)
(Foo2, category, "CATEGORY X")
(bar, category, "CATEGORY X")
(bar, rdf:value, 358)
Выполнение запроса (имена переменных предваряются знаком " ?"):
SELECT ?cat ?val
FROM <URI_онтологии>
WHERE { ?x rdf:value ?val.
?x category ?cat.
FILTER (?val>=200)
Рассмотрим пример простого кулинарного рецепта, размеченного с помощью XML:
<?xml version="1.0" encoding="UTF-8"?>
<recipe name="хлеб" preptime="5" cooktime="180">
<title>Простой хлеб</title>
<ingredient amount="3" unit="стакан">Мука</ingredient>
<ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
<ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient>
<ingredient amount="1" unit="чайная ложка">Соль</ingredient>
<instructions>
<step>Смешать все ингредиенты и тщательно замесить.</step>
<step>Закрыть тканью и оставить на один час в тёплом помещении.</step>
<!-- <step>Почитать вчерашнюю газету.</step> - это сомнительный шаг... -->
<step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
</instructions>
</recipe>
После рассмотрения некоторых языков онтологии и проанализировав их в порядке повышения уровня абстракции можно сделать выводы:
1) XML предоставляет синтаксис для определения структуры документа, подлежащего машинной обработке. Синтаксис XML не несёт семантической нагрузки;
2) XML Schema определяет ограничения на структуру XML-документа. Стандартный синтаксический анализатор языка XML в состоянии проверить произвольный XML-документ на соответствие его структуры так называемой схеме документа, описанной в XML Schema;
3) RDF представляет собой простой способ описания экземплярных данных в формате субъект-отношение-объект, в котором в качестве любого элемента этой тройки используются только идентификаторы ресурсов. Существует стандартизованное отображение этих троек на XML-документы предопределённой структуры (то есть консорциумом W3 определена схема XML-документов, содержащих RDF-описания), а также на другие форматы представления (например, в нотацию N3);
4) RDF Schema описывает набор атрибутов (здесь их точнее назвать отношениями), таких, как rdfs:Class, для определения новых типов RDF-данных. Языком поддерживается также отношение наследования типов rdfs:subClassOf;
5) OWL расширяет возможности по описанию новых типов (в частности, добавлением перечислений), а также позволяет описывать новые типы данных RDF Schema в терминах уже существующих (например, определять тип, являющийся пересечением или объединением двух существующих);
6) Микроданные (HTML microdata) ? это международный стандарт семантической разметки HTML-страниц, с помощью атрибутов, описывающих смысл информации, содержащейся в тех или иных HTML-элементах. Такие атрибуты делают контент страниц машиночитаемым, то есть позволяют в автоматическом режиме находить и извлекать нужные данные.
ВЫВОДЫ
Semantic Web представляет собой сеть информационных узлов, которые связаны друг с другом таким образом, чтобы имеющаяся информация могла легко обрабатываться компьютером. Его можно рассматривать как эффективный способ представления данных во Всемирной паутине, или как глобально связанную базу данных. Данный проект предлагает реализацию полной системы по автоматизированному созданию и хранению семантического ядра контента, предоставленного во Всемирной паутине.
Целью данной курсовой работы было исследование формальных языков онтологии в пространстве Semantic Web и современных системах искусственного интеллекта. В процессе выполнения работы были рассмотрены основные понятия Semantic Web и включающиеся в него компоненты. Выполнен обзор структуры, принципы построения языков и анализ примеров.
ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Resource Description Framework. [Электронный ресурс] / ? Режим доступа: www/ URL: // http://ru.wikipedia.org/wiki/
2. 6. Лекция: Языки описания онтологий. [Электронный ресурс] / ? Режим доступа: www/ URL: //http://www.INTUIT.ru
3. Языки разметки. [Электронный ресурс] / ? Режим доступа: www/ URL: //http://whoyougle.ru/texts/markup-language/
4. О преимуществах технологии XML. [Электронный ресурс] / ? Режим доступа: www/ URL: // http://swsys.ru/index.php?page=article&id=540
5. [Электронный ресурс] / ? Режим доступа: www.w3c.org/XML/Schema
6. Дмитрий Ландэ, Семантический веб: от идеи ? к технологии. [Электронный ресурс] / ? Режим доступа: www/ URL: // http://poiskbook.kiev.ua/sw.html
Размещено на Allbest.ru
Подобные документы
Разработка web-сервиса как услуги, предоставляемой пользователю. Продажа товара (автомобилей) в Интернете, проблема выбора. Онтологии как часть концепции Semantic Web. Применение онтологий, их основные типы и свойства. Особенности реализации онтологии.
курсовая работа [57,4 K], добавлен 17.04.2012Язык как способ представления информации и знаковая система. Естественные и формальные языки. Функции естественного языка. Строгие однозначные правила, ограниченный словарь в основе формальных языков. Кодирование информации, ее представление в компьютере.
презентация [2,6 M], добавлен 11.01.2012Изучение семантической сети как набора форматов и языков, позволяющих находить и анализировать интернет-данные. Программные технологии, лежащие в основе Интернета и опубликованные в качестве стандартных в программе Веб-консорциума Semantic Web Activity.
контрольная работа [1,3 M], добавлен 25.04.2013Понятие и компоненты онтологии. Назначение и использование рубрикаторов в интернет-системах по товарам. Автоматическая рубрикация по товарам. Фрагмент описания рубрики "Автозапчасти". Проблемы пословного поиска в системе Ontoseek и средства их решения.
презентация [1,2 M], добавлен 01.09.2013Создание множества религиозных понятий и их определение. Преимущества использование платформы Protеgе. Разработка онтологии по предметной области "Буддизм" посредством компьютерной программы Protеgе 4.2.0. Представление онтологии в графическом виде.
курсовая работа [768,0 K], добавлен 18.08.2013Понятие искусственного интеллекта как свойства автоматических систем брать на себя отдельные функции интеллекта человека. Экспертные системы в области медицины. Различные подходы к построению систем искусственного интеллекта. Создание нейронных сетей.
презентация [3,0 M], добавлен 28.05.2015Начало современного этапа развития систем искусственного интеллекта. Особенности взаимодействия с компьютером. Цель когнитивного моделирования. Перспективы основных направлений современного развития нейрокомпьютерных технологий, моделирование интеллекта.
реферат [24,7 K], добавлен 05.01.2010Система классов и свойств языка RDFS. Реификация или материализация утверждений. Возможности RDF, RDF Schema в представлении онтологий. Способы представления RDF-описаний. Структура и базовые элементы OWL-онтологии. Языки запросов к RDF-хранилищам.
презентация [312,1 K], добавлен 01.09.2013Составление программы искусственного интеллекта в среде программирования Delphi 7, осуществляющую игру "крестики-нолики" с пользователем. Данная программа имеет возможность запоминания ходов и на основе них ходить так, чтобы не оказаться в проигрыше.
контрольная работа [787,7 K], добавлен 16.01.2011Понятие интеллектуального пространства, объекты изучения в онтологии. Разработка Web-сайта на тему "Онтологии в информатике". Описание логической и физической структуры сайта, шаблон дизайна его страниц, тестирование. Исходный текст шаблона html-страницы.
курсовая работа [4,7 M], добавлен 14.07.2012