複製鏈接
請複製以下鏈接發送給好友

SWRL

鎖定
SWRL(Semantic Web Rule Language)是由以語義的方式呈現規則的一種語言,SWRL的規則部分概念是由RuleML所演變而來,再結合OWL本體論形成。SWRL已經是W3C規範中的一員。
外文名
SWRL
全    稱
Semantic Web Rule Language
在RuleML中以head表示推理結果,body表示推理前提的基本形態被保留在SWRL中,所以SWRL可視為規則和本體論的結合。透過兩者的組合可使撰寫規則時,直接使用本體論中所描繪的關係和詞彙,這些類別之間的關係本來可能還需要額外的法則描述,但SWRL中可以直接使用本體論描述。例如在本體論中定義了下列關係:
l hasParent( x2, x1 )
l hasBrother( x1, x3 )
透過本體論描述我們可以知道x1是x2的父母,x1有一個兄弟是x3。此時欲使用SWRL設計一條規則説明x2和x3之間的關係,即在何種情況下x2和x3有叔叔的關係,如下:
Body
l hasParent( x2, x1 )
l hasBrother( x1, x3 )
Head
l hasUncle( x2, x3 )
此規則所表達的具體語義是:當x1是x2的父母且x1和x3是兄弟時,則可以推理得出x3是x2的叔叔。
另外,在SWRL規範中定義了SWRL的schema,主要是提供一種規則定義的規範,幫助用户簡單方便的定義規則。它主要分為四個部分,分別是:Imp、Atom、Variable和Building。在Imp中包含head和body,head是記錄這條規則欲推理的結果,body則是達到該推論的條件,而head和body所使用的instance則是由Atom或Variable這兩類提供的。在Atom中包含一條條的限制表達式,這些限制表達式主要可分為四種:
l C(x):C是OWL描述
l P(x,y):P是OWL的屬性,x、y是變量、OWL individuals或者OWL data value
l SameAs(x,y):x和y相等
l DifferentFrom(x,y):x和y不同
通過這些Atom可將其組合成規則,在Atom中所使用的變量是Variable類的instance,這些變量可以再通過SameAs對應到本體論中的資源。Building是SWRL模塊化元件,例如swrlb:equal是由XQuery的op:equal演變而來,這些Build-Ins主要是通過利用XQuery和XPath而來,可幫助SWRL的延伸及與其他格式的網絡語言或架構整合,例如語義網語言、網絡服務、網絡應用程序等。