стандарт для разрешения urn:uuid (и других)?

Мое приложение использует urn:uuid в качестве URI для сущностей. Конечно, когда я получаю, например. Информация RDF о ресурсе, упомянутых сущностях (субъекте или объектах) будет содержать URI в схеме urn:uuid. Чтобы получить представление нового объекта, возможно, способом REST, мне нужен «преобразователь», в некотором роде похожий на dx.doi.org для DOI. Другим случаем может быть разрешение isbn: URI, чтобы получить разумное представление этого URI.

Мой вопрос касается того, что существует с точки зрения предлагаемых стандартов для разрешения URI-to-representation-URL.


person Stefano Borini    schedule 15.12.2009    source источник
comment
Я не уверен, что полностью понимаю вопрос, но зачем вообще нужно представление для данного URN?   -  person Pavel Minaev    schedule 23.12.2009
comment
если есть, то вы должны быть в состоянии решить его, если это необходимо. Прямо сейчас я могу говорить об ISBN, но единственный способ разрешить этот ISBN — пойти на Amazon и купить версию Kindle. То же самое для DOI. Вы идете на doi.org и решаете ее. Но для этого нет стандарта. Меня интересует стандарт, если он существует.   -  person Stefano Borini    schedule 24.12.2009


Ответы (3)


Заключенная рабочая группа URN IETF также проделала некоторую работу по разрешению URN и опубликовала довольно много RFC по этой теме. Список ссылок содержится в уставе группы. Возможно, некоторые из них помогут вам.

person lwho    schedule 15.01.2010
comment
Я ставлю вам отметку, потому что я действительно нашел много RFC по этому вопросу, и это определенно важная отправная точка. В частности, это выглядит интересно ietf.org/rfc/rfc2483.txt - person Stefano Borini; 16.01.2010

UUID — это универсальный уникальный идентификатор, поэтому я не понимаю, как вы сможете преобразовать только что сгенерированный мной UUID (например, 3136aa1a-fec8-11de-a55f-00003925d394) во что-то полезное.

Только если вы где-то управляете базой данных uuid, вы можете извлечь из нее больше. Или вам придется спрашивать всех/всех: «Вы знаете этот uuid?»

Определение urn:uuid определяет свободное пространство уникальных идентификаторов, которые вы можете использовать для определения чего-то действительно уникального. Но поскольку никто другой не может угадать его значение, вы не можете извлечь из него информацию.

person Bert Huijben    schedule 11.01.2010
comment
Точно, я спрашиваю, есть ли стандарт для вопроса, знаете ли вы этот uuid? - person Stefano Borini; 11.01.2010

Не существует стандарта (предлагаемого или иного) для разрешения URN. Это просто имя (Uniform Resource NAME) и может иметь произвольное значение.

XML/RDF создает некоторую путаницу, используя URN, которые разрешаются, потому что они также являются URL-адресами (унифицированными указателями ресурсов), которые указывают на объекты, описывающие их значение, но это просто соглашение. Они просто должны быть уникальными и всегда означать одно и то же.

Если вы разрабатываете приложение, вы можете рассмотреть возможность использования URN, которые также являются разрешимыми URL-адресами для элементов с фиксированным значением, и случайно сгенерированных URN в пространстве имен urn:uuid для идентификации экземпляров объектов.

Это звучало так же запутанно, как и спецификация 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-адресами (местоположениями).

URN просто называет что-то. Это не местонахождение чего бы то ни было.

URL-адреса являются допустимыми URN, поэтому вы можете использовать URL-адрес для URN, если хотите.

В приведенном выше примере я мог бы использовать, например. http://www.example.com/tigers/9a652678-4616-475d-af12-aca21cfbe06d как имя моего тигра. Я мог бы положить что-нибудь по этому адресу. Но что бы я туда положил? Вы не можете загрузить экземпляр тигра, используя http!

Соглашение в RDF заключается в том, что если URN также является URL-адресом, он будет указывать на некоторую документацию, определяющую значение имени.

Что RDF пытается дать вам, так это соглашение по именованию вещей, которое гарантирует, что когда два человека используют одно и то же имя, они имеют в виду одно и то же. Спецификация UUID позволяет вам генерировать уникальное имя для чего-то, что вряд ли будет использоваться чем-либо еще. Но это всего лишь имя, и нет никакого способа превратить его в вещь.

Надеюсь это поможет.

person MZB    schedule 12.01.2010
comment
Да, но как только я скажу кому-то, что это объект urn: urn:uuid:9a652678-4616-475d-af12-aca21cfbe06d, как он может найти его URL? Кто отвечает за разрешение урны на местонахождение представительства и по какому протоколу выполняется разрешение. Как вы говорите, стандарта нет, но это сделало бы невозможным сопоставление любой урны с ее местонахождением. - person Stefano Borini; 12.01.2010
comment
У него нет URL. Это имя, а не место. Это различие, которое я пытаюсь провести. (Меня чертовски смутило, когда я впервые столкнулся с URN). Я добавлю еще несколько пояснений к ответу. - person MZB; 14.01.2010
comment
Ваш ответ очень проницателен, и я кое-чему научился из него. Спасибо. Тем не менее, я поставил галочку на deepwaters, потому что у меня есть некоторые указания, чтобы увидеть, что проблема нерешена даже в ietf. - person Stefano Borini; 16.01.2010
comment
Небольшое замечание, насколько мне известно, URL-адрес не является URN: w3.org/TR/uri-clarification Я думаю (не обращая внимания на стандарт RDF), что объекты именуются с помощью URI, а это означает, что вы можете использовать URL везде, где используете URN, поскольку оба они являются URI. - person wds; 29.04.2010
comment
@wds Это должен быть один из самых неясных поясняющих документов, которые когда-либо писал W3C! Вы правы в том, что спецификация RDF относится к URI (хотя вопрос был об URN). Лучшее разъяснение различия можно найти на ietf.org/rfc/rfc2396.txt. раздел 1.2. - person MZB; 06.05.2010
comment
@Mike: Не помогает то, что разъяснение написано не очень четко. :-) Я все еще думаю, что вы технически ошибаетесь, когда говорите, что URL-адреса являются действительными URN (они оба являются действительными URI). О, и примечание W3 также существует как RFC, просто не могу вспомнить номер. - person wds; 07.05.2010
comment
@wds: ... и вы также правы, что я должен был (в основном) ссылаться на URI, а не на URN. (Удалось ли мне запутать другого читателя этого потока комментариев, согласившись с вашим исправлением достаточно неясным образом? :-) Приветствую.) - person MZB; 14.05.2010
comment
я думаю, что тигр против экземпляра тигра больше сбивает с толку, чем помогает. ресурс может быть экземпляром или категорией экземпляров. но урна является абсолютной, а URL-адрес - это конкретная схема поиска ресурса. ресурс не может иметь несколько URL-адресов, но может иметь неограниченное количество URL-адресов. - person Alex Moore-Niemi; 03.05.2015