使用哪个,XMP 还是 RDF?
Posted
技术标签:
【中文标题】使用哪个,XMP 还是 RDF?【英文标题】:Which to use, XMP or RDF? 【发布时间】:2011-06-08 14:13:44 【问题描述】: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>
感谢您的建议:)
【问题讨论】:
嗨 Zotty - 感谢您的澄清。要谈论实验和仪器,请查看 Ontology for Biomedical Investigation (obi-ontology.org),它在 OWL 中(也可在 RDF 中序列化),其中包含 Experiment、Assay、Instrument 等术语... 谢谢,我不确定是否使用预制本体。是使用预先存在的本体组合来覆盖实验的相似方面,然后为其余部分添加自定义的本体,还是将所有本体捆绑在自定义本体中更好? 是的,这是一般方法 - 使用现有本体中的内容,然后为尚未涵盖的内容使用您自己的自定义属性和类 【参考方案1】:如果您需要完全的灵活性,请使用纯 RDF。您提到您需要一个灵活的数据模型,那么最好的选择是直接使用 RDF,并且只要有可能重用 RDF 中的现有词汇表。如果您对领域发表评论,我可以就本体可重用性提出更多建议。
如果任何 XMP 模板适合您的数据层,请使用这些模板。
【讨论】:
【参考方案2】:我不是这方面的专家,但我是这样理解的。 RDF 是一种通用方法,可以存储几乎任何您想要的信息并定义您希望如何存储它。 XMP 使用 RDF 的一个子集,并附带一堆用于数据存储的预构建模板,例如 IPTC 和 Dublin Core。您仍然可以存储任意数据,但我们鼓励您使用定义的模板。换句话说,如果“图像描述”已经在其他地方,请不要重新定义它。
我想说的是看看 Dublin Core 和 IPTC,看看它们是否适合你。如果是这样,请走 XMP 路线。如果一切都是自定义的,RDF 可能是更好的方法。
【讨论】:
【参考方案3】:XMP 是一种由 Adobe 开发和推动的元数据格式,基本上提供了一个定义的词汇表来指定文件的内容。 XMP 本身继承了其他标准词汇表 - 例如,都柏林核心术语被 XMP 广泛重用。
这真的不是 RDF 与 XMP 的问题:最常见的是,XMP 被序列化为 RDF,如果您查看 Adobe 自己的规范,他们会根据 RDF 序列化来谈论 XMP。同样重要的是要注意,RDF 是可随意扩展的......所以 msalvadores 的回答是一个很好的答案:如果 XMP 词汇表让您可以说出您想对图片说的话,请使用它并在 RDF 中序列化使用它 -这样,如果您需要说 XMP 词汇表中没有的其他内容,您可以自己扩展它或将其与其他词汇表(序列化为 RDF)结合起来,让您说出您想说的话。
希望这会有所帮助。
【讨论】:
以上是关于使用哪个,XMP 还是 RDF?的主要内容,如果未能解决你的问题,请参考以下文章