Re: Mono bindings a blessed dependency? [Was: Tomboy in 2.16]



Ross Burton wrote:
On Fri, 2006-04-21 at 17:58 +0200, Emmanuele Bassi wrote:
[1] Dublin Core anyone? Timestamps not using ISO8601 but something that
is similar-yet-not-quite-enough?

Now look what's happened.  My main gripes are:

1) no generic way to say "title".

Thats true - Im not sure why thats needed though.

You can search specifc metadata or a full text search on all fields



There is File.Description,
Audio.Title, Audio.Comment, Doc.Title, Doc.Subject, Doc.Comments,
Image.Title, Image.Comments and Image.Description.  What if my generic
interface just wants to show the title of a result?  Ditto for many
other fields: Doc.Keywords, Image.Keywords but no Audio.Keywords.

The interface is class based so all files have File.* attributes.

File.Keywords would be user definable emblems, leaftag tags etc
Doc.Keywords are an official embedded OOO/Ms word metadata field
Likewise with Image.Keywords.

Audio.Keywords is not a metadata (they inherit the File.Keywords)

The class namespace is supposed to differentiate them but I take it you are saying thats not sufficient?


2) as I mentioned in my other mail, until yesterday the File.* date
fields were missing their timezone.  As Emmanuele points out are now
almost but not quite ISO 8601, apart from Audio.Date, Audio.LastPlay,
Doc.Created and Image.Date which still don't have a timezone, and really
should.

okay will fix

3) "For images, most support the EXIF standard and so a subset of this
makes up part of this specification.".  Why a subset?  What about the
rest of the EXIF metadata?  My photos contain the exposure time and
focal length, so why can't I use tracker to search for all long exposure
photos?

Point taken! (I know Im proably wrong thinking the rest were just junk!)



Considering Tracker has a RDF Query API, I'm shocked that it doesn't use
a RDF triple store internally.  You can create a MySQL-based triple
store using librdf in a few lines of Python, which reduces the effort in
writing a beagle/tracker clone to the metadata extraction libraries, and
nice front-end APIs.  Arbitrary metadata can be added without any extra
work, and it would build on the years of work by semantic web people.

I know that but the reason tracker is so fast is it has a highly tuned DB architecture. Technically Beagle's lucene should be faster than mysql's full text indexing but I use a few optimisations in my design to ensure that full text searches are super fast (I wont bore you with the details!)

We use a custom RDF parser because its dead easy to map RDF query to SQL and I can add extensions to my RDF Query parser to support full text searches and other stuff.

Using an official rdf lib would negate the above and force a fixed structure on the DB. So I went for speed and flexibility.


Rant over.  The first person to say "stop energy" gets their username in
a SJ blacklist. :)

Nothing can stop me now!


--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/




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