It seems that current YAML support is not hierachical.
See this example:
local yaml = require "yaml"
local t = { label = 'demo', data = { name = "Bob", age = 42 } }
local ok, err = yaml.save("person.yaml", t)
if not ok then print("Save failed:", err) end
generates:
data: {age: 42, name: Bob}
label: demo
Is this what you expected?