Какой использовать, XMP или RDF? - PullRequest
7 голосов
/ 13 января 2011

В чем разница между RDF и XMP?

Из того, что я могу сказать, XMP является производным от RDF ... так что же он предлагает, а RDF этого не делает?

Моя конкретная ситуация такова: у меня есть несколько изображений, которые нужно пометить деталями о том, как проводился эксперимент и какой анализ данных был выполнен на изображениях. Мой коллега настаивает на XMP, но он думает об изображениях как о фотографиях - на самом деле они не просто кусочки данных.

Из того, что я видел (в основном, открывая изображения в notepad ++), данные XMP очень похожи на RDF - даже если использовать RDF в именах тегов (например, <rdf:Seq>).

Я бы хотел, чтобы эти данные могли быть использованы другими людьми, которые используют подобные инструменты для подобных экспериментов, поэтому создание мини-стандарта (схемы?) Похоже на этот путь.

Извиняюсь за отсутствие фундаментального понимания - я Доктор, а не программист! Если это имеет какое-то значение, язык выбора будет 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>

Спасибо за совет:)

Ответы [ 3 ]

3 голосов
/ 13 января 2011

Если вам нужна полная гибкость, используйте обычный RDF.Вы упомянули, что вам нужна гибкая модель данных, тогда лучшим вариантом будет использование непосредственно RDF и везде, где возможно повторное использование существующих словарей в RDF.Если вы прокомментируете домен, я мог бы посоветовать немного больше о возможности повторного использования онтологий.

Если какой-либо из шаблонов XMP вписывается в ваш уровень данных, используйте их.

2 голосов
/ 14 января 2011

XMP - это формат метаданных, разработанный и распространенный компанией Adobe и в основном обеспечивающий определенный словарь для указания содержимого файла. Сам XMP использует другие стандартные словари - например, термины Dublin Core широко используются XMP.

Это действительно не вопрос RDF против XMP: чаще всего XMP IS сериализуется как RDF, и если вы посмотрите на собственную спецификацию Adobe, они говорят о XMP с точки зрения сериализации RDF. Также важно отметить, что RDF является расширяемым ad libitum .... и поэтому ответ msalvadores является хорошим: если словарь XMP позволяет вам сказать то, что вы хотите сказать об изображении, используйте его и используйте для его сериализации в RDF - таким образом, если вы хотите сказать что-то еще, чего нет в словаре XMP, можете расширить его самостоятельно или объединить с другими словарями (сериализованными как RDF), которые позволяют вам говорить то, что вы хотите сказать.

Надеюсь, это поможет.

2 голосов
/ 13 января 2011

Я не эксперт в этом, но я так понимаю.RDF - это общий способ хранения практически любой информации, которую вы хотите, и определение того, как вы хотите ее хранить.XMP использует подмножество RDF и поставляется с набором готовых шаблонов для хранения данных, таких как IPTC и Dublin Core.Вы также можете хранить произвольные данные, но рекомендуется использовать определенные шаблоны.Другими словами, не переопределяйте «описание изображения», если оно уже где-то еще.

Что бы я сказал, это посмотреть на Dublin Core и IPTC и посмотреть, подходит ли это вам.Если это так, пройдите по маршруту XMP.Если все в порядке, RDF может быть лучше.

...