Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Alik_--_Semantic_Web-1

.pdf
Скачиваний:
16
Добавлен:
10.02.2015
Размер:
2.43 Mб
Скачать

Коллекция

Коллекция подобна списку в языке Lisp. Для ее создания создается ресурс относящийся к классу rdf:list и имеющий два свойства:

rdf:first (голова) — первый элемент коллекции;

rdf:rest (хвост) — ссылка на под-коллекцию, содержащую оставшиеся элементы.

Под-коллекция также содержит голову и хвост. Хвост под-коллекции, содержащей последний элемент указывает на встроенный ресурс rdf:nil.

Христианская Троица состоит из Бога-отца, Бога-Сына и Святого Духа и ни из кого больше по определению.

 

rdf:list

 

rdf:type

 

:состоит-из

rdf:first

 

 

 

рпц:бог-отец

 

rdf:rest

 

рпц:троица

 

 

rdf:type

rdf:first

 

rdf:list

 

рпц:бог-сын

 

 

 

rdf:rest

 

rdf:type

rdf:first

рпц:дух-святой

rdf:list

 

 

 

rdf:rest

rdf:nil

Сериализация RDF

Сериализация — это представление RDF в текстовом виде

RDF — это абстрактная модель распределенного графа, а не формат файла.

Существует несколько форматов представления её в текстовом виде:

RDF/XML — XML формат для записи RDF.

Основанные на Notation3:

Turtle — формат, специально разработанный для представления именно RDF.

N-Triples — формат, записывающий RDF в виде простого набора триплетов.

RDFa — способ записи RDF внутри атрибутов тегов HTML-страницы.

RDF/XML

RDF/XML — формат представления RDF в виде XML

Является официальным стандартом W3C.

Преимущества:

Стандартный формат, понимается всеми приложениями.

Возможность встраивания в XML-документы.

SVG — основанный на XML формат векторной графики поддерживает встраивание RDF-метаданных.

Возможность использования всей мощи аппарата XML, например XPath, XSLT.

Примером является метод визуализации RDF с помощью XSLT-преобразования в формат web-страницы.

Недостатки:

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

Занимает много места.

RDF/XML

Пример представления RDF-графа в формате RDF/XML:

<rdf:RDF xmlns:foaf='http://xmlns.com/foaf/0.1/'

xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'> <foaf:Person rdf:about="http://kiwitobes.com/toby.rdf#ts">

<foaf:name>Toby Segaran</foaf:name>

<foaf:homepage rdf:resource="http://kiwitobes.com/"/> <foaf:nick>kiwitobes</foaf:nick>

<foaf:mbox rdf:resource="mailto:toby@segaran.com"/> <foaf:interest>

<foaf:Document rdf:about="http://semprog.com"> <rdfs:label>Semantic Programming</rdfs:label>

</foaf:Document> </foaf:interest> <foaf:knows>

<foaf:Person rdf:about="http://semprog.com/people/colin"> <foaf:name>Colin Evans</foaf:name>

<foaf:mbox rdf:resource="mailto:colin@semprog.com"/> </foaf:Person>

</foaf:knows> <foaf:knows>

<foaf:Person>

<foaf:name>Jamie Taylor</foaf:name>

<foaf:mbox rdf:resource="mailto:jamie@semprog.com"/> </foaf:Person>

</foaf:knows> </foaf:Person>

</rdf:RDF>

<!-- (Из книги Segaran, Evans, Taylor «Programming the Semantic Web») -->

Turtle

Turtle — основанный на Notatation3 синтаксис, специально разработанный для представления RDF

Имеет широкое распространение и понимается большинством приложений, но не является официальным стандартом.

Однако, используется как часть официального стандарта языка запросов SPARQL для описания графовых шаблонов.

Преимущества:

Удобен для чтения и редактирования человеком.

Компактен.

Недостатки:

Понимается большинством, но, всё-таки, не всеми приложениями.

Не поддерживает возможности XML: создание составных документов, XSLT, …

Turtle

Пример представления RDF-графа в формате Turtle:

@prefix foaf: <http://xmlns.com/foaf/0.1/>.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix semperp: <http://semprog.com/people/>.

@prefix tobes: <http://kiwitobes.com/toby.rdf#>.

tobes:ts a foaf:Person;

foaf:homepage <http://kiwitobes.com/>; foaf:interest <http://semprog.com>; foaf:knows semperp:colin,

[ a foaf:Person;

foaf:mbox <mailto:jamie@semprog.com>; foaf:name "Jamie Taylor"];

foaf:mbox <mailto:toby@segaran.com>; foaf:name "Toby Segaran";

foaf:nick "kiwitobes". <http://semprog.com> a foaf:Document;

rdfs:label "Semantic Programming". semperp:colin a foaf:Person;

foaf:mbox <mailto:colin@semprog.com>; foaf:name "Colin Evans".

# (Из книги Segaran, Evans, Taylor «Programming the Semantic Web»)

N-Triples

N-Triples — максимально упрощенный, основанный на Turtle, синтаксис для записи RDF в виде простого набора триплетов

Синтаксис N-Triples часто используется при тестировании SW-приложений, когда нужно проверить из каких конкретно триплетов состоит RDF-граф.

Преимущества:

Крайне простой синтаксис, удобный для генерации и разбора программами.

Недостатки:

Все недостатки лежащего в его основе формата Turtle (см. пред. раздел), плюс:

Не удобен для чтения и редактирования человеком.

Занимает достаточно много места.

N-Triples

Пример представления RDF-графа в формате N-Triples:

<http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/homepage> <http://kiwitobes.com/>. <http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/nick> "kiwitobes". <http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/name> "Toby Segaran". <http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/mbox> <mailto:toby@segaran.com>. <http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/interest> <http://semprog.com>.

<http://kiwitobes.com/toby.rdf#ts> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.

<http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/knows> _:jamie . <http://kiwitobes.com/toby.rdf#ts> <http://xmlns.com/foaf/0.1/knows> <http://semprog.com/people/colin>. _:jamie <http://xmlns.com/foaf/0.1/name> "Jamie Taylor".

_:jamie <http://xmlns.com/foaf/0.1/mbox> <mailto:jamie@semprog.com>.

_:jamie <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>. <http://semprog.com/people/colin> <http://xmlns.com/foaf/0.1/name> "Colin Evans". <http://semprog.com/people/colin> <http://xmlns.com/foaf/0.1/mbox> <mailto:colin@semprog.com>.

<http://semprog.com/people/colin> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.

<http://semprog.com> <http://www.w3.org/2000/01/rdf-schema#label> "Semantic Programming". <http://semprog.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document>.

# (Из книги Segaran, Evans, Taylor «Programming the Semantic Web»)

RDFa

Недостатком предыдущих форматов сериализации является дублирование информации: для машин в формате RDF, и для людей в формате HTML.

Формат RDFa свободен от подобного недостатка.

RDFa — это способ записи RDF-графа внутри атрибутов тегов HTML-страницы

Благодаря RDFa, уже существующая на web-странице информация не дублируется, а просто помечается понятным машине образом.

Преимущества:

Отсутствие дублирования информации для людей и для машин.

Недостатки:

Если SW-приложению нужен только RDF-граф, ему придется загружать ненужную HTML-разметку; и наоборот, если пользователю нужна только webстраница, ему, все равно, придется загружать RDFa-описания.

RDFa

Пример внедрения RDF в атрибуты тегов HTML-страницы (подсвечено):

<div xmlns:foaf="http://xmlns.com/foaf/0.1/" about="http://kiwitobes.com/toby.rdf#ts" typeof="foaf:Person"> <p>

Name: <span property="foaf:name">Toby Segaran</span> </p><p>

Nickname: <span property="foaf:nick">kiwitobes</span> </p><p>

Interests:

<a rel="foaf:interest" href="http://semprog.org">

<span property="rdfs:label">Semantic Programming</span> </a>

</p><p>

Homepage: <a rel="foaf:homepage" href="http://kiwkitobes.com/">KiwiTobes</a>

</p><p>

Friends: </p>

<ul rel="foaf:knows">

<li about="http://semprog.com/people/colin" typeof="foaf:Person" property="foaf:name"> Colin Evans

</li>

<li typeof="foaf:Person">

<p property="foaf:name">Jamie Taylor</p>

<p>

Email: <a rel="foaf:mbox" href="mailto:jamie@semprog.com">jamie@semprog.com</a> </p>

</li> </ul>

</div>

<!-- (Из книги Segaran, Evans, Taylor «Programming the Semantic Web») -->

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]