Felimon, how are the URNs used? Do they serve a specific purpose for GCOOS? I think that's what we're trying to understand.
Shane St. Savage mentioned they are used within the Sensor Map framework, or, perhaps instead that there is value in preserving a scheme to uniquely identify IOOS' observing assets by some UUID mechanism, such as the asset identifier.
Shane, can you clarify your comments from our meeting in case I got the above wrong?
It's worth mentioning that the previous version of the IMP included a required 'ioos_code' global attribute that was meant to serve as a dataset's IOOS asset identifier:
When we developed IMP 1.2, we realized this was duplicative of existing attributes already required by the profile, so we created the derived/inferred asset identifier approach in version 1.2 to simplify things. Good decision, bad decision? I am not sure.
I quickly re-read the Asset Identifier guidelines and they provide the following guidance for allowed characters:
The additional fields may only include letters and numbers (A-Z, a-z, 0-9) and the following characters: ( ) + , - . = @ ; $ _ ! *
Special characters not in the foregoing list must be represented using hexadecimal encoding as %xx, where xx represents a two-digit hex value. The use of such characters in IOOS URNs is not recommended
So it appears spaces may be allowed, in the '%20' hexadecimal encoding form, but are discouraged.
So, we may have been too strict in explicitly disallowing GCMD platform keywords when writing the current IMP. Also the asset identifier guidelines mention the GCMD instrument type vocabulary as well as an option.
A related question to that is what 'IOOS recognizes' means in the asset identifier gudance which reads as only certain values are allowed:
The following values for asset_type are currently recognized by IOOS
But, if we don't have specific applications for the identifiers presently, then maybe 'IOOS recognizes' no longer has this meaning. That could easily be the case.
I think that, unless a specific need/purpose for the identifiers surfaces that wouldn't work with the hexadecimal space encoding assumption, then we should be able to relax the platfform_vocabulary definition for the next IMP version to allow GCMD. The NERC platform vocabulary also includes terms with spaces, so there's that as well.
Micah