2015-07-21 70 views
0

我不知道如何解釋以下RDF三元組的語義。我能正確解釋它們嗎?使用顯式RDF屬性

例A

Subject - Predicate - Object 
Tom  - age - 24 

我能讀懂這個作謂語,年齡已值24。這似乎不直觀。然而,我也可以把這個解釋爲24與湯姆相關的謂語年齡,這對我來說更有語義意義。

實施例B

Subject - Predicate - Object 
Tom  - HasProperty - age 
age  - HasValue  - 24 

這傳達了年齡爲湯姆的性質。此屬性的值爲24.這明確了年齡與湯姆的關係。

在一個例子中,age是一個謂詞,在另一個例子中,它是一個對象。在這兩種情況下,編碼的信息與示例B中的明確屬性的添加或多或少相同。

回答

0

是的,您正在解釋它們。

這兩個例子都編碼相同的信息(即湯姆的年齡是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)