是的,您正在解釋它們。
這兩個例子都編碼相同的信息(即湯姆的年齡是24歲)。在第一個例子中,這是通過直接二元關係完成的。重寫在一階謂詞邏輯記載:
age(tom, 24)
在第二示例中,該關係已被具體化到一個對象,並且它有效地讀取
HasProperty(Tom, age)
HasValue(age, 24)
第一種方法的一個優點是它顯然更短,更直接可解釋。第二種方法的一個可能的優點是,由於關係age
是一個對象,所以你可以說更多關於它的事情。
HasUnit(age, DogYears)
還是以三形式:
age - HasUnit - DogYears
例如除了說明它的值(數字),你可以很容易地通過添加一個簡單的附加語句添加測量它表示在單位
當然,在第二個例子中,假設只有Tom
有一個age
。畢竟,如果我們增加對別人的知識稱爲Dick
誰是26
,而我們重用關係標識符age
,我們會得到:
HasProperty(Tom, age)
HasProperty(Dick, age)
HasValue(age, 24)
HasValue(age, 26)
現在,我們怎樣才能知道誰是24,誰是26 ?你不能,因爲它們都鏈接到同一個關係對象。因此,在實踐中,當以這種方式來關聯關係時,可以使關係對象成爲關係的特定出現。例如:
HasProperty(Tom, ageOfTom)
IsA(ageOfTom, age)
HasValue(ageOfTom, 24)
HasProperty(Dick, ageOfDick)
IsA(ageOfDick, age)
HasValue(ageOfDick, 26)