Re: Proposing Tracker for inclusion into GNOME 2.18



On Wed, 2006-10-25 at 11:20 +0100, Jamie McCracken wrote:
> James "Doc" Livingston wrote:
> > What would be really cool is support for field groups, but that would
> > probably require a fairly large change. So you could do things like
> > correctly storing the release dates when a track is on multiple albums:
> > 
> > Title=Some Track
> > Artist=Artist
> > (Album=X, ReleaseDate=2000/1/1)
> > (Album=Y, ReleaseDate=2001/2/2)
> 
> that would be tricky unless the album was a separate object

I spent a good long while trying to make a complete metadata
ontology for musical recordings.  Some of these things just
get really tricky.

The release date is clearly a property of the album itself,
so the proposal above is basically trying to store album
properties without actually talking about the album.

A related but harder issue is when you have some property
that really belongs to the track-album pair, and not to
either particular object.  (Think of child properties in
GTK+: "expand" belongs neither to a GtkBox or to whichever
GtkWidget is inside it, but rather to the pair).

Track numbers are the easiest example of this.  A track
might be number 2 on Album 1 and number 7 on Album 2.
Clearly, the track itself can't just have a track number.
And the track number obviously doesn't belong to either
album.

One clever mathy way of addressing this is to recognize
that a relation R on S and T is just  subset R ⊂ T x S.
Then a combo property can be a mapping from T x S into
some other set.

The more practical way of solving this is to say that
a track is on only one album, and then create relations
to say that two tracks are basically the same.

--
Shaun






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