2011-01-13 19 views
7

RDF和XMP有什麼區別?要使用哪種XMP或RDF?

從我所知道的情況來看,XMP是從RDF派生出來的......所以它提供的RDF不是什麼?

我的具體情況是這樣的:我有一些需要標記的圖像,詳細說明了如何執行實驗以及對圖像執行了哪種數據分析。我的一位同事正在推動XMP,但他將圖像視爲照片 - 它們不是真的,它們只是數據的一部分。

從我所看到的(主要是通過在記事本++中打開圖像),XMP數據看起來與RDF非常相似 - 甚至在標籤名稱中使用RDF(例如<rdf:Seq>)。

我希望這些數據可以被其他使用類似儀器進行類似實驗的人使用,因此創建一個迷你標準(模式?)似乎是一種可行的方式。

道歉缺乏fundemental的理解 - 我是醫生,而不是程序員!如果它有任何區別,選擇的語言將是C#。

編輯的詳細資料: 首先,感謝您的回覆優良 - XMP的思想作爲RDF詞彙使事情變得更加清晰。

我將要存儲的數據的種類不會在任何預定義的集合中有效。它將詳細介紹實驗設置,位置和結果。我認爲使用RDF是最好的選擇。

之類的事情的一個例子(存儲在XML,因爲它是目前)是:

<Experiment name="test2" loc="lab" timestamp="65420233400"> 
    <Instrument name="a1" rev="1.0"/> 
    <Calibration> 
    <date>13-02-10</date> 
    <type>complete</type> 
    </Calibration> 
</Experiment> 

關閉我的頭頂,我想我會在RDF進行存儲以此爲如下:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:zotty="http://www.zotty.com/rdf/"> 

    <zotty:experiment> 
     <rdf:Bag> 
     <zotty:name>test2</zotty:name> 
     <zotty:loc>lab</zotty:loc> 
     <zotty:timestamp>65420233400</zotty:timestamp> 
     <zotty:instrument> 
      <rdf:Bag> 
      <zotty:name>a1</zotty:name> 
      <zotty:rev>1.0</zotty:rev>  
      <zotty:calibration> 
       <rdf:bag> 
       <zotty:date>13-02-10</zotty:date> 
       <zotty:type>complete</zotty:type> 
       </rdf:bag> 
      </zotty:calibration> 
      </rdf:Bag> 
     </zotty:instrument> 
     <rdf:Bag> 
    </zotty:experiment> 
    </rdf:RDF> 

謝謝你的建議:)

+1

嗨Zotty - 謝謝澄清。要談論實驗和儀器,請參考OWL中的本體生物醫學調查(http://obi-ontology.org)(也可以在RDF中進行序列化),並且包含實驗,檢測,儀器等術語。 。 – 2011-01-15 13:42:39

回答

3

如果您需要完全靈活性,請使用普通RDF。你提到你需要一個靈活的數據模型,那麼最好的選擇是直接使用RDF,並且可以在RDF中重用現有的詞彙表。如果您對該域名有點評論,我可以多建議一下本體的可重用性。

如果有任何XMP模板適合您的數據層,則使用這些模板。

2

我不是這方面的專家,但是這是我所理解的方式。 RDF是一種通用的方式來存儲你想要的任何信息,並定義你想要如何存儲它。 XMP使用RDF的一個子集,並附帶一堆用於數據存儲的預構建模板,如IPTC和Dublin Core。您仍然可以存儲任意數據,但鼓勵使用定義的模板。換句話說,如果它已經在別的地方,不要重新定義「圖像描述」。

我要說的是看看Dublin Core和IPTC,看看它是否適合你。如果是的話,沿着XMP路線走。如果一切都是自定義的,那麼RDF可能是更好的方法。

2

XMP是由Adobe開發和推送的元數據格式,基本上提供了用於指定文件內容的定義詞彙表。 XMP本身也會影響其他標準詞彙 - 例如,都柏林核心術語被XMP廣泛地重複使用。

它確實不是RDF和XMP的問題:最常見的情況是,XMP IS被序列化爲RDF,如果你看看Adobe自己的規範,他們會根據RDF序列化討論XMP。同樣值得注意的是,RDF是可自由擴展的......所以,msalvadores答案是一個很好的答案:如果XMP詞彙表可以讓你說出關於圖片的內容,請使用它並使用它在RDF中序列化 - 這樣,如果您需要說明哪些內容不在XMP詞彙表中,您可以自行擴展它,或者將其與其他詞彙表(如RDF序列化)結合使用,以便您說出您想說的內容。

希望這會有所幫助。