С этой статьи я начинаю совй цикл постов «для новичков» где максимально популярно растолкую понятия веб 3.0. В последствии все статьи перекочуют в вики и будут «изданы» мною в виде PDF книги.
Начнем со средств, и сегодня у нас основа основ — RDF.
Resource Description Framework — это разработанная консорциумом W3C модель для описания ресурсов, в особенности — метаданных о ресурсах.
RDF это язык описания знаний. Это не совсем XML. то есть совсем не XML, просто синтаксис похож. RDF содержит тройки данных «объект — предикат — субъект». ну пример «Столб имеетВысоту 15м». Вот простейший пример; RDF.:
Назовем это Документ #1, он потом нам пригодиться.
Пока понятно? Нет?
Такая вот себе семейка. Кстати, это короткая форма записи RDF, зовется она N3 (Нотация три). Как я понимаю, создана под влиянием ЛИСПа и после того, как поняли, что XML слишком большой. Она хороша в некоторых случаях и очень наглядна, будем использовать её в качестве примера. Но есть и XML-like версия, она и используется в вебе — RSS 0.9, (если я не ошибаюсь) тому пример. Вот XML-like пример про того же Джона:
Малопонятно и плохочитаемо. Согласен, но для компьютера удобнее, так как любой язык программирования может с легкостью разобрать XML-файл и получить данные.
Самое сильное отличие RDF от XML заключается в том, что RDF предназначен для распределенных данных. К примеру мой SIOС. Я перепечатывал посты Джона Бреслина, значит мой SIOC связан с его SIOCом и компьютер может легко, по ссылкам (ссылки главная опора Семантической Сети, помните?), собрать единое обсуждение. Роботы могут собрать разные RDF, написанные разными людьми и узнать вещи, которых не было явно ни в одном из документов, чувствуете приближение Матрицы?
Пример:
Из Документа #1 мы знаем, что у Джона есть отец, Генрих.
Вот второй документ (Документ #2):
Тут написано, что у Генрихаесть брат Хан. А нижняя строчка это правило, которое говорит, что если у отца некого человека А есть брат, то он дядя для персоны А. Объединяем Документ #1 и #2, соблюдаем правило, и вуаля: компьютер знает, что у Джона есть дядя Хан!
Ричард Сиганиак высказал основные места применения RDF.
В общем, это что-то вроде распределенного объединения иерархической и сетевой БД.
Имена в RDF бывают двух типов: литералы (просто текст) и URI. URI может быть ссылкой на веб сайт (http://futuri.us) но не обязательно. В целом URI это ссылка на какой-либо объект (не обязательно он имеет свое представление), к примеру urn:isbn:5-3180-0093-2. Это ссылка на книгу "Samba. Руководство системного администратора. Для профессионалов" Эда Бруксбэнка. У этой книги вряд ли есть страничка, но четко и ясно, что этот URI указывает на книгу, и ясно на какую. URI уникально. Потому позволяет привязывать RDF к какому-то единственному объекту.
В итоге:
Полезно:
Все это с моего блога
Начнем со средств, и сегодня у нас основа основ — RDF.
Resource Description Framework — это разработанная консорциумом W3C модель для описания ресурсов, в особенности — метаданных о ресурсах.
RDF это язык описания знаний. Это не совсем XML. то есть совсем не XML, просто синтаксис похож. RDF содержит тройки данных «объект — предикат — субъект». ну пример «Столб имеетВысоту 15м». Вот простейший пример; RDF.:
@prefix : <http: www.example.org> .
:john a :Person .
:john :hasMother :helga .
:john :hasFather :henrich .
:richard :hasSister :jane .
Назовем это Документ #1, он потом нам пригодиться.
Пока понятно? Нет?
@prefix - подгружаем пространство имен (тут хранятся условные всякие описания, которые понятны компьютеру, потом расскажу по-подробнее)
:john a :Person
— некто Джон человек (безусловно)
:john :hasMother :
helga
— У Джона есть мама и её зовут Хельга.
:john :hasFather :
henrich
— а отца Джона зовут Генрих
:richard :has
Sister
:
jane
— у отца есть сестра — ДжейнТакая вот себе семейка. Кстати, это короткая форма записи RDF, зовется она N3 (Нотация три). Как я понимаю, создана под влиянием ЛИСПа и после того, как поняли, что XML слишком большой. Она хороша в некоторых случаях и очень наглядна, будем использовать её в качестве примера. Но есть и XML-like версия, она и используется в вебе — RSS 0.9, (если я не ошибаюсь) тому пример. Вот XML-like пример про того же Джона:
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns="http://www.example.org/#"> <ns:person rdf:about="http://www.example.org/#john"> <ns:hasmother rdf:resource="http://www.example.org/#helga" /> <ns:hasfather> <rdf:description rdf:about="http://www.example.org/#henrich"> <ns:hassister rdf:resource="http://www.example.org/#jane"> </ns:hassister> </rdf:description> </ns:hasfather> </ns:person> </rdf:rdf>
Малопонятно и плохочитаемо. Согласен, но для компьютера удобнее, так как любой язык программирования может с легкостью разобрать XML-файл и получить данные.
Самое сильное отличие RDF от XML заключается в том, что RDF предназначен для распределенных данных. К примеру мой SIOС. Я перепечатывал посты Джона Бреслина, значит мой SIOC связан с его SIOCом и компьютер может легко, по ссылкам (ссылки главная опора Семантической Сети, помните?), собрать единое обсуждение. Роботы могут собрать разные RDF, написанные разными людьми и узнать вещи, которых не было явно ни в одном из документов, чувствуете приближение Матрицы?
Пример:
Из Документа #1 мы знаем, что у Джона есть отец, Генрих.
Вот второй документ (Документ #2):
@prefix : <http:> :</http:>
henrich
<http:> :hasBrother :han
{ ?a :hasFather ?b . ?b :hasBrother ?c . } => { ?a :hasUncle ?c }
</http:>
Тут написано, что у Генрихаесть брат Хан. А нижняя строчка это правило, которое говорит, что если у отца некого человека А есть брат, то он дядя для персоны А. Объединяем Документ #1 и #2, соблюдаем правило, и вуаля: компьютер знает, что у Джона есть дядя Хан!
Ричард Сиганиак высказал основные места применения RDF.
- Вам нужно объединять данные из различных источников, не прибегая к созданию специализированных программ.
- Вам нужно дать другим доступ к вашим данным.
- Вам нужно децентрализовать ваши данные так, чтобы ими всеми не «владел» кто-то один.
- Вам нужно сделать что-то особенное с большими объёмами данных — вводить, извлекать, просматривать, анализировать, выполнять поиск, и т.д. Вы хотите создать (либо использовать готовый) универсальный инструмент, который бы позволял вам всё это делать, основываясь на модели данных RDF (имеющей то преимущество, что она не привязана к закрытым технологиям хранения и представления данных — в отличие от диалектов СУБД).
В общем, это что-то вроде распределенного объединения иерархической и сетевой БД.
Имена в RDF бывают двух типов: литералы (просто текст) и URI. URI может быть ссылкой на веб сайт (http://futuri.us) но не обязательно. В целом URI это ссылка на какой-либо объект (не обязательно он имеет свое представление), к примеру urn:isbn:5-3180-0093-2. Это ссылка на книгу "Samba. Руководство системного администратора. Для профессионалов" Эда Бруксбэнка. У этой книги вряд ли есть страничка, но четко и ясно, что этот URI указывает на книгу, и ясно на какую. URI уникально. Потому позволяет привязывать RDF к какому-то единственному объекту.
@prefix : <www.example.org/>
<futuri.us/> a :Website
<futuri.us/> dc:title "Футуриус"
<futuri.us/> dc:contributor "Коробко Ник"
<futuri.us/> dc:creator "Коробко Ник"
<futuri.us/> dc:language ru-RU
<futuri.us/> dc:rights by-nc-sa
Краткое описание моего сайта при помощи пространства имен «Дублинское Ядро». Но о нем мы поговорим позднее.В итоге:
- RDF используется для описания знаний
- описывается тройками значений «подлежащие-сказуемое-объект»
- имеет несколько форм записи: XML и N3
- Использует для значение литералы или Уникальные Идентификаторы (URI)
Полезно:
Все это с моего блога