自定义媒体类型的 URI?

URI for a custom media-type?

我需要在 RDF 文档中描述电子签名 PDF 和普通 PDF 文档。 list of IANA media types only contains application/pdf 媒体类型。

使用自定义 URI 从普通 PDF 中识别电子签名 PDF 的最佳做法是什么?

我读到可以定义一个新的媒体类型 x-;我可以简单地定义 http://example.com/media-type/application/x-signed-pdf 并将此 URI 用作 RDF 中 dcterms:format(或 myontology:mediaType)属性 的值吗?

1. 我根本不会使用 URI。只需定义一个“vendor' or 'personal”媒体类型,例如...

application/vnd.yourcompany.signed-pdf
application/prs.yourapp.signed-pdf

...并将其存储为带有 dc 元素的文字。 http://purl.org/dc/elements/1.1/format

".... Recommended best practice is to use a controlled vocabulary such as
the list of Internet Media Types [MIME]."

2. 如果您需要基于 URI 的方法,您可以使用 IANA URL 注册媒体类型,例如:

https://www.iana.org/assignments/media-types/application/pdf

我假设 vnd 媒体类型也会在 IANA 获得类似的 URI。

3. 另见 "Cool" Linked Data URIs for all IANA mediatypes?

上的讨论

How to describe mediatypes in RDF is still a bit unclear, it is however common to use Dublin Core's "format" property, although there are two approaches:

http://example.com/image.png dc:format "text/html"

这里没有链接..而且dc:format也允许任何类型的格式 像“VHS”和“宝丽来”这样的文字。不过好用。

dcterms:format 属性 [7] 更适合 资源,但正确描述为 IANA 有点麻烦 类型,参见 [4] ...

我们实际上选择了:

  1. 有 2 个不同的元数据属性:"true" 媒体类型,仅依赖于 IANA 注册的媒体类型,以及特定于应用程序的 "media-type";
  2. 对于 "true" 媒体类型,我们完全依赖注册的 IANA 值,对于 "custom" 类型,我们定义我们自己的 URI 列表作为可能的值;

因此,我们可以依靠 "true" 媒体类型 属性 进行适当的内容协商,并使用 "custom" 属性 进行特定于应用程序的行为。