Re: [urn] Request for the NID 'ddi'

Joachim Wackerow <> Tue, 26 January 2021 21:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A9DF03A0EBF for <>; Tue, 26 Jan 2021 13:07:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.219
X-Spam-Status: No, score=-0.219 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id s-docP6vPd0i for <>; Tue, 26 Jan 2021 13:07:03 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1BFBD3A0EAD for <>; Tue, 26 Jan 2021 13:07:02 -0800 (PST)
Received: from submission ( []) by (Postfix) with ESMTPS id 4F0E6160060 for <>; Tue, 26 Jan 2021 22:06:59 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=2017; t=1611695220; bh=6uF4UichyImRtdC2Lxn6reGDkva/pMuZLHHhUVyDQa4=; h=From:To:Subject:Date:From; b=fArUty+h7OgpsJWutnU26n9jB7J8KRmdqbnsQRWCPHjPtx9WGeoDwyWHzXVeH2MnJ TgkXqMuoz0vTmjl0F3Spz0CcA8ZKerGkj6+qT9EDtkY9jysBZC6gAP5Tpvu2Dl48y3 wgc9a4F/wwnMqwvRG8DFKU6Qm2nAU1ID2r7h8OffJoJEixzCfhrNat4h6HwhI5CiNs odN2nuGri79+RbhlFRgXGH9jJjelzsrDmVtc2m5AI6GE/Pt4HQKSIPlyqP5izG/4C6 rMWM1kfYAbbChAwsPq8RvFym4hMUkWVmsv5TiBDbiHvdSU8iu/OhOck+kC6laBfZSZ ZPR6CcMIHqn+Q==
Received: from customer (localhost []) by submission ( with ESMTPSA id 4DQK6q48Rgz9rxL for <>; Tue, 26 Jan 2021 22:06:58 +0100 (CET)
From: Joachim Wackerow <>
References: <009101d6effb$79e26c00$6da74400$> ( <> <>
In-Reply-To: <>
Date: Tue, 26 Jan 2021 22:06:58 +0100
Message-ID: <03a401d6f427$2fbf33d0$8f3d9b70$>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQHW8HHSs/jTBhoHTVS4R3ZNnD7+eaozSH6AgAckbPA=
Content-Language: de
Archived-At: <>
Subject: Re: [urn] Request for the NID 'ddi'
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Revisions to URN RFCs <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 26 Jan 2021 21:07:08 -0000

Hello Dale and Juha,

Thank you very much for your quick response and detailed advice. I'll look
into this and make changes accordingly.


-----Original Message-----
From: urn <> On Behalf Of Hakala, Juha E
Sent: Freitag, 22. Januar 2021 10:01
To: Dale R. Worley <>; Joachim Wackerow
Subject: Re: [urn] Request for the NID 'ddi'


I agree with Dale that the document is well done overall, but contains some
glitches. IMO this registration will be very useful, since urn:ddi URNs will
make easier to understand DDI metadata and resources. I hope that other
metadata initiatives will follow DDI's example and register their own
namespaces in the future, or use urn:meta, if and when it is approved. 

The Word version of the request is complete, unlike the txt version.

I have comments about agency-identifier part of the DDI NSS. The request

"The left-most label of agency-identifier conveys the top-level domain. It
SHOULD be a country code corresponding to ISO 3166 alpa-2 codes [ISO3166] or
another top-level domain."

There are no other options than ISO 3166-1 country code or something else,
so SHALL is more appropriate than SHOULD. 

The request does not describe how uniqueness of top-level domains is
ensured. There are at least two simple solutions for this. Either the
request provides a list of non-country code top-level domains, or says that
the DDI Alliance or some other organization maintains a registry of such

I suppose non-county code top-level domains include "int" for international
organizations, or acronyms of such organizations, like FAO or UNESCO, or
other acronyms relevant in the research data context. In order to avoid
problems in the future, you may want to say that all two-letter top-level
domains are reserved for current and future ISO 3166 codes.  

Description in 3.4.1 does not say that within agency-identifier the
top-level domain and subdomains are separated by full stop. This is shown in
the syntax in 3.4.3, but could be mentioned in 3.4.1 too. You might also
want to say in the description that full stop is not allowed within
top-level domain names or subdomain names. 

Registration of DDI namespace and usage of URN:DDI identifiers are separate
but interlinked issues. I took a look at your examples, and found it
interesting that US translation of PISA questionnaire is identified with URN


Finnish translation of the PISA questionnaire will certainly get a different
URN. But these translations could also share a URN like
urn:ddi:int.PISA_QS:1 to indicate the common semantics between Finnish and
U.S. PISA questionnaires. 

All examples of version identifiers in the registration and linked documents
are numbers. Do you want to / need to allow other options?  

I suppose the actual usage of URNs in the DDI Alliance specifications is
still work in progress, since some documents have URNs which are not
compliant with this request. For instance, DDI Controlled Vocabulary for
Aggregation Method version 1.0
has URN urn:ddi-cv:AggregationMethod:1.0. According to the registration,
version 1.1 will have correct URN,
As an aside, the link (which is not functioning)  is for version 1.0.   

Best regards, 


-----Alkuperäinen viesti-----
Lähettäjä: urn <> Puolesta Dale R. Worley
Lähetetty: perjantai 22. tammikuuta 2021 5.51
Vastaanottaja: Joachim Wackerow <>
Aihe: Re: [urn] Request for the NID 'ddi'

"Joachim Wackerow" <> writes:
> Please find attached an URN namespace registration request for DDI, 
> Data Documentation Initiative (NID 'ddi').

The document draft-urn-ddi-01.txt was attached to your message, but that
document contains only sections 3.4.4 and following.

Based on the draft-urn-ddi-01.pdf:

Generally, the document is quite well done.  Some specific issues are:

    ; agency-identifier is case-insensitive. See [RFC4343] section 2.
    ; For allowed characters see [RFC1035] section 2.3.1.
    ; For length restrictions see [RFC2181] section 11.
    agency-identifier = 1*255( top-level-domain
                               sub-separator ddi-authority-id
                               *(sub-separator ddi-sub-authority-id)
    top-level-domain = dns-label
    ddi-authority-id = dns-label
    ddi-sub-authority-id = dns-label

I think you want to remove the "1*255( ... )" -- that means "repeat the
stuff inside the parentheses from 1 to 255 times".  I think you're trying to
use it to mean "the total length of this string must be from 1 to 255
characters", but that's not what it means.  You would need to state a length
limit in a comment, or leave it to be implied by the reference to RFC 2181.

    dns-label = 1*63( (ALPHA / DIGIT) [
                      *(ALPHA / DIGIT / "-")
                      (ALPHA / DIGIT)
                      ] )

I think this is another example of the same issue.

    resource-identifier = restricted-string
                          *(restricted-string / "/")
    version-identifier = restricted-string
                         *(restricted-string / "/")
    restricted-string = 1*( unreserved / sub-delims / "@")

I don't think the first two definitions are what you mean.  What they mean
is "a restricted-string, followed by zero or more things which are either
restricted-strings or slashes".  When you sort it all out, it is equivalent

    resource-identifier = ( unreserved / sub-delims / "@" )
                          *( unreserved / sub-delims / "@" / "/")

In particular, that allows two slashes to be adjacent in resource-identifier
(as long as they aren't the first two characters).

It's more likely you want:

    resource-identifier = restricted-string
                          *("/" restricted-string)

That is, a resource-identifier is a sequence of one or more
restricted-strings, separated by slashes.

Parallel changes would be needed in section 3.4.3.

In section 3.4.4 "Examples", it might be useful to note that the DDI URNs of
Represented Variables etc. are not syntactically distinct.
Although if the distinction between these categories of resources is
important in the DDI universe, you might mention how, if one possesses a DDI
URN, one would determine what category it belongs to.


urn mailing list

urn mailing list