天天看點

《語義網基礎教程(原書第3版)》—— 2.8 RDF和RDFS的一個直接推理系統

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

如前所述,在2.7節中詳細介紹的公理化語義可以用作rdf和rdf模式的自動化推理。但是,它需要一階邏輯證明系統來實作。這是一個很重的需求,并且當涉及數以百萬計(億計)的聲明時很難擴充(例如,數以百萬計的type(?r, ?c)形式的聲明)。

出于這個原因,rdf也被賦予了一個基于rdf三元組的語義(以及針對這種語義的完備的推導系統),取代基于一階邏輯來重述rdf,正如在2.7節中介紹過的公理化語義。

推導系統包含如下形式的規則:

if e包含某些三元組

then添加一些額外的三元組到e

(其中e是任意一個rdf三元組的集合)。

這裡不再重複所有的推導規則(這些規則可以在官方的rdf文檔中找到),在這裡給出幾個基本的例子:

if e包含三元組(?x, ?p, ?y)

then e也包含三元組(?p, rdf:type, rdf:property)

這表明任何一個用于一個三元組的屬性位置的資源?p可以推導出它是rdf:property類的一個成員。

一個或許更加有趣的例子是下面的規則:

if e包含三元組(?u, rdfs:subclassof, ?v)和(?v, rdfs:subclassof, ?w)

then e也包含三元組(?u, rdfs:subclassof, ?w)

這展現了子類關系的傳遞性。

相關的規則包括:

if e包含三元組(?x, rdf:type, ?u)和(?u, rdfs:subclassof, ?v)

then e也包含三元組(?x, rdf:type, ?v)

這定義了rdfs:subclassof含義的本質。

最後一個例子常令第一次了解rdf模式的人感到驚訝:

if e包括三元組(?x, ?p, ?y)和(?p, rdfs:range, ?u)

then e也包含三元組(?y, rdf:type, ?u)

這個例子說明任何一個資源?y作為一個屬性?p的值出現時,它可以被推導出是?p的值域的一個成員。這說明rdf模式中的值域定義不是用來限制一個屬性的值域,而是推導值域的成員關系。

規則閉集的總數不超過幾十個,并且無需經驗豐富的定理證明技術來高效實作。