13 августа 2010 г.
FOAF при детальном рассмотрении
Введение
Ссылки что бы ознакомиться что такое FOAF
1.http://ru.wikipedia.org/wiki/FOAF - в википедии o FOAF
2. The Friend of a Friend (FOAF) project
3. FOAF Vocabulary Specification 0.98
4. FoaF Explorer - демонстрация foaf
5.Origo - social client -лучший на данный момент пример демонстрации foaf
Данному формату основаному на RDF уже порядка 10 лет , последняя спецификация вышла пару дней назад (9 August 2010), предпоследняя была где то в марте.
Пример FOAF файла (foaf.rdf)
<rdf:RDF>
<foaf:Person>
<foaf:givenname>Yuriy</foaf:givenname>
<foaf:mbox_sha1sum>e5dd68cdab48e</foaf:mbox_sha1sum>
<foaf:interest>
<rdf:Description rdf:about="http://www.php.net/">
<dc:title>PHP</dc:title>
</rdf:Description>
</foaf:interest>
<foaf:knows>
<foaf:Person>
<foaf:name>Irina</foaf:name>
</foaf:Person>
</foaf:knows>
</foaf:Person>
</rdf:RDF>
Файл имеет "2 уровневую рекурсию" : на первом уровне идет описание меня т.е указание моего имени, фото,моего блога,емаил, и т.д (см спецификацию) а потом на 2 уровне идет описание тех людей, которых я знаю(foaf:knows), в таком же формате, как было на 1 уровне.
Этот файл я сохранил у себя на веб-сервере и подключил его в МЕТА моей домашней страницы:
<link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" >
Используя плагин к Mozilla Thunderbird, можно прикреплять FOAF файл в каждое Email-сообщении как vCard.
Формат RDFa (подобие микроформатов) позволяет "вживить" FOAF в текст HTML :
<div class="socialnet" about="#me" typeof="foaf:Person">
<p property="foaf:name">Alice Birpemswick</p>
My buddies:<ul rel="foaf:knows">
<li typeof="foaf:Person">
<a property="foaf:name" rel="foaf:homepage" href="http://example.com/bob">Bob</a></li>
</ul></div> пример взят отсюда
Смысл всего этого в том, что можно создать распредённую социальную сеть, которая будет распознаваться компьютерами. RDF это машиночитабельный и машинами-понимаемый формат.
Как можно получить FOAF файл ?
Есть небольшие программки (в том числе и online), которые позволяют создать foaf.rdf файлы. Зарегистрировшись, например на yandex.ru или в ЖЖ, можно также получить "автоматом" такой файл. Yandex сделал также своё расширение для foaf,
наверное не знав о SIOC.
Не совсем удобно, к примеру изменять свою домашнюю страницу и для людей (html) и для машин или агентов ( rdf ), а также вручную, как то конролировать список своих контактов в фоаф файле. Конечно этот процесс можно было бы как то автоматизировать, и создать специальный софт, если бы FOAF получил более широкое распространение.
Известная Opensource CMS Drupal иммет большое количесво RDF модулей (в том числе FOAF).
Как можно использовать FOAF и какое распространение это получило ?
1.Самый простой пример использования FOAF - он даже не из семантик веба - это использовать данный файл для быстрой регистрации на сайтах - указал URL FOAF файла и все данные -
как то имя, интересы, фото и т.д. заполнять не надо. Если регистрация будет в социальной сети, то сразу же можно найти и друзей не давая "потрошить" свой емаил ящик. Что бы это всё сделать безопастно и надёжно есть даже разработки в области FOAF+SSL.Для PHP есть библиотека ARC, с помощью которой легко обрабатывать RDF(faof.rdf) файлы , которые имеют XML-синтаксис.Но я как то не встречал сайтов, которые поддерживают упрощённую регистрацию, указанием FOAF файла.
Здесь есть конкуренция со стороны OpenID +OpenID Simple Registration и OpenID Attribute Exchange или oAuth. Эти форматы и протоколы уже поддерживают громадное число сайтов.
2.Для семантического веба RDF хорош тем что можно выполнять специальные SPARQL запросы, хотя если RDF файлы будут "разбросаны" по всему интернет - то не понятно как это использовать. Чтобы это использовать надо будет собирать эти файлы в единое RDF хранилише (RDF story) и тогда там уже можно будет использовать всю мощь SPARQL запросов -то есть тогда получилась бы семантическая поисковая машина для поиска людей что то типа FOAF search engine - хотя такие проекты, на сколько мне известно, так и не получили большого развития.
3.Есть еще концепция Linked Data - идея соединить все RDF данные. На фото развития, который есть на главной странице сайта,
FAOF и DBpedia кружочки занимают одно из центральных положений. Количество FOAF файлов появилось только за счет крупных социальных сетей, которые что бы "отдать дань моде" и как прилепить к себе слово "семантическая", просто сгенерировали для каждого своего пользователя такой файл и "сделались" таким образом Open social networks.
4.Некоторые отнологии например SIOC initiative (Semantically-Interlinked Online Communities) или Online Presence Ontology используют FOAF , но в OpenSocial или в какие то другие social API они также не попали.
Недостатки
1.Описание персоны является немного излишним , так как его можно было бы взять из hCard схемы , а описание связей(контактов) является недостаточным(есть только foaf:knows) и это значительно уступает описанию связей в XFN (или в почти его копии онтологии relationship).Для описания связей существует расширение(FoafExtensions) FOAFRealm Ontology Specification, которое всё же уступает XFN.
2. foaf как следует из название служит для описания людей и связей между ними.Сейчас же там появилось описание и организаций и документов(для этого есть известный Dublin Core) и еще много чего.
3.Нет начальной общей Онтологии "верхнего уровня", дающей описание, например как в веб каталогах, например Общество -> Персоны. Т.е. сначала должна быть онтология "Общество", в которую как часть, уже могла быть включена FOAF.
4.Нет "дальнейшей ветки" Онтологии - т.е. если я указываю мой интерес в FOAF файле (foaf:interest) например PHP , то для машин уже не понятно что такое PHP, т. к. нет онтологии где есть описание PHP и связаной с FOAF.
5. FOAF словарь является как бы островком с слабыми связями с другими rdf словарями-островками. Хотя для FOAF есть онтологии расширяющие FOAF, например GEO,E-foaf:interest,CV,Bio и другие.
6.Описание например IM аккаунтов иммет вид jabberID, msnChatID, skypeID. Было удобнее это делать как в виде foaf:contact и уже потом contact:msnChatID. Кстати уже есть несколько Contact онтологий например NEPOMUK Contact Ontology.
Аналоги и конкуренты
Конкурентами можно таки назвать микрофарматы и vCard. Микроформаты сейчас продвигаются лучше чем RDF(RDFa) у них hCard, XFN, XOXO, hCalendar,hReview и так далее.vCard стандарт RFC 2426 был описан аж в 1998 году, vCard на 2 года "старше" FOAF и vCard получило громандое распространение : все контакты в сотовых телефонах, email программах, IM программах и так далеее.
Есть также RDF версия vCard Representing vCard Objects in RDF, RDF версия XFN
Expressing the XFN microformat in RDF а также аналог XFN RELATIONSHIP.
Сейчас google "собирает" RDF данные и поддерживает микроформаты.
Open Social не стал поддерживать FAOF формат , что является наверное почти "смертельным" ударом. Open Social взял за основу vCard и XFN, , которые известны уже давно.
Portable Contacts (еще один формат который также служит для описания людей и их друзей или контактов)для совметимости с Open Social также основаны на vCard.
Существует еще один аналогичный FOAF формат Personal Information Model от Nepomuk, который используется в активно развивающемся проекте Semantic Desktop.
Выводы
Два факта :
1.есть связка RDF vCard + RDF XFN(или RELATIONSHIP)
2.OpenSocial "не поддержал" идею FOAF
делают FOAF практически "лишним" форматом.
Или ?
Подписаться на:
Комментарии к сообщению (Atom)
Разработка PHP и MySQL с использованием Docker
Современные веб-разработчики часто сталкиваются с проблемами настройки окружения для проектов. Docker помогает стандартизировать и ускорить ...
-
хочу предложить Вашему вниманию мою статью что такое социальная сеть ? определение, визуализация а также другие статьи этой же тематики ...
-
Куплю Ваш сайт с уникальным контентом и посещаемостью. предложения на eurweb@gmail.com
Ну ведь реально фиговое оформление
ОтветитьУдалитьДа ваще капец. ишо жалуется. Балбес. ущи Руский язик.
ОтветитьУдалить