
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