Что использовать, XMP или RDF?
Вопрос
В чем разница между 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>
Спасибо за совет :)
Решение
Если вам нужна полная гибкость, используйте простой RDF. Вы упомянули, что вам нужна гибкая модель данных, тогда лучшим вариантом является использование непосредственно RDF и где можно повторно использовать существующие словесные слова в RDF. Если вы немного прокомментируете домен, я мог бы немного больше посоветоваться по онтологии повторного использования.
Если какой -либо из шаблонов XMP вписывается в ваш уровень данных, используйте их.
Другие советы
Я не эксперт в этом, но именно так я это понимаю.RDF - это универсальный способ хранить практически любую информацию, которая вам нужна, и определять, как вы хотите ее хранить.XMP использует подмножество RDF и поставляется с набором готовых шаблонов для хранения данных, таких как IPTC и Dublin Core.Вы по-прежнему можете хранить произвольные данные, но рекомендуется использовать определенные шаблоны.Другими словами, не переопределяйте "описание изображения", если оно уже где-то в другом месте.
Что я бы посоветовал сделать, так это посмотреть на Dublin Core и IPTC и посмотреть, работает ли это для вас.Если это так, пройдите по маршруту XMP.Если все сделано на заказ, RDF может быть лучшим способом.
XMP - это формат метаданных, разработанный и продвигаемый Adobe, и в основном предоставляет определенный словарный запас для определения содержания файла. Сам XMP приводит к другим стандартным словарным словам - например, основные термины Дублина широко повторно используются XMP.
На самом деле это не вопрос RDF против XMP: чаще всего XMP сериализуется как RDF, и если вы посмотрите на собственную спецификацию Adobe, они говорят о XMP с точки зрения сериализации RDF. Также важно отметить, что RDF расширяется ad libitum .... и поэтому Msalvadores Ответ хорош: если словарь XMP позволяет вам сказать, что вы хотите сказать о картинке, используйте ее и используйте сериализованную в RDF - Таким образом, если есть дополнительные вещи, которые вам нужно сказать, что нет в Vocab XMP, может расширить его самостоятельно или объединить с другими словами (сериализованными как RDF), которые позволяют вам сказать то, что вы хотите сказать.
Надеюсь это поможет.