What's missing ?
Semantics. You can define a single layer metadata system with virtually no
(machine) semnatics, eg.
hasTitle: "my plugin"
hasPortCount: "3"
...
but you quickly run into problems when trying to encode anything
interesting, like port 3 is a "contol in port" with a lower range of 0 and an
upper range of the "max delay" port, it uses milliseconds as its units,
should be controlled logarithmically...
You can hack it all in lexically, but then your back to a sitatution where
you can paint yourself into a corner w.r.t. back/forward compatibility.
To get round this, good metadata languages are defined so that they are
monotonic and with a few other interesting properties that logicians care
about.
If you are interested in the mathematical properties, then read the RDF
model theory:
http://www.w3.org/TR/rdf-mt/ its a bit dry though :)
NB I wouldnt suggest we require RDFS for LADSPA, just RDF. RDFS makes it
much more challenging to implement if you dont want to use a standard
library, and we really wouldn't gain much.
- Steve