| 4 | 1/1 | 返回列表 |
| 查看: 1554 | 回復(fù): 3 | |||
stephenyong銅蟲 (初入文壇)
|
[交流]
關(guān)于Linked Data(轉(zhuǎn)) 已有2人參與
|
|
蒂姆·伯納斯-李(Tim Berners-Lee) 翻譯: 呂康豪(請參考原文 有任何翻譯上的歡迎寄信到kennyluck@csail.mit.edu) 日期: 2006-07-27, 最后修改: $Date: 2009/06/18 18:24:33 $ 翻譯日期: 2010-01-11 狀態(tài): 僅可個(gè)人閱讀 編輯裝態(tài): 不完美但是發(fā)表了 回到Design Issues 鍵連資料(Linked Data) 語意網(wǎng)不只是把資料放在Web上而已,它是一個(gè)把東西跟東西連起來的過程,為了讓一個(gè)人或是電腦可以探索這個(gè)資料的Web。當(dāng)你已有一些的這種被連起來的資料,你就可以找到其他相關(guān)的資料。我們叫這種資料鍵連資料。 就像超連結(jié)的Web一樣,資料的Web也是由在Web上的文件構(gòu)成的。然而,對于超連結(jié)的Web來說,這些連結(jié)是HTML文件之間的連結(jié),以HTML描述,但是對于資料的Web來說這些連結(jié)是用RDF描述的任何東西跟任何東西的連結(jié),以URI來代表任何的物件或是概念。不管是HTML還是RDF,以下的原則使得Web蓬勃發(fā)展: 把URI當(dāng)作東西的名字使用 為了讓人們可以查找這些名字,使用HTTP URI。 當(dāng)某個(gè)人查找某個(gè)URI的時(shí)候,以規(guī)范的標(biāo)準(zhǔn)(RDF, SPARQL),提供他有用的資料。 在提供他的資料里,給他指到別的URI的連結(jié),使他可以發(fā)現(xiàn)更多東西。 很簡單。但是事實(shí)上因?yàn)樘幚硪陨喜襟E產(chǎn)生的問題,使得到2006為止有很驚人數(shù)量的資料并尚未被連接起來。這篇文章討論這些問題的解決方法、實(shí)作的一些細(xì)節(jié)、跟一些決定你要怎么發(fā)布你的資料的因素 。 四個(gè)原則 上述那些步驟我把它們當(dāng)作一種原則,你并不一定要照這些步驟做,不遵守這些原則也并不會(huì)發(fā)生什么可怕的事,但是卻會(huì)使得你的資料沒機(jī)會(huì)跟其他資料相互相連,這也使得這些資料被重復(fù)使用的可能性被限制住了。這些資料本來可以被使用在連你都不知道的地方,就是這種連你都不知道的可能性使得放在Web上的資料多增添了些許價(jià)值。 第一條原則 - 使用URI辨識東西 - 已被作語意網(wǎng)的人所充分了解。若不是使用URI的那些通用符號集合,我們就不稱之為語意網(wǎng)。 第二條原則 - 使用HTTP URI - 也已經(jīng)被充分了解,除了一些小狀況以外。自從Web開始發(fā)展以來,因?yàn)槟承├碛梢恢庇腥讼胍l(fā)明新的URI協(xié)議(或是urn:協(xié)議下的子協(xié)議),像是LSID、Handle System、XRI、DOI等等。一般來說,這些代表那些人不想被已被廣泛使用網(wǎng)域名稱系統(tǒng)(DNS)所規(guī)范,而想弄出受其他規(guī)范控制的URI。這有時(shí)候也跟不了解HTTP URI是用來當(dāng)名字的(而不是位置)且URI名字的查找過程是一個(gè)復(fù)雜、強(qiáng)大、且正在進(jìn)化的標(biāo)準(zhǔn)。在別的地方有這個(gè)問題的詳細(xì)討論,暫時(shí)沒時(shí)間在這里提這個(gè)了。(@@連結(jié)TAG發(fā)現(xiàn)等等) 第三條原則 - 在一個(gè)URI上提供資訊。在2006年的這個(gè)時(shí)候,大部分的在Web上的本體(ontology)已經(jīng)遵守了這個(gè)原則,但是不知道為什么很多大的資料集卻還沒遵守這個(gè)原則。一般來說,你可以查找在資料里面用的那些屬性跟類然后從那些RDF、RDFS、OWL本體里面找到資料,這包含那些資料里的用語跟用語之間的關(guān)系。 在這幾年的很多語意網(wǎng)的研究計(jì)畫做出了很多本體跟資料庫,不過那些資料,就算是可以自由取得的,也被埋在不知道在哪的zip壓縮檔,而不是做為鍵連資料放在Web上。Biopax與蒐集電腦科學(xué)研究者跟專案的CSAktive資料庫是兩個(gè)例子。[CSAktive的資料已經(jīng)在現(xiàn)在(2007)成為鍵連資料了] 現(xiàn)在有更多更多非本體的資料的URI可以被查了。語意維基是一個(gè)例 子。"朋友的朋友"(Friend of a friend, FOAF)跟"一個(gè)專案的描述"(Description of a Project, DOAP)的兩個(gè)本體已被用來建立橫跨整個(gè)Web的社交網(wǎng)路。傳統(tǒng)的社交網(wǎng)站里不會(huì)有連到別的網(wǎng)站的連結(jié),那些資料也不是用標(biāo)準(zhǔn)的格式寫的。 LiveJournal跟Opera Community是兩個(gè)用RDF發(fā)布資料的社交網(wǎng)站。這代表說我可以在我的FOAF檔案里面用Opera Community給Håkon Lie的URI寫上我認(rèn)識他這件事,然后別人或是機(jī)器一但瀏覽的這份資料就可以借由這個(gè)連結(jié)跟這個(gè)連結(jié)里的其他連結(jié)找到他的所有朋友。嗯,是他的所有朋友嗎?并不見得:只有他在Opera Community的朋友而已。Opera的系統(tǒng)不讓他存在別的系統(tǒng)上的人們的URI。所以說,雖然Opera的設(shè)交網(wǎng)路對連進(jìn)來的連結(jié)來說是開放的,而且可以瀏覽Opera里的所有人,但是Opera并沒有放連出去的連結(jié)。 第四個(gè)原則 - 放連到別的地方的連結(jié),是將我們的資料連結(jié)成一個(gè)網(wǎng)的一個(gè)必要條件。這個(gè)網(wǎng)可以成為一個(gè)強(qiáng)大、無邊界,讓我們可以找到各種東西的網(wǎng),就像我們辛辛苦苦建起來的超連結(jié)的網(wǎng)一樣。 對于超連結(jié)的網(wǎng)站來說,不連到相關(guān)的外部資料是被認(rèn)為是相當(dāng)不好的做法。你的網(wǎng)頁的價(jià)值,除了跟這個(gè)網(wǎng)頁內(nèi)容的價(jià)值相關(guān)以外也跟連到的內(nèi)容有關(guān)。這件事對語意網(wǎng)來說也是一樣的。 現(xiàn)在讓我們來看看連接資料的一些方法,從最簡單的開始。 基礎(chǔ)的Web查找 做鍵連資料最簡單的方式是,在一個(gè)檔案里用一個(gè)URI連到一個(gè)URI。 如果說你在寫的是一個(gè)RDF檔,比如說<http://example.org/smith>,那你就可以用在這個(gè)檔案里的局部id,比如說#albert、#brian、跟#carol。用N3你可以這樣說 <#albert> fam:child <#brian>, <#carol>. 或者用RDF/XML <rdf escription about="#albert"<fam:child rdf:Resource="#brian"> <fam:child rdf:Resource="#carol"> </rdf escription>這時(shí)候WWW的架構(gòu)就給了Albert一個(gè)廣域的id "http://example.org/smith#albert"。這是一件非常值得去做的事情,畢竟現(xiàn)在在這個(gè)星球上的任何一個(gè)人都可以用這個(gè)廣域id去表示Albert并給予更多的資訊。 比如說,在文件<http://example.org/jones>有人可能會(huì)這樣寫: <#denise> fam:child <#edwin>, <smith#carol>. 或者用RDF/XML <rdf escription about="#denise"<fam:child rdf:Resource="#edwin"> <fam:child rdf:Resource="http://example.org/smith#carol"> </rdf escription>很明顯一個(gè)遇到id "http://example.org/smith#carol"的人會(huì)去: 把#字前面的文件的URI拿出來 去讀那個(gè)文件以得到#carol的資訊 我們叫這個(gè)步驟「參照URI(dereference the URI)」。這就是基礎(chǔ)語意網(wǎng) 有幾個(gè)變化。 變化:沒斜線的URI跟HTTP 303 有一些情況下一個(gè)文件里面有數(shù)個(gè)id并不是那么好。一份文件里面有一個(gè)廣域id也是合理的,且有些人并不喜歡在URI里面放#,像是 http://wordnet.example.net/antidisesablishmentarianism#word 由于歷史因素,那些比較早的字匯像是Dublin Core跟FOAF的URI里面沒有#。不管怎么樣,假如說我們用沒#的HTTP URI代表抽象的概念且我們有一份文件載有這些概念的資訊,那我們應(yīng)做好以下設(shè)定: 對一個(gè)概念的URI送一個(gè)HTTP GET請求的話要傳回303 See Also并給Location:接上那份文件的URI 那份文件就會(huì)被像一般情況一樣被傳回 這種方式的好處是URI可以是各種各樣的形式(有#或沒有#)。壞處是美一個(gè)概念就要有一個(gè)HTTP請求。比如說Dublin Core的情況里,dc:title跟dc:creator等等事實(shí)上是從同一個(gè)本體文件來的,不過在得到那些HTTP轉(zhuǎn)址碼之前沒人知道這種事。 變化:FOAF跟rdfs:seeAlso "朋友的朋友"的常規(guī)做法也是一種資料的連結(jié),不過不是前面提到的那兩種。要提到別的FOAF檔里面的人,常規(guī)的做法是給兩個(gè)屬性,一個(gè)指向描述那個(gè)人的文件,另一個(gè)用來標(biāo)示那個(gè)人。 <#i> foaf:knows [ foaf:mbox <mailto:joe@example.com>; rdfs:seeAlso <http://example.com/foaf/joe> ]. 讀作「我知道email有joe@example.com的那個(gè)人,且那個(gè)人的資訊在里」。 事實(shí)上,因?yàn)殡[私權(quán)因素,人們不會(huì)把他們的email直接放在網(wǎng)上而放一個(gè)那個(gè)email的單向hash (SHA-1)。這個(gè)聰明的小技巧讓知道他們email的人算出那是同一個(gè)人,盡管email沒有被公開。 <#i> foaf:knows [ foaf:mbox_sha1sum "2738167846123764823647"; # @@ dummy rdfs:seeAslo <http://example.com/foaf/joe> ]. 這個(gè)連結(jié)系統(tǒng)是非常成功的,目前仍在成長中,且在2006的這個(gè)時(shí)候是鍵連資料的最主要的部份。 然而,這個(gè)系統(tǒng)的一個(gè)小缺點(diǎn)是它不會(huì)給人們URI,所以之前一開始提到的基礎(chǔ)連結(jié)的方式就不行了。 我建議(在部落格的文章語意網(wǎng)上的連結(jié)、給你自己一個(gè)URI、跟在RDF里向前向后的連結(jié)同等重要)做FOAF檔的人給自己一個(gè)URI同時(shí)使用FOAF的常規(guī)做法。同樣的,當(dāng)有一個(gè)人的FOAF檔給他了一個(gè)URI而你要提到他這個(gè)人的時(shí)候,用他的URI代表他這個(gè)人,這樣只會(huì)用URI的而不知道FOAF的常規(guī)做法的那些軟體才能跟著那些連結(jié)走。 可瀏覽圖 我們已經(jīng)看到了造連結(jié)的一些方法了,讓我看看針對「什么時(shí)候要造連結(jié)」這個(gè)問題的一些想法。 一個(gè)重要的方式是你一定要讓使用者可以借由抓資料→點(diǎn)里面的連結(jié)→抓資料的模式探索你的資料。當(dāng)一個(gè)人查找一個(gè)RDF圖里一個(gè)點(diǎn)的URI時(shí),伺服器回傳從那個(gè)點(diǎn)向外跟向內(nèi)的所有連結(jié)。也就是,它應(yīng)該回傳任何主詞或是受詞是該URI的任何RDF敘述。 嚴(yán)格來說,我們叫一個(gè)圖G可連結(jié)圖若,對于G里面的任何一個(gè)URI,假如我查找那個(gè)URI我可以得到描述那個(gè)點(diǎn)的資訊。「描述那個(gè)點(diǎn)」的意思是: 回傳以那個(gè)點(diǎn)為主詞或受詞的所有敘述,且 跟那個(gè)點(diǎn)以一個(gè)連接相鄰的所有白點(diǎn)。 實(shí)際上來說,這但表任何的一個(gè)描寫在兩個(gè)檔案里的兩個(gè)東西的關(guān)系RDF敘述都會(huì)有重復(fù)的一份拷貝。所以,比如說在我的FOAF頁里我提到說我是DIG組的一員,這份資料就會(huì)重復(fù)在DIG組的資料里。這樣的話一個(gè)從DIG組開始瀏覽的人會(huì)發(fā)現(xiàn)我也是一個(gè)組員。事實(shí)上,從我的URI開始走可以找到所有在同一個(gè)組的組員。 可瀏覽資料的限制 所以說描述在兩個(gè)文件里的東西之間關(guān)系的敘述必須要在兩個(gè)文件里面重復(fù)。這很明顯了違背了資料儲(chǔ)存的根本原則:不要在兩個(gè)不同的地方存相同的資料,確保他們同步是有困難的。這的確是可瀏覽資料的一個(gè)問題。一份完整且含有雙向連結(jié)的可瀏覽資料應(yīng)該要是完全同步的,不過這需要所有的作者跟程式互相配合。 我們可以有完全可瀏覽的資料,只要我們讓資料自動(dòng)產(chǎn)生。比如說,dbview伺服器可以讓任何的關(guān)連資料庫產(chǎn)生可以瀏覽的虛擬文件。 若我們有從很多個(gè)地方找來的資料,我們就有共識。這些共識是由常識與以下的問題來的, 「如果某個(gè)人得到一個(gè)東西的URI,跟這個(gè)東西相關(guān)的其他東西有哪些是值得知道的呢?」 有時(shí)候一些社交常識決定了答案。我在我的FOAF檔說我認(rèn)識各個(gè)人。但是這些人一般不會(huì)在他們的FOAF檔講這件事。某個(gè)人可以講他認(rèn)識我,這是他以FOAF的常規(guī)寫的東西,這是他的檔案所以是他寫的,由讀者去決定相不相信。 有時(shí)候,連結(jié)的數(shù)目使得知道所有的連結(jié)很不實(shí)際。一個(gè)GPS軌跡服務(wù)可以記錄數(shù)千萬個(gè)我所在的經(jīng)度緯度。每一個(gè)讀我的FOAF檔的人會(huì)希望知道我的名片上會(huì)有的內(nèi)容,不會(huì)希望知道那些GPS記錄。從那些GPS記錄里(甚至是美一個(gè)點(diǎn))有連到我的連結(jié)是合理的,但另一個(gè)方向不是。 一個(gè)解法是把某一個(gè)屬性的所有連結(jié)放到另一個(gè)文件里。一個(gè)人的首頁不會(huì)有他的所有論文,但是會(huì)有一個(gè)到放他所有論文的文件的連結(jié)。我們了解到foaf:made會(huì)連到那個(gè)人做的某件工作,而foaf:pubs會(huì)連到那個(gè)人做的工作的列表的一份文件。因此,某個(gè)在找foaf:made的連結(jié)的人可以就沿著foaf:pubs的連結(jié)查找。如果把這個(gè) 概念形式化,把以下的敘述放到其中一個(gè)本體里的話 foaf:made link:listDocumentProperty foaf:pubs. 可能會(huì)很有用。 查詢服務(wù) 有時(shí)候龐大的資料數(shù)量雖然可能可以分成很多個(gè)檔案,但是對于有效率的遠(yuǎn)端查詢卻是不可能的。這種情形的話,提供一個(gè)SPARQL查詢服務(wù)是合理的。要讓資料更顯著的互相連結(jié),當(dāng)某個(gè)人得到一個(gè)東西的URI時(shí)他應(yīng)該要能找到有該東西資料的SPARQL節(jié)點(diǎn)(SPARQL endpoint)。 這里又可以用HTTP 303回應(yīng)了,提供到一個(gè)描述怎么樣的種類的URI可以用哪個(gè)查詢服務(wù)節(jié)點(diǎn)的文件的轉(zhuǎn)址就行了。 描述這種方法的字匯還尚未被標(biāo)準(zhǔn)化。 結(jié)論 鍵連資料對把語意網(wǎng)連結(jié)起來是個(gè)關(guān)鍵。只要多想一想會(huì)發(fā)現(xiàn)這蠻簡單的,也會(huì)變成一種習(xí)慣。其他的常識判斷會(huì)決定什么時(shí)候要放一個(gè)連結(jié)什么時(shí)候不要。 Tabulator(在一個(gè)合適的瀏覽器上跑)讓你瀏覽用上述方法建構(gòu)起來的鍵連資料,也可以讓你確認(rèn)你的鍵連資料是不是正確的。 參考資料 [Ding2005] Li Ding, et. al., Tracking RDF Graph Provenance using RDF Molecules, UMBC Tech Report TR-CS-05-06 新消息 2006-02 Rob Crowell改進(jìn)了Dan Connolly的把SQL資料轉(zhuǎn)成鍵連RDF的DBView(2004),他加入了雙向連結(jié)。 2006-09-05 Chris Bizer跟其他人改進(jìn)了D2R Server,讓他可以以鍵連資料的模式看一個(gè)資料庫。 2006-10-10 Chris Bizer跟其他人寫了一個(gè)Semantic Web Client Library,「技術(shù)上來說,這個(gè)libray讓你可以把整個(gè)Semantic Web當(dāng)作是一單個(gè)Jean的RDF圖或是Jena Model」程式碼會(huì)為了回答某些問題去抓Web上的文件。 2007-01-15 Yves Raimond寫了Semantic Web client for SWI prolog,它有類似的功能。 |

木蟲 (小有名氣)
銅蟲 (初入文壇)

金蟲 (初入文壇)
| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 265求調(diào)劑 +4 | 梁梁校校 2026-03-19 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 一志愿吉林大學(xué)材料學(xué)碩321求調(diào)劑 +9 | Ymlll 2026-03-18 | 12/600 |
|
|
[考研] 一志愿中國海洋大學(xué),生物學(xué),301分,求調(diào)劑 +5 | 1孫悟空 2026-03-17 | 6/300 |
|
|
[考研] 復(fù)試調(diào)劑 +4 | z1z2z3879 2026-03-14 | 6/300 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 招收調(diào)劑碩士 +4 | lidianxing 2026-03-19 | 10/500 |
|
|
[考研]
|
.6lL 2026-03-18 | 6/300 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 12/600 |
|
|
[考研] 085600材料與化工求調(diào)劑 +6 | 緒幸與子 2026-03-17 | 6/300 |
|
|
[考研] 304求調(diào)劑 +6 | 司空. 2026-03-18 | 6/300 |
|
|
[考研]
|
胡辣湯放糖 2026-03-15 | 6/300 |
|
|
[考研] 299求調(diào)劑 +5 | △小透明* 2026-03-17 | 5/250 |
|
|
[考研] 265求調(diào)劑 +3 | 梁梁校校 2026-03-17 | 3/150 |
|
|
[考研] 334求調(diào)劑 +3 | 志存高遠(yuǎn)意在機(jī)?/a> 2026-03-16 | 3/150 |
|
|
[考博] 26博士申請 +3 | 1042136743 2026-03-17 | 3/150 |
|
|
[考研] 268求調(diào)劑 +8 | 一定有學(xué)上- 2026-03-14 | 9/450 |
|
|
[考研] 考研化學(xué)學(xué)碩調(diào)劑,一志愿985 +4 | 張vvvv 2026-03-15 | 6/300 |
|
|
[考研] 302求調(diào)劑 +4 | 小賈同學(xué)123 2026-03-15 | 8/400 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個(gè)二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 0703化學(xué)調(diào)劑 290分有科研經(jīng)歷,論文在投 +7 | 膩膩gk 2026-03-14 | 7/350 |
|