我的应用程序使用urn:uuid作为实体的URI。当然,当我得到时,例如,有关资源的RDF信息,被引用的实体(主题或对象)将在urn:uuid模式中包含URI。为了获取新实体的表示,可能是以REST方式,我需要一个“解析器”,类似于dx.doi.org的DOIs。另一种情况可能是解析isbn:URI,因此要获得此URI的合理表示。
我的问题是关于URI-to-representation-URL解析的建议标准的相关内容。
答案 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规范允许您为不可能被其他任何东西使用的东西生成唯一的名称。但它只是一个名字,并没有办法把它变成一个东西。
希望这有帮助。