2012-10-19 28 views
7

想象一下,我開始使用本體論,因爲它提供了一些有用的詞彙來描述我感興趣的對象,例如, FOAF來形容一個人(我)。我立即遇到兩個問題。我遇到另一個本體論,也有詞彙描述一個人。如何混合描述同一對象的本體(使用rdfa?)

問題1:這些條款在功能上等同或相關的,但我不希望被人打擾纏繞在同一個對象即本體,

<span property="foaf:name"><span property="dc:creator">Carl Boettiger</span></span> 

因爲這是繁瑣且似乎忽略整個想法鏈接數據,這應該是足夠聰明,知道dc:creator也是foaf:person.10所以有什麼正確的方法來做到這一點?我怎樣才能確認這些對象之間的關係(例如,大概不是所有的foaf:person應該是dc:creator。在語義網上的某個地方dc:creatorfoaf:person的子集嗎?我需要鏈接到這樣一個語句嗎?你能指出我到

問題2:?在一個本體中的詞彙是不夠的,我的目的,所以我需要使用的詞彙從另一個例如,FOAF,據我所知,並沒有提供給我一種說明我的組織,位置或角色的方式(GoogleSnippets似乎認爲這些域必須是有效的人),所以我去找一個方便的本體論,比如Google建議的那個,http://rdf.data-vocabulary.org,它有這些條款。現在我又有了密切的聯繫確保對一個人是什麼,兩個本體一致的d問題:

<div typeof="foaf:Person"> 
    <span property="foaf:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> 
</div> 

v:role都有它的屬於,一個typeof="v:Person什麼自己的想法。我還需要添加這個typeof聲明嗎?那麼我需要做些什麼來說明它與foaf:Person相同,並且確實v:rolefoaf:name都描述了同樣的事情(我)?

非常感謝澄清我的迷茫。

回答

6

請注意foaf:Person是一種類型或類,它在RDFa中通過@typeof屬性表示。 dc:creator,foaf:name,v:角色是放置在RDFa的@property屬性中的屬性。通常你首先在你的HTML中輸入你的對象(例如Person),然後通過屬性給它的屬性如名字或角色。類型通常以upercase(foaf:Person)開頭,而屬性以小寫字母開頭(foaf:name)。

問題1:不是增加一個新的span元素爲每個新的屬性,你可以把相同的屬性裏面的所有屬性的屬性用空格分隔:

<span property="foaf:name dc:creator">Carl Boettiger</span> 

是它在某處說語義Web:dc:creator是foaf的一個子集:person?

首先,例如是不是真的足夠,DC:創造者是一個屬性,FOAF:人型,但讓我們想象一下,我們正在談論的foaf:Agent和FOAF:人的FOAF規範規定FOAF :Person是foaf的一個子類:Agent:http://xmlns.com/foaf/spec/#term_Person - 詞彙表可能會定義這種關係。還有交叉詞彙映射,它們有時會定義來自各種詞彙的類和屬性之間的關係。

我需要以某種方式鏈接到這樣的說法?

沒有,你通常沒有這樣做。

問題2:注意http://rdf.data-vocabulary.org被棄用,取而代之的schema.org詞彙:http://schema.org/docs/full.htmlhttp://schema.rdfs.org/

我是否需要添加此聲明的typeof也?那麼我需要做些什麼來說明它與foaf是一樣的嗎?Person,而事實上v:role和foaf:name都描述了同樣的事情(我)?

一般發佈在HTML數據時,你不要試圖詞彙之間的狀態等價,而不是你,你認爲消費數據將成爲應用非常有用的所有詞彙術語發佈,並很容易因爲您可以在給定的@typeof或@property屬性中嵌入多個類型和屬性,所以在RDFa中這樣做。

<div typeof="foaf:Person v:Person"> 
    <span property="foaf:name v:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> 
</div> 

注意,您可以在http://rdfa.info/play/

+0

感謝您的澄清和一個偉大的答案測試你的RDFa標記。對不起'@ property'和'typeOf'之間的混淆,這是一個很好的區別。但要正確處理問題1,顯示這些問題之間的聯繫的正確方法是什麼;也就是說,說dc:creator的東西恰好也是foaf:foaf的人:名字叫「Carl Boettiger」? – cboettig

+0

列出這兩個詞彙表絕對看起來是問題2的正確解決方案,但它仍然在問題1中提出問題:爲什麼我需要列出兩個屬性?是不是說在網絡上的某個地方,'foaf:name'和'v:name'是不同的語言,意味着同樣的事情?不得不明確地將「名稱」這個詞翻譯成我想支持的每個本體論,這種感覺就像完全違背了語義網的目的。 – cboettig

+1

我認爲我的其他問題在這裏都有很好的答案:http://answers.semanticweb.com/questions/19275 – cboettig

相關問題