Aaron Brown wrote:
So first things first: - Do we want to use URNs (e.g. urn:ogf:network or urn:ogf:nml) for identifiers of the classes we define? - If not, do we want to use URIs as identifier? - If not, are there other potential identifiers to use?
For the class definitions themselves, I think it makes sense to use URIs a la namespaces so we could put some documentation at the specified URL.
I don't understand "URIs a la namespaces". I take it that you mean "URL", e.g. http://ogf.org/ns/network#device which -as Jeroen said- has the added benefit that you can also put the schema at http://ogf.org/ns/network. So that is now 1.5 "vote" in favour of URN versus 2 "votes" in favour of URL. My reason for chosing URN is that I think it is closer to an identifier than a URL. The underlying reason is that I dislike the implied information that a URL carries. One one hand, I strongly prefer URI (either URN or URL) over anything else -- UUID, integers and other IANA-managed namespaces. URI have the benefit of being readable and do not suffer from exhaustion (like AS-numbers and IP-numbers do). On the other hand, I also advocate a URI that is basically an opaque string. I don't want to "interpret" it. So I very much dislike e.g. "http://ogf.org/ns/network#device?type=router" to both signify a device, and the type of device. This means I also dislike the fact that e.g. "http://ogf.org/ns/network#device" implies that there is a schema (or more information) available at "http://ogf.org/ns/network". I simply dislike that an identifier carries implied information, so I have a slight preference for a URN over a URL, since that carries fewer implied information (the only implied information is that it is a standard defined by the OGF if we use the urn:ogf: namespace).
For the identifiers for individual instances, I think the URNs make more sense since it doesn't imply a specific method of access to get information about the element.
I think this is a completely different discussion, despite that it is also about identifiers. I like your argument that we -for the time being- should not imply a specific method of access. Therefor, to me it is an opaque string. Either URN, URL, UUID or some other gooblygook ;-) I agree with Jeroen that whatever the identifier *for instances* is, it should be in some kind of namespace "owned" by the owner of the instance (e.g. the owner of a domain should give it an identifier that is part of his own namespace, not an identifier, part of the OGF namespace) -- I don't assume you were implying that, did you? Regards, Freek