| 2002 年 6 月 01 日
不是您知道什么,而是您知道誰(shuí)。自從 Web 出現以來(lái),Web 上對自我的表述就同其它內容一樣多。許多人初涉 Web 世界就是從給自己構建主頁(yè)開(kāi)始的。搜索引擎意味著(zhù)您可以非??斓卣业骄哂邢嗤d趣的人。的確,這項技術(shù)非常有趣,但是人本身卻總是更有趣。 個(gè)人 Web 發(fā)布趨勢中最新插曲之一是 Web 日志(weblog),它是一種快速發(fā)布的格式,具有個(gè)人的、非正式的特性。Web 日志用戶(hù)喜歡相互引用,從而喜歡創(chuàng )建多個(gè)網(wǎng)站之間的對話(huà)。支持這種快速發(fā)布形式的技術(shù)之一是 Rich Site Summary 或 RSS(參閱 參考資料),它是一種包含有關(guān)站點(diǎn)上內容項的元數據的 XML 文檔。 RSS 創(chuàng )建了一種可預見(jiàn)的方法用于對內容片段進(jìn)行聚集、排序和搜索。類(lèi)似 Syndic8 和 Meerkat 的站點(diǎn)(參閱 參考資料)使您能夠跟蹤您感興趣的主題 ― 或人 ― 而發(fā)表觀(guān)點(diǎn)的人。RSS 還非常簡(jiǎn)單,您經(jīng)??梢园l(fā)現 XML 教程材料的示例中使用了它。其部分吸引力在于那種讓您能夠將您的內容連接至更大的 Web 的方法,這使得其他人能夠更容易地找到您。 然而,本文并不是關(guān)于 RSS 的 ― 它在別處已有詳細的記載。我將研究一個(gè)有些類(lèi)似的稱(chēng)為朋友的朋友(FOAF)的新項目。該項目進(jìn)一步深化 Web 的社會(huì )網(wǎng)絡(luò )方面。 在因特網(wǎng)上,社區的數量正在不斷激增,包括各種社區,從專(zhuān)業(yè)機構到社會(huì )團體。Dan Brickley 和 Libby Miller 發(fā)明的 FOAF 詞匯表為社區成員提供了一種基本表達:描述人及其基本特性,如姓名、電子郵件地址等等。 FOAF 只是一個(gè) RDF 詞匯表。它的常規用法類(lèi)似于 RSS:在 Web 服務(wù)器上創(chuàng )建一個(gè)或多個(gè) FOAF 文件并共享 URL,這樣,使得軟件可以使用該文件內的信息。和創(chuàng )建您自己的 Web 頁(yè)面一樣,分散創(chuàng )建 FOAF 數據并使其創(chuàng )建在您的控制之下。使用這些文件的示例應用程序可能是一個(gè)社區目錄,成員在該目錄內維護他們自己的記錄。然而,如同 RSS 一樣,當聚集數據然后探究和交叉鏈接這些數據時(shí),FOAF 才顯露出其真正有趣的部分。 FOAF 有望成為一種管理社區的重要工具。除提供簡(jiǎn)單的目錄服務(wù)之外,您還可以以許多方式使用 FOAF 上的信息。例如:
本文余下部分描述了 FOAF 的基本特性,并為當前實(shí)現和未來(lái)考慮事項提供了一些啟示。讓我們從 FOAF 解決的核心問(wèn)題開(kāi)始:為了描述人要如何標識人。
開(kāi)始將有關(guān)現實(shí)世界事物(如人)的數據輸入計算機系統時(shí),您會(huì )碰到為每樣事物創(chuàng )建一個(gè)唯一的名稱(chēng)這一難題。以人為例,很顯然,某人的姓名不足以向計算機唯一地標識他。在大多數封閉的系統中,往往為人們分配特定于應用程序的標識符??梢栽?Web 上看到這一點(diǎn):您可能將用戶(hù)名/密碼對用于如郵件列表和網(wǎng)站之類(lèi)的多種不同的服務(wù)。只要您根本不希望這些分隔開(kāi)的、封閉的系統相互操作,您就不會(huì )有問(wèn)題(也許,除了需要記憶大量的標識符之外)。 如果希望在多項服務(wù)上統一您的身份,那么情況就變得比較復雜。有人不得不提出一個(gè)集中式的方案來(lái)控制身份分配。最近我們看到發(fā)展很快的一種這樣的方案是 Microsoft 的 Passport。然而,由于種種原因這種集中非常危險,不僅是因為會(huì )使第三方完全控制您對服務(wù)的訪(fǎng)問(wèn),并且可能控制您的私人數據。 因此,如果您考慮 FOAF 系統 — 在該系統中,任何人都可以自由創(chuàng )建及使用數據,而希望每人只有一個(gè)名稱(chēng) — 那么就需要一個(gè)分散命名策略。Web 有一種構建良好的命名策略,它與此類(lèi)似:URI。對于人的命名,您可能認為
稍做思考會(huì )發(fā)現這句話(huà)實(shí)際上毫無(wú)意義,因為您可以真實(shí)地寫(xiě)下:
很顯然,某人和他的電子郵件地址不是一回事,因此,您實(shí)際上不能將某人的電子郵件地址作為全局名。而且,某人可能有多個(gè)電子郵件地址,每個(gè)地址用于一個(gè)不同的目的。 然而,使用電子郵件地址來(lái)標識某人的原理并沒(méi)有缺陷:通常,如果您向一個(gè)地址發(fā)送一條電子郵件消息,那么您希望它能到達某個(gè)確定的人。那種天真的方法沒(méi)有考慮到的是:雖然您永遠也不能為某人創(chuàng )建全局名,但您可以合理地假設包含“這個(gè)人的電子郵件地址是 edd@xml.com”的所有個(gè)人描述非??赡苤竿粋€(gè)人。 因此,您可以正確地寫(xiě)下:
這就是 FOAF 的工作方式。為了組合關(guān)于特定個(gè)人的信息,我們假定電子郵件地址是一種 確定的屬性― 即只有一人擁有某個(gè)特定的郵箱。
撇開(kāi)理論,讓我們看一看 FOAF 信息采用何種格式。因為代碼常常比文字更能說(shuō)明問(wèn)題,清單 1 顯示了一小段對我自己的 FOAF 描述。 清單 1. 有關(guān)作者的樣本 FOAF 描述
簡(jiǎn)單地說(shuō), 清單 1中的描述表明“有一個(gè)名叫 Edd Dumbill 的人,他的電子郵件地址為 edd@xml.com?!? FOAF 使用 RDF 來(lái)對其描述進(jìn)行編碼。在本文中,我將堅持使用 RDF 十分基本的用法,即通過(guò)列出帶類(lèi)型的對象(在 清單 1 的例子中,類(lèi)型是 表 1 顯示了其它一些更簡(jiǎn)單特性,這些特性使我能夠表示關(guān)于我自己的更多信息。 表 1. 對單個(gè)人進(jìn)行特征描述的一些更簡(jiǎn)單特性
在清單 2 中,我用這些特性中的幾個(gè)來(lái)增加對我的描述。(我省去了外層 RDF 封套以節省版面。) 清單 2. RDF 摘錄,其中將來(lái)自表 1 的更多特性添加到對作者的描述中
至此,示例向我們提供了一種創(chuàng )建計算機可讀的主頁(yè)的有用方法。如果在線(xiàn)社區上的每個(gè)人都提交指向一個(gè) FOAF 文件的 URL,那么您就可以將他們編織成一個(gè)合理的社區目錄。
我還沒(méi)有研究的一個(gè)特性是 清單 3. foaf:knows 特性示例,它建立兩個(gè)熟人之間的聯(lián)系
在 清單 3對我的描述中,我添加了“此人認識擁有郵箱 simon@xmlhack.com 并且姓名為 Simon St.Laurent 的人?!蔽矣么煮w突出顯示了郵箱行,因為 FOAF 將使用郵箱來(lái)實(shí)際生成到 Simon 的鏈接,而不是使用任何其它屬性。 如同我將在下一節中演示的那樣,如果程序讀取我的 FOAF 文件,同時(shí)也讀取 Simon 的文件,那么我可能理所當然地想要請求它“顯示我認識的人的姓名和主頁(yè)?!奔词刮覜](méi)有透露關(guān)于 Simon 主頁(yè)的任何信息,但如果 Simon 提供了該信息,那么程序可以通過(guò)共享的
當 FOAF 文件合并在一起時(shí),使用 FOAF 詞匯表的真正強大功能才體現出來(lái)。注:詞匯表完全沒(méi)有限制您創(chuàng )建對您自己的唯一描述。例如,我可以為其他幾個(gè)人創(chuàng )建 FOAF 描述。讓我們來(lái)嘗試一個(gè)小示例。首先,清單 4 顯示了我創(chuàng )建的一個(gè)文件。 清單 4. 對作者和兩個(gè)同事的簡(jiǎn)單描述
假定 Eric 有一本在線(xiàn)相簿。他可以用它來(lái)創(chuàng )建清單 5 中所顯示的 FOAF 文件。 清單 5. 對兩人的描繪的說(shuō)明
一眼就可以清晰地看出,放在一起的這兩個(gè)文件的整個(gè)導入就是:除我已表述的信息之外,從 http://example.org/photos/edd+simon.jpg 獲得的特殊照片上描述了 Simon St.Laurent 和 Edd Dumbill。 為了讓計算機理解這一點(diǎn),必須讓計算機執行這兩個(gè)數據文件的合并 — 即,計算機必須處理文件中的數據以強制執行規則“如果某人 A 與某人 B 具有相同的 清單 6. 從合并清單 4 和清單 5 中的屬性所得的描述
至此,我希望您可以看到合并所提供的能力。通過(guò)聚集和合并 FOAF 文件,您可以獲得同操作集中式目錄服務(wù)相同的效果,而沒(méi)有單點(diǎn)故障或單點(diǎn)控制的任何問(wèn)題。對于許多需要分散或轉移控制的社區來(lái)說(shuō),這是一項極富吸引力的特性(要么因為政治結構的緣故要么純粹是因為大小的緣故)。
由于篇幅的原因,我在這里不能解釋有關(guān) FOAF 詞匯更多內容。進(jìn)一步探討它的方法是看一看一些演示。
同樣,請務(wù)必查閱 參考資料以獲取更多 FOAF 文檔和演示。
朋友的朋友系統提出了許多問(wèn)題,其中許多問(wèn)題本質(zhì)上是社會(huì )和法律問(wèn)題。在這里限于篇幅無(wú)法深入討論它們,但您可能會(huì )思考其中的一些問(wèn)題。
FOAF 開(kāi)發(fā)人員目前都在考慮這些問(wèn)題以及其它問(wèn)題??梢酝ㄟ^(guò)訂閱 rdfweb-dev 郵件列表來(lái)參與 FOAF 討論(參閱 參考資料)。
|
聯(lián)系客服