Что использовать, XMP или RDF?

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

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

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

Из того, что я видел (в основном, открывая изображения в блокноте ++), данные 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>

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


person zotty    schedule 13.01.2011    source источник
comment
Привет Зотти - спасибо за разъяснение. Чтобы поговорить об экспериментах и ​​инструментах, взгляните на Ontology for Biomedical Investigation (obi-ontology.org), которая находится в OWL (также сериализуемом в RDF) и имеет условия для эксперимента, анализа, инструмента и т. д.   -  person Nico Adams    schedule 15.01.2011
comment
Спасибо, я не уверен в использовании готовых онтологий. Лучше использовать комбинацию уже существующих онтологий, чтобы охватить аналогичные аспекты эксперимента, а затем добавить индивидуальную онтологию для остальных или объединить все это вместе в пользовательской?   -  person zotty    schedule 16.01.2011
comment
Да, это общий подход — используйте то, что вы можете из существующих онтологий, а затем используйте свои собственные пользовательские свойства и классы для вещей, которые еще не охвачены.   -  person RobV    schedule 18.01.2011


Ответы (3)


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

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

person Manuel Salvadores    schedule 13.01.2011

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

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

person Chris Haas    schedule 13.01.2011

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

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

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

person Nico Adams    schedule 14.01.2011