[Xesam] [Tracker] Proposing new methods in the API
Mikkel Kamstrup Erlandsen
mikkel.kamstrup at gmail.com
Mon Aug 4 10:52:16 PDT 2008
2008/8/4 Jamie McCracken <jamie.mccrack at googlemail.com>:
> On Thu, 2008-07-31 at 17:10 +0300, Ivan Frade wrote:
>> Hi all,
>> A common use case for the client applications is to show some statistics
>> about the data they know. For instance, in Amarok you can see how many
>> different artists you have in your library, how many albums... Tracker
>> should provide some way to retrieve this data.
>> I think we have two possible solutions: 1) to complicate (even more) the
>> GetUniqueValues method, 2) we can add two new methods in the API.
>> So i would like to propose two new methods in the API:
>> int sum (query, property)
>> int count (query, property)
>> * Sum method:
>> Run the query (if exists), and sum the value of the property in the
>> results. So to obtain the total playing time of Beethoven music:
>> tracker.sum ("RDF query to obtain all albums of Beethoven",
>> Or to obtain the total playing time in the computer:
>> tracker.sum (NULL, "Audio:Length")
>> * Count method:
>> Run the query (if exists) and count the different values in the
>> property for the results. So to obtain how many album do you have before
>> tracker.count ("RDF Query: all songs of before 1980", "Audio:Album")
>> Or to obtain how may albums do you have in your collection:
>> tracker.count (NULL, "Audio:Album")
>> [note: this method could be called countUniqueValues, ugly but more
>> What do you think? Can we implement that? Do you have a better solution
>> for this?
> We need to add these to xesam query I think
I actually thought a bit about on how to add this to Xesam in some
way, but did not come up with a clean way yet.
Anyway, definitely not for 1.0. But we can maybe discuss this at the hackfest?
More information about the Xesam