使用哪种,XMP或RDF?

时间:2011-01-13 15:46:49

标签: c# semantics rdf xmp

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 个答案:

答案 0 :(得分:3)

如果您需要充分的灵活性,请使用普通RDF。您提到您需要灵活的数据模型,那么最好的选择是直接使用RDF以及可以在RDF中重用现有词汇表的任何地方。如果你对域名发表评论,我可以就本体可重用性提出更多建议。

如果任何XMP模板适合您的数据层,请使用这些模板。

答案 1 :(得分:2)

我不是这方面的专家,但这是我理解它的方式。 RDF是一种存储您想要的任何信息并定义您希望如何存储它的通用方法。 XMP使用RDF的一个子集,并附带一堆预先构建的数据存储模板,如IPTC和Dublin Core。您仍然可以存储任意数据,但鼓励使用定义的模板。换句话说,如果它已经存在于其他地方,请不要重新定义“图像描述”。

我要说的是看看都柏林核心和IPTC,看看它是否适合你。如果是这样,请沿着XMP路线前进。如果一切都是自定义的,RDF可能是更好的方式。

答案 2 :(得分:2)

XMP是Adobe开发和推送的元数据格式,基本上提供了用于指定文件内容的已定义词汇表。 XMP本身可以恢复其他标准词汇表 - 例如,都柏林核心术语被XMP广泛重用。

这真的不是RDF与XMP的问题:最常见的是,XMP被序列化为RDF,如果你看一下Adobe自己的规范,他们会谈论RDF序列化方面的XMP。同样重要的是要注意,RDF是可随意扩展的....所以msalvadores答案是一个很好的答案:如果XMP词汇表让你说出你想对图片说的话,使用它并在RDF中使用它序列化 - 以这种方式,如果你需要说出哪些不在XMP词汇中的其他内容,可以自己扩展它或将它与其他词汇表(序列化为RDF)结合起来,这样你就可以说出你想说的内容。

希望这有帮助。