
On 31-07-2012 10:34, Jeroen van der Ham wrote:
Hi,
On 26 Jul 2012, at 16:23, Freek Dijkstra wrote:
It turns out that namespaces in XML and RDF are used for a different purpose, and in practice may look subtly different (e.g. the NML RDF namespace contains a hash, while the NML XML variant does not).
I dove down the XML & RDF Namespace rabbit hole also unfortunately, and I have to correct the above:
Please note that I intended the above as just an example. I did not mean to imply that this must be the case. The statements below (at least the first four) are correct.
- Namespaces in XML are used for scoping, in XML the element name and namespace are separate parts in identifying a single thing. - Namespaces in RDF are used like prefixing, the element name and namespace are concatenated to form a single identifying URI. - It is *best practice* to not end XML namespaces in "/" or "#", but it is perfectly valid to do so, and many standards do. - It is *best practice* to end an RDF namespace in "#", but it is perfectly valid to use something else, some standards also use "/". - The RDF standard states that "rdf:id" values are transformed by appending "#" to the namespace, and then appending the value. In practice "rdf:id" is not used. - The RDF syntax further complicates things by stating informatively that implementations must add a "/" to the end of a namespace if it is a hierarchical namespace.
With that in mind, I would propose that we use http://schemas.ogf.org/nml/2012/10/nml/ as the namespace, so that we can use the same for both XML and RDF.
It seems that either "http://schemas.ogf.org/nml/2012/10/nml/" or "http://schemas.ogf.org/nml/2012/10/nml#" will do. Most namespace pick the hash, do you know why? What is a "hierarchical namespace" and how does it differ from a "non-hierarchical namespace"? Freek (PS: I personally still prefer http://schemas.ogf.org/nml/2012/10/nml# over http://schemas.ogf.org/nml/2012/10/nml#, despite GFD.84. Probably because I'm used to it).