On 24/10/06, Jamie McCracken <[EMAIL PROTECTED]> wrote: > Ross Burton wrote: > > On Tue, 2006-10-24 at 23:26 +0800, James Henstridge wrote: > >> I think that the idea Ross is trying to get across here is that rather > >> than having a flat namespace of metadata types, you want to have > >> relationships between the metadata types (metadata about metadata). > > > > [snip] > > > > Yes, thanks James for explaining clearly what I was trying to say. :) > > I have been thinking of allowimg all metadata to be registered with an > optional hardcoded dublin core type(1) so we could use maybe > "dc.creator" that would search all metadata registered against that type. > > You would not be able to get/set the value of any of the dc types > obviously as they would potentially point to more than one metadata. > > Would that satisfy you Ross? > > (1) http://dublincore.org/documents/1999/07/02/dces/
If it was specific to dublin core, and only had one level of specialisation, then it would only be of limited use. If we ignore the implicit inverse relationship issue, you really want a table that contains "property type foo is a subclass of the property type bar". For the case of two properties being equivalent, we can represent that with two relationships: * foo is a subclass of bar * bar is a subclass of foo Of course, using a table like this is not going to be fast when doing SQL queries. So you probably want to have a flattened version that can be used to map from a property to all its subclasses (usually including itself, to make the SQL easier). Such a flattened table is pretty easy to maintain with database triggers or in the application code that updates the metadata type relation table. James. _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list