owl2是一種知識表示語言,旨在對興趣領域的知識進行明確表達(formulate)、交換和推理。應該首先解釋一些基本概念,以方便理解知識在owl2中是如何被表達的。這些基本概念如下:
·公理(axioms):,乙個owl本體表達的基本陳述
·實體(entities):用來指向現實世界物件的元素
·表示式(expressions):實體的組合,從簡單的描述形成複雜的描述
· owl2中,類的成員通常被稱為個體(individual)而非例項(
instance)
· 當我們聲稱某個資源是乙個特定型別時,稱這是乙個斷言
類(
classes
)和例項(
instances
)
classassertion( :person :mary )
這個陳述談到乙個名叫mary的個體並且宣告這個個體是人。更專業地,是乙個人通過說明mary歸屬於(或者「is a member of」,甚至更專業地稱「is an instance of」)所有人類的這個class
來表達。通常,類被用來對一些具有共性的個體分組,以便引用它們。
因此,類本質上代表了個體集合。建模時,類經常被用來表示由一組人類思維概念組成的物件,如概念
person或者woman。所以,我們可以用同樣的方式表明mary是女人,即她是woman類的例項:
類層次結構
subclassof( :woman :person )
在乙個本體中這個公理的存在使得推理器可以針對每乙個被指定為woman類的例項的個體,推斷出她同樣也是person這個類的例項。作為乙個經驗法則,如果短語「每乙個a都是乙個b」有意義且正確,那麼類a跟類b之間的子類關係就能夠指定。
subclassof( :mother :woman )
每個歸類為母親的單獨個體,也是乙個女人(因此也是人),可以推導出mother也是person的子類,這意味著類和子類之間的關係是傳遞的(transitive)。除此之外,它也是自反的(reflexive),意味著每乙個類都是它自己的子類,這也很直觀,很明顯每個人都是乙個人。
equivalentclasses( :person :human )
上述陳述宣告了person類和human類是完全等價的,相當於同時宣告person類是human類的子類以及human類是person類的子類。
類不相交
disjointclasses( :woman :man )
物件屬性
屬性:描述個體以何種方式關聯的實體
objectpropertyassertion( :haswife :john :mary )
個體書寫的順序很重要。「mary is john's wife」可能是真,「john is mary's wife」則一定為假。
。事實上,這是一種常見的建模錯誤,通過使用只允許一種直觀閱讀的屬性名稱可以避免。例中的名詞(如wife),這種無歧義的名稱可以用「of」或者「has」來構建(wifeof或haswife)。對於動詞(例如「to love」),變化詞形(loves)或者使用帶有 「by」的被動語態(lovedby)就可以防止誤解。
我們也能夠宣告兩個個體不是通過乙個屬性關聯。例如下面的例子,指出mary不是bill的妻子。
negativeobjectpropertyassertion( :haswife :bill :mary )
否定屬性斷言提供了乙個唯一的機會宣告我們知道為假的事物。這類資訊在owl中特別重要,owl的預設立場是任何事情都是可能的,除非你另外說明。
學習筆記2
異常 try catch exception e finally 如果出現異常的 沒有try catch語句,異常會浮現至它所出現的方法上,然後從該方法拋至其呼叫者。異常分為檢查異常和非檢查異常,常見的錯誤例如1 0等為非檢查異常,大部分都是檢查異常。過載,重寫 過載就是同乙個類中方法名相同,但是方...
學習筆記2
import tensorflow as tf 常量tf.constant value,dtype,shape,name 變數tf.variable self,dtype 隨機數生成函式 正態分佈隨機數 tf.random normal 2,3 stddev 2,mean 0,seed 1 截斷正態...
學習筆記2
建立新使用者 1.用root使用者登陸,輸入命令 adduser 使用者名稱passwd 使用者密碼。注意,沒有設定密碼的使用者不能登陸。資料庫1.order by 後面可以寫上數字,代表相應順序的字段,這是任何資料庫都支援的。2.設計資料庫的時候,有些資訊可以分兩張表實現,一張寫基本資訊,另一張寫...