2011-01-13 12 views
7

Qual è la differenza tra RDF e XMP?Quale usare, XMP o RDF?

Da quello che posso dire, XMP è derivato da RDF ... quindi cosa offre che RDF non lo fa?

La mia situazione particolare è questa: ho alcune immagini che necessitano di tagging con i dettagli di come è stato eseguito un esperimento e che tipo di analisi dei dati è stata eseguita sulle immagini. Un mio collega sta spingendo per XMP, ma sta pensando alle immagini come foto - non sono realmente, sono solo bit di dati.

Da quello che ho visto (principalmente aprendo le immagini in Notepad ++) i dati XMP sembrano molto simili a RDF, anche se si utilizza RDF nei nomi dei tag (ad esempio <rdf:Seq>).

Mi piacerebbe che questi dati siano utilizzabili da altre persone che usano strumenti simili per esperimenti simili, quindi la creazione di un mini standard (schema?) Sembra la strada da percorrere.

Ci scusiamo per la mancanza di comprensione del fondamento - Sono un dottore, non un programmatore! Se fa alcuna differenza, la lingua di scelta sarà C#.

Edit per ulteriori informazioni: Prima di tutto, grazie per le eccellenti risposte - pensare XMP come un vocabolario per RDF rende le cose molto più chiare.

Il tipo di dati che verrà archiviato non sarà disponibile in nessuno degli insiemi predefiniti. Descriverà le impostazioni sperimentali, le posizioni e i risultati. Penso che usare RDF sia la strada da percorrere.

Un esempio del genere di cose (memorizzati in XML come è attualmente) sarebbe:

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

Fuori della parte superiore della mia testa, penso che ho intenzione di essere la memorizzazione di questo in RDF come segue:

<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> 

Grazie per il consiglio :)

+1

Ciao Zotty - grazie per il chiarimento. Per parlare di esperimenti e strumenti, date un'occhiata a Ontology for Biomedical Investigation (http://obi-ontology.org) che è in OWL (anche serializzabile in RDF) e che ha i termini per Experiment, Assay, Instrument ecc. –

+0

Grazie, non sono sicuro di utilizzare le ontologie prefabbricate. È meglio utilizzare una combinazione di ontologie preesistenti per coprire gli aspetti simili dell'esperimento, e quindi aggiungere uno personalizzato per il resto o riunirlo tutto insieme in uno personalizzato? – zotty

+1

Sì, questo è l'approccio generale: usa ciò che puoi dalle ontologie esistenti e poi usa le tue proprietà e classi personalizzate per le cose che non sono già coperte – RobV

risposta

3

Se è necessaria la massima flessibilità, utilizzare RDF normale. Hai detto che hai bisogno di un modello di dati flessibile, quindi l'opzione migliore è quella di utilizzare direttamente RDF e ovunque sia possibile riutilizzare i vocabolari esistenti in RDF. Se commentate un po 'sul dominio potrei consigliarvi un po' di più sulla riusabilità ontologica.

Se uno dei modelli XMP si adatta al livello dati, utilizzare quelli.

2

io non sono un esperto in questo, ma questo è il modo in cui ho capito. RDF è un modo generico per memorizzare praticamente tutte le informazioni che vuoi e definire come vuoi memorizzarle. XMP utilizza un sottoinsieme di RDF e viene fornito con una serie di modelli predefiniti per l'archiviazione dei dati come IPTC e Dublin Core. È comunque possibile archiviare anche dati arbitrari, ma è consigliabile utilizzare i modelli definiti. In altre parole, non ridefinire la "descrizione dell'immagine" se è già altrove.

Quello che vorrei dire è guardare Dublin Core e IPTC e vedere se questo funziona per voi. Se è così, vai lungo il percorso XMP. Se tutto è personalizzato, RDF potrebbe essere il modo migliore.

2

XMP è un formato di metadati sviluppato e spinto da Adobe e fornisce fondamentalmente un vocabolario definito per specificare il contenuto di un file. XMP stesso risiede in altri vocabolari standard - i Termini del nucleo di Dublino, ad esempio, sono ampiamente riutilizzati da XMP.

In realtà non è una questione di RDF vs XMP: più comunemente, XMP IS è serializzato come RDF e se si guarda nelle specifiche di Adobe, si parla di XMP in termini di serializzazione RDF. È anche importante notare che RDF è estensibile ad libitum .... e quindi la risposta di msalvadores è buona: se il vocabolario XMP ti consente di dire ciò che vuoi dire sull'immagine, usalo e usalo serializzato in RDF - in questo modo, se ci sono cose aggiuntive devi dire quale non è nel vocabolario XMP, puoi estenderlo da solo o combinarlo con altri vocabolari (serializzati come RDF) che ti permettono di dire quello che vuoi dire.

Spero che questo aiuti.