代码之家  ›  专栏  ›  技术社区  ›  Stefano Borini

解析urn:uuid(和其他)的标准?

  •  7
  • Stefano Borini  · 技术社区  · 16 年前

    我的应用程序使用urn:uuid作为实体的URI。当然,当我得到关于资源的RDF信息时,引用的实体(主题或对象)将在urn:uuid模式中包含uri。为了获取新实体的表示,可能是以休息的方式,我需要一个“解析器”,在某种程度上类似于用于dois的dx.doi.org。另一种情况可能是isbn:uri的解析,以便获得该uri的合理表示。

    我的问题是,在建议的标准方面,与URI到表示URL解析的内容相关。

    3 回复  |  直到 9 年前
        1
  •  4
  •   lwho    16 年前

    IETF的最终URN工作组也在解决URN问题上做了一些工作,并发表了许多关于这个主题的RFC。参考列表包含在 group charter . 也许他们中的一些人会帮助你。

        2
  •  5
  •   Bert Huijben    16 年前

    uuid是一个普遍唯一的标识符,所以我看不出你如何能够将我刚生成的uuid(例如3136aa1a-fec8-11de-a55f-00003925d394)解析为有用的东西。

    只有在某个地方管理UUID数据库,才能从中检索到更多。或者你必须问每个人/每件事“你知道这个UUID吗?”

    urn:uuid定义定义了一个由唯一标识符组成的空白空间。你可以用来定义一些真正独特的东西。但由于没有人能猜出它的价值,所以你不能从中获得信息。

        3
  •  3
  •   MZB    16 年前

    没有解决骨灰盒的标准(建议或其他)。它只是一个名称(统一资源名称),可能具有任意含义。

    XML/RDF通过使用URN造成了一些混乱,因为它们碰巧也是URL(统一资源定位器),指向描述其含义的对象,但这只是一种约定。它们只是必须是独一无二的,并且总是意味着相同的事情。

    如果您正在开发一个应用程序,您可能需要考虑使用URN,它也是具有固定含义的项目的可解析URL,以及在urn:uuid命名空间中随机生成的URN来标识对象的实例。

    听起来和RDF规范一样令人困惑。

    快速实例:

    Tiger: http://www.example.com/animals/tiger
    Instance of a Tiger: urn:uuid:9a652678-4616-475d-af12-aca21cfbe06d
    

    可能有一个HTML页面在 http://www.example.com/animals/tiger 但不一定要。这只是一个惯例。

    [补充说明]

    这里的区别在于URN(名称)和URL(位置)。

    骨灰缸只是用来命名的。这不是什么地方。

    URL是有效的URN,因此如果需要,可以使用URN的URL。

    在上面的示例中,我可以使用例如 http://www.example.com/tigers/9a652678-4616-475d-af12-aca21cfbe06d 作为我老虎的名字。我可以在那个地址放点东西。但我会放什么呢?您不能使用HTTP下载老虎的实例!

    RDF中的约定是,如果一个URN也是一个URL,它将指向一些定义名称含义的文档。

    RDF试图给你的是一个命名事物的约定,它确保当两个人使用相同的名字时,他们的意思是相同的。UUID规范允许您为不可能被其他任何人使用的对象生成一个唯一的名称。但它只是一个名字,没有办法把它变成一个东西。

    希望这有帮助。

    推荐文章