On Wed, May 19, 2004 at 12:18:25PM +0100, Steve Harris wrote: > >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.
As far as I can see, everything that can be expressed by an RDF graph or a set of triplets or the eqeuivalent XML can be equally well expressed by nested property lists in LISP or even nested structs in C/C++. The use of URIs in this case seems to me like complete overkill, there is no requirement that every identifier is webwide uinique since we have a well defined context. > 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. At some point in your program, metadata will be translated into variable values. If at that point you decide that B overrides A, things are no longer monotonic, and there's nothing to stop you from doing that even if the values of A and B were originally derived from RDF. When you add a field to a C struct, that does not change the value of any other, so I'd say that is monotonic as well, unless you decide to destroy that property as described above. > 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. Do you mean you would have a dedicated parser that must be updated each time a property is added, rather than a general one driven by a schema ? In that case nothing is gained at all. -- FA
