[Nml-wg] URN urn:ogf:network
Freek Dijkstra
fdijkstr at science.uva.nl
Tue Sep 23 15:41:15 CDT 2008
Aaron Brown wrote:
> urn:ogf:network:domain=glif.is:[domain-specific-chunk]
This is an identifier of an *instance*, I was talking about identifier
of *classes*.
E.g. in NDL:
"http://www.science.uva.nl/research/sne/ndl/#Device" is an identifier of
a class, while "http://uva.netherlight.nl/#Lighthouse" is an identifier
of an instance (of a Domain in this case).
Again, for class identifier, I don't have a preference for either URL or
URN in some OGF namespace (urn:ogf:network, or
http://ogf.org/ns/network, or similar).
As for instance identifiers, I have two major objections against
"urn:ogf:network:domain=glif.is:3267"
1. This looks like a *query* to me, not an *identifier*. I associate
"domain=glif.is:3267" with a SELECT clause. This confuses me.
I really like queries though, but don't see how that will fit here.
Imagine I want to query for this identifier. Should I write
"WHERE identifier=urn:ogf:network:domain\=glif.is:3267"?
Better is: "urn:ogf:network:domain:glif.is:3267"
2. I don't see the need for the prefix "urn:ogf:network". The actual
identifying part is "glif.is:3267". The "urn:ogf:network:domain:" is
only there to set the type. However, the type (network in this case) is
probably clear from the context.
Imagine that all DNS identifier had to be prefixed with "dns:". So, we
wou;d have to type "protocol:http://dns:www.google.com.path:/"
(or worse: "urn.ietf.url:protocol=http:dns=www.google.com.:path=/").
Better: remove the type information: "glif.is:3267"
(see the resemblance with Internet2' GRI identifiers here?)
So the best choice in my view is to use "glif.is:3267" as an identifier.
It is short. It is unique. It is transparent to a program (a unique
string). It is easy to query ("WHERE domain STARTS WITH "glif.is:".
It is human readable -- in short, it is all an identifier has to be.
Why make it more complex?
Regards,
Freek
More information about the nml-wg
mailing list