2011-01-13 12 views
7

¿Cuál es la diferencia entre RDF y XMP?¿Qué usar, XMP o RDF?

Por lo que puedo decir, XMP se deriva de RDF ... ¿qué ofrece eso que RDF no lo hace?

Mi situación particular es esta: tengo algunas imágenes que necesitan etiquetado con detalles de cómo se realizó un experimento y qué tipo de análisis de datos se ha realizado en las imágenes. Un colega mío está presionando para XMP, pero está pensando en las imágenes como fotos, no lo son en realidad, son solo datos.

Según lo que he visto (principalmente al abrir imágenes en el bloc de notas ++) los datos XMP son muy similares a los de RDF, incluso si usa RDF en los nombres de las etiquetas (por ejemplo, <rdf:Seq>).

Me gustaría que esta información pueda ser utilizada por otras personas que utilizan instrumentos similares para experimentos similares, por lo que la creación de un mini estándar (¿esquema?) Parece ser el camino a seguir.

Disculpas por la falta de entendimiento fundamental: ¡soy un médico, no un programador! Si hace alguna diferencia, el idioma de elección será C#.

Editar para más información: En primer lugar, gracias por las excelentes respuestas - pensando en XMP como vocabulario para RDF hace las cosas mucho más claras.

El tipo de datos que almacenaré no estarán disponibles en ninguno de los conjuntos predefinidos. Detallará configuraciones experimentales, ubicaciones y resultados. Creo que usar RDF es el camino a seguir.

Un ejemplo del tipo de cosas (almacenada en XML como es actualmente) sería:

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

De la parte superior de mi cabeza, supongo que voy a almacenar esto en RDF siguiente manera:

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

Gracias por el consejo :)

+1

Hola Zotty, gracias por la aclaración. Para hablar sobre experimentos e instrumentos, eche un vistazo a la Ontología para Investigación Biomédica (http://obi-ontology.org) que está en OWL (también serializable en RDF) y que tiene términos para Experimento, Ensayo, Instrumento, etc. –

+0

Gracias, no estoy seguro sobre el uso de ontologías prefabricadas. ¿Es mejor usar una combinación de ontologías preexistentes para cubrir los aspectos similares del experimento y luego agregar uno personalizado para el resto o agruparlo todo en el personalizado? – zotty

+1

Sí, ese es el enfoque general: use lo que pueda de las ontologías existentes y luego use sus propias propiedades y clases personalizadas para las cosas que aún no están cubiertas – RobV

Respuesta

3

Si necesita flexibilidad total use RDF simple. Usted mencionó que necesita un modelo de datos flexible, entonces la mejor opción es usar RDF directamente y siempre que sea posible reutilizar los vocabularios existentes en RDF. Si comenta un poco sobre el dominio, podría aconsejar un poco más sobre la reutilización ontológica.

Si cualquiera de las plantillas XMP encaja en su capa de datos, utilícelas.

2

no soy un experto en esto, pero esta es la forma en que yo lo entiendo. RDF es una forma genérica de almacenar casi toda la información que desee y definir cómo desea almacenarla. XMP usa un subconjunto de RDF y viene con un conjunto de plantillas preconstruidas para el almacenamiento de datos, como IPTC y Dublin Core. También puede almacenar datos arbitrarios, pero se recomienda utilizar las plantillas definidas. En otras palabras, no redefina la "descripción de la imagen" si ya está en otro lugar.

Lo que yo diría que hacer es mirar Dublin Core y IPTC y ver si eso funciona para usted. Si es así, baje por la ruta XMP. Si todo es personalizado, RDF podría ser la mejor manera.

2

XMP es un formato de metadatos desarrollado e impulsado por Adobe que básicamente proporciona un vocabulario definido para especificar el contenido de un archivo. XMP en sí mismo resuelve otros vocabularios estándar: los Términos de Dublin Core, por ejemplo, son ampliamente reutilizados por XMP.

Realmente no es una cuestión de RDF contra XMP: lo más común es que XMP esté serializado como RDF y si mira las propias especificaciones de Adobe, hablan de XMP en términos de una serialización de RDF. También es importante tener en cuenta que RDF es extensible ad libitum .... y la respuesta de msalvadores es buena: si el vocabulario de XMP le permite decir lo que quiere decir sobre la imagen, úsela y utilícela serializada en RDF. de esa manera, si hay cosas adicionales que necesita decir que no están en el vocabulario de XMP, puede ampliarlas usted mismo o combinarlas con otros vocabularios (serializados como RDF) que le permiten decir lo que desea decir.

Espero que esto ayude.