Re: Proposing Tracker for inclusion into GNOME 2.18



On 24/10/06, Jamie McCracken <jamiemcc blueyonder co uk> 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.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]