前言
在Web剛被發明的那個年代,超連結(Hyperlink)被用來連結一份文件到文件中另外一個位置,或是連結到另一份文件,這時超連結很單純的只是一個『參考』或是『導航』的概念,藉由千千萬萬的超連結就這樣串起了Web上浩瀚如星河的資訊。顯而易見地,Web是人建立的,自然也存有許多關於人的資訊於其中,例如從一個人的個人網頁連結到另外一個人的個人網頁,正因如此,這一個個單向的超連結無形中也就在網路上建立了龐大的人際關係網路。隨著網路應用的廣泛發展,為了讓軟體可以自動化處理網路上豐富的資源,就需要有標準化的格式來描述『主體』與主體間的『關係』,於是乎,試圖開始賦予超連結特定的語意概念描述關係,以利軟體自動化使用。
FOAF與XFN
FOAF與XFN就是兩個相關的規格,用來描述網路上的人際關係。
FOAF (The Friend of a Friend)
The Friend of a Friend (FOAF) project is creating a Web of machine-readable pages describing people, the links between them and the things they create and do.
FOAF is about your place in the Web, and the Web’s place in our world. FOAF is a simple technology that makes it easier to share and use information about people and their activities (eg. photos, calendars, weblogs), to transfer information between Web sites, and to automatically extend, merge and re-use it online.
XFN (XHTML Friends Network)
直接引述官方網頁上的說明:
XFN™ (XHTML Friends Network) is a simple way to represent human relationships using hyperlinks. In recent years, blogs and blogrolls have become the fastest growing area of the Web. XFN enables web authors to indicate their relationship(s) to the people in their blogrolls simply by adding a ‘
rel‘ attribute to their<a href>tags, …
看到這裡應該就明白了,不論是FOAF或是XFN,簡單來說是一種用來描述一個人的Profile與關係的格式,有了這份描述,將來軟體就可以據此自動建立人際網路。兩者格式上的差別在於XFN是利用了HTML的microformat,而FOAF則是一個RDF/OWL的延伸。
我們先來看XFN一個簡單的例子:
XFN利用了HTML中<a>這個標籤的rel屬性來做描述,如果你在網頁上留下了下面這個連結,
<a href=”http://dave-blog.example.org/” rel=”friend met”>Dave</a>
表示dave-blog.example.org這個網頁上的Dave是一個你曾經碰過面的朋友。就是這樣,很簡單吧!當然除了朋友(friend)這個關係外,XFN也定義了許多不同的關係,茲整理如下表:
| 分類 | XFN rel |
| Friendship * | contact, acquaintance, friend |
| Physical | met |
| Professional | co-worker, colleague |
| Geographical * | co-resident, neighbor |
| Family * | child, parent, sibling, spouse, kin |
| Romantic | muse, crush, date, sweetheart |
| Identity | me |
| * pick at most once | |
接下來我們看到FOAF。FOAF的型式會稍微複雜一點,包含的資訊比較多,格式化也嚴謹了點,換句話說,就可以用比較豐富的方式來描述一個人。如以下的例子(此例子引用於維基百科的FOAF條目)。
<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:foaf=”http://xmlns.com/foaf/0.1/”
xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#”>
<foaf:Person rdf:about=”#JW”>
<foaf:name>Jimmy Wales</foaf:name>
<foaf:mbox rdf:resource=”mailto:jwales@bomis.com” />
<foaf:homepage rdf:resource=”http://www.jimmywales.com/” />
<foaf:nick>Jimbo</foaf:nick>
<foaf:depiction rdf:resource=”http://www.jimmywales.com/aus_img_small.jpg” />
<foaf:interest>
<rdf:Description rdf:about=”http://www.wikimedia.org” rdfs:label=”Wikipedia” />
</foaf:interest>
<foaf:knows>
<foaf:Person>
<foaf:name>Angela Beesley</foaf:name> <!– Wikimedia Board of Trustees –>
</foaf:Person>
</foaf:knows>
</foaf:Person>
</rdf:RDF>
上面的例子描述了Jimmy Wales這個人的基本資訊,包括他的名字,電子郵件,暱稱,照片,興趣,還有他認識的人,在此例子中他認識Angela Beesley。
詳細的FOAF字彙分成五大類,整理如下表(引用於FOAF Vocabulary Specification 0.91):
FOAF Basics
|
Personal Info
|
Online Accounts / IM
|
Projects and Groups
|
Documents and Images
|
產生了XFN或FOAF的內容後,要怎麼讓其他人或是軟體利用呢?很簡單,對XFN來說,XFN本身就是HTML網頁的一部分,認得XFN的搜尋引擎爬蟲(Crawler)在爬到內含XFN資訊的網頁時就會自動從HTML中擷取需要的資訊。至於FOAF可以存成檔案的形式,例如存成foaf.rdf,直接放在網站上讓人下載或是讓搜尋引擎爬蟲自動抓取,搜尋引擎甚至可以利用這些FOAF內的資訊發現其他網站的FOAF檔案。
應用
既然定義了這樣的格式,是否有軟體已經開始利用了呢?有,Google Social Graph API就是其中之一。
不曉得各位讀在對以下的情境是否感覺似曾相識?在這Web應用爆炸的年代,使用者需要一次又一次在不同網站註冊以嘗試新服務,如果新網站有提供社交的功能,又得要再一次輸入維護自己的社交圈,往往還沒享受到新服務帶來的好處,熱情就已經熄滅了一大半,是否,能夠直接利用自己已經存在其他網路服務中的社交圈呢?Google Social Graph API就是用來解決這樣的問題,藉由索引Web上關於FOAF與XFN的資訊,自動建立人際網路,也間接促成了人際關係資料的可攜性(Date Portability)。另外一方面,使用者就可以直接查詢這些已經被索引的人際網路資料了,如果這類的人際網路資訊存在的夠普遍,或許也可以在上面找到老同學,老朋友,老情人,甚至是老仇人(笑)。
除了Google Social Graph API之外,Technorati這個知名的部落格搜尋引擎也有利用部落格上的FOAF資訊。Technorati在爬部落格內容的時候也會尋找該部落格是否含有FOAF的資訊,如果有找到,就利用這個FOAF的資訊為該部落客建立專屬的profile,並且建立部落圈的社交網路。未來Technorati甚至可以提供『看這個A部落格的人同時也看B部落格』,『還有那些部落客跟A部落客加入了同樣的好友』,『自成一個小圈圈的部落客們』這類的服務,幫助增加閱讀部落格時的涵蓋率。
除了作為人際網路搜尋外,FOAF與XFN也可以用來整合個人在網路上的所有人際關係資料。在現實的情況下,很可能為了跟老同學聯絡,你在Facebook上有一個社交圈,為了商務上的需要,可能在LinkedIn上也有另外一個社交圈,又為了娛樂的需要可能在MySpace上又有一個社交圈,不同的社交網站,不同的目的,就有許多不同的社交圈。藉由FOAF與XFN,可以完全整合這些不同的社交圈,看到一個完整的社交網路。
目前使用FOAF或是XFN來標記社交資訊的網站並不多,台灣幾個大的部落格或是社交網站似乎也都還沒有支援,不過沒關係,如果讀者也有自己的部落格,而且剛好也是用WordPress這套系統所建置,就可以利用WordPress的blogroll(內建支援XFN格式)來建立自己在網路上的人際關係網路。
衍生的問題
當然,事情不會總是像憨人想的那樣簡單,牽涉到『人』的問題尤其複雜,FOAF與XFN帶來了許多便利,同時也衍生了不少問題。問題一,信任:每個人都可以輕易宣稱自己的身份,甚至與其他人的關係,尤其在網路這種匿名的環境下,可以想見一定會出現許多惡意的攻訐與破壞。問題二,安全:FOAF中可以包含許多重要的個人資訊,如何確保這些資訊的正確性與完整性將會是影響FOAF能否被廣泛利用的重要因素。
結語
在現實社會裡所謂的朋友關係其實相當主觀,每個人對於友情的認知多少都有點不同,但是在Web的世界裡這些資訊逐漸都可以被自動化處理,社交圈有多大多廣,遠近親疏馬上可以知道,曾幾何時,虛擬與實體世界的分隔也越來越模糊了。人類是社會性的動物,在Web這個開放平台上隨著新觀念新技術的盛行,社會性應用才剛起步,建立廣泛可用的社交網路只是開始,未來還會有許多可能。
Start Slide Show with PicLens Lite

0 Responses to “Web上的人際網路 - 從FOAF與XFN談起”