解决问题的标准:uuid(和其他)?

时间:2009-12-15 08:09:43

标签: uri resolution

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

我的问题是关于URI-to-representation-URL解析的建议标准的相关内容。

3 个答案:

答案 0 :(得分:5)

UUID是一个通用的唯一标识符,所以我看不出你怎么能够解决我刚刚生成的uuid(例如3136aa1a-fec8-11de-a55f-00003925d394)。

只有在某处管理某个uuids数据库时,才能从中检索更多数据库。或者你必须问每个人/所有“你知道这个uuid吗?”

urn:uuid定义定义了唯一标识符的空白区域。你可以用来定义真正独特的东西。但是,由于没有其他人能够猜出它的价值,你无法从中获取信息。

答案 1 :(得分:4)

IETF结束的URN工作组还在解决URN方面做了一些工作,并就此主题发表了不少RFC。参考列表包含在group charter中。也许其中一些人会帮助你。

答案 2 :(得分:3)

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

XML / RDF通过使用确实解决的URN产生了一些混乱,因为它们恰好也是指向描述其含义的对象的URL(统一资源定位符),但这仅仅是一种约定。它们只需要是独一无二的,并且总是意味着同样的事情。

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

这听起来像RDF规范一样令人困惑: - )

快速举例:

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

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

[附加说明已添加]

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

URN只是命名。这不是任何地方。

URL是有效的URN,因此如果您愿意,可以使用URN的URL。

在上面的例子中,我可以使用例如http://www.example.com/tigers/9a652678-4616-475d-af12-aca21cfbe06d是我老虎的名字。我可以在那个地址放一些东西。但是我会把它放在那里?你不能使用http下载老虎的实例!

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

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

希望这有帮助。