
Following up the topic of attributes on links after the discussion on our call: The original example was:
<link href="urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df" rel="http://purl.org/occi/storage#device" title="Hard Drive"/>
And as I said before, we also need a device identifier at which to connect the storage, making it something like:
<link type="ide:0:0" href="urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df" rel="http://purl.org/occi/storage#device" title="Hard Drive"/>
which mapped to JSON as:
"link":[ { "type":"ide:0:0" "rel":"http://purl.org/occi/storage#device", "href":"urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df", "title":"Hard Drive" } ]
I still believe that the "link" here is a figment of conversion from the Atom XML format. To write this in something more like native JSON, I'd go with: "ide:0:0": { "href":"urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df", "title":"Hard Drive" } since the device identifier is unique for the VM, and clearly specifies this as a place where storage is being attached. In text format, I'd flatten this data structure as: ide:0:0|href|4cc8cf62-69a4-4650-9e8c-7d4c516884df ide:0:0|title|Hard Drive or even just: ide:0:0|4cc8cf62-69a4-4650-9e8c-7d4c516884df ide:0:0|title|Hard Drive Rather than the original: link|ide:0:0|http://purl.org/occi/storage#device|Hard Drive|urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df This is rather cleaner in terms of not having to know what all the possible attributes might be, and where they appear in the |-deliminated list. Cheers, Richard.