Note that the constraints specification is not fully decided yet, and as such should be interpreted as a person not as a machine. This will hopefully be tightened up
Please note, if you use a client that does not say "Accept: text/html" or similar, then you will get a response of application/json - suitable for machine parsing.
{ "name" : "str", "description" : "String values", "fieldspec" : { "value": { "regex" : "^\".*\"$", "constraint" : null, "interpretation" : "string", "note" : "A normal string. Interpretation is device dependent." }, "href" : { "regex" : "^/([a-zA-Z_][a-zA-Z_0-9]*)(/([a-zA-Z_][a-zA-Z_0-9]*))*$", "constraint" : "(length($1)<30 and length($3)<30)", "interpretation" : "resourceid", "note" : "This should be the canonical URL path for the resource generally speaking - ala /some/resource/5" }, "help" : { "regex" : "^\".*\"$", "constraint" : null, "interpretation" : "string", "note": "This is human readable text intended to convey to the user something about this value" }, "type" : { "regex" : "^iotoy.org/types/str$", "constraint" : null, "interpretation" : "url description the type and constraints on the value", "note" : "Represents a link back to this description" } } }