Re: Finding and Reminding, tech issues, 3.0 and beyond
- From: Martyn Russell <martyn lanedo com>
- To: Bastien Nocera <hadess hadess net>
- Cc: Owen Taylor <otaylor redhat com>, gnome-shell-list gnome org, desktop-devel-list gnome org
- Subject: Re: Finding and Reminding, tech issues, 3.0 and beyond
- Date: Thu, 15 Apr 2010 13:05:09 +0100
On 15/04/10 12:32, Bastien Nocera wrote:
On Mon, 2010-04-12 at 11:31 +0100, Martyn Russell wrote:
On 10/04/10 22:10, Owen Taylor wrote:
On Sat, 2010-04-10 at 11:43 -0400, Jamie McCracken wrote:
On Fri, 2010-04-09 at 18:09 -0400, Owen Taylor wrote:
Well, certainly tracking and indexing file metadata doesn't *require*
anything as complex, or general purpose as RDF. I have some concerns
about the complexity, but as long as we don't get to the point where
understanding RDF and ontologies is a prerequisite for developing a
GNOME app, we're probably fine.
I don't think this is such a bad thing. What other choices are there?
understanding how to extract the metadata from a specific file yourself
or understanding SQL to talk directly to a database? At least SPARQL is
something in between which provides the right level of power without
exposing the DB.
And it ends up being neither. If you're manipulating file formats you
understand, or if you understand the concepts and a library does the
work for you, you're better off extracting the metadata yourself.
Are you? So if you have more than one application interested in the same
data, that's still better off?
Plus what about the implementation, is it better to have n ways to
extract the same data each one more/less featured/erroneous to the next
or one place which does it and is maintained?
If you had a real database,
Are you suggesting SQLite is not a real database or that an application
"would use" a real database to continue your point?
you could reuse what you learnt in DB classes, or
learn from any number of online resources.
Well, you have to either:
a) learn how to use some library to extract your data (or the data
format itself) and then SQL and/or whatever database you want to put it
into.
or
b) learn SPARQL and perhaps some 3 or 4 functions from a client library
In the end, it is much of a muchness. SQL is far from trivial to learn
and each database optimises for different things. Not to mention the
different versions and extensions of SQL depending on the database you
use. Why would a user really care about any of that unless they were
going to share their data in the first place?
I say "share" because that's quite an important feature of Tracker.
The fact that SPARQL is neither is a problem for applications
I don't agree. There is always a learning curve with whatever you choose
unless you already had knowledge in the first place (which if you did,
makes learning SPARQL easier).
I couldn't have come up with stuff like:
http://git.gnome.org/browse/totem/tree/src/plugins/tracker/totem-tracker-widget.c#n388
I couldn't this time last year either (and that's not a benchmark for
how long it takes to learn either).
Better come up with good documentation before offering it to developers.
Well, other than the online docs we are constantly improving:
http://library.gnome.org/devel/ontology/unstable/
There is also the actual standard we try to follow:
http://www.semanticdesktop.org/ontologies/
If you're used to RDF of SQL, SPARQL isn't so difficult. There are also
examples on the live.gnome.org wiki:
http://live.gnome.org/Tracker/Documentation/Examples
Plus our code base is riddled with examples which have to work.
In addition to all this, we are on IRC to help too.
Bastien, if you think something else is missing, please tell us and we
will try to fix it.
--
Regards,
Martyn
- References:
- Finding and Reminding, tech issues, 3.0 and beyond
- Re: Finding and Reminding, tech issues, 3.0 and beyond
- Re: Finding and Reminding, tech issues, 3.0 and beyond
- Re: Finding and Reminding, tech issues, 3.0 and beyond
- Re: Finding and Reminding, tech issues, 3.0 and beyond
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]