天天看點

《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子

本節書摘來自華章出版社《語義網基礎教程(原書第3版)》一 書中的第3章,第3.4節,作者:(希)grigoris antoniou(荷)paul groth(荷)frank van harmelen(荷)rinke hoekstra ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

與傳統資料庫不同,不是每個語義網上的資源都會以同樣的模式(schema)描述,或者都擁有同樣的屬性。這叫做開放世界假設。例如,一些較高價的電梯大廈可能比其他的擁有更多的描述。進一步地,它們可能以一種不同的詞彙表來描述。例如以下這個rdf例子:

《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子
《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子

在這個例子中,florida ave單間較高價的電梯大廈并沒有一個對人類友好的标簽,并且它的位置以dbpedia-owl:locationcity而非dbpedia-owl:location為謂語來描述。即便有這種不一緻,我們仍然想要在資料上查詢并找到位于amsterdam的較高價的電梯大廈并傳回它們對人類友好的标簽—如果有。sparql為表述這個查詢提供了兩種構造子。讓我們來看一個樣例查詢:

《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子

這個查詢的結果是:

《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子

union關鍵詞告訴三元組存儲庫傳回那些僅比對一個圖模式或兩個都比對的結果。optional關鍵詞告訴三元組存儲庫為特定的圖模式傳回結果—如果能找到。即對于待傳回的查詢而言,這個圖模式未必要被滿足。是以,在這個例子中,如果沒有這個可選項,這間單間較高價的電梯大廈就不會在查詢結果中傳回。

類似地,屬性路徑也可被用來建立一個更簡潔的sparql查詢。使用|運算符,我們可以表述一個或更多的可能性。是以,上述sparql可以被重寫成如下形式:

《語義網基礎教程(原書第3版)》—— 3.4 處理一個開放世界的構造子

這些僅僅是一些例子,來說明sparql是如何被設計為可以容易地查詢來自不同來源的知識。