[Nepomuk] Re: Akonadi-Nepomuk feeder port to SimpleResource api

Sebastian Trüg trueg at kde.org
Wed Jul 27 08:06:42 CEST 2011


On 07/27/2011 12:53 AM, Christian Mollekopf wrote:
> On Tue, 26 Jul 2011 13:42:51 +0200, Sebastian Trüg <trueg at kde.org> wrote:
> 
>> On 07/26/2011 01:18 AM, Christian Mollekopf wrote:
>>> I forgot to add:
>>>
>>> I extended the aneo ontology as discussed:
>>>
>>> aneo: {
>>>
>>>      aneo:AkonadiDataObject a rdfs:Class ;
>>>            rdfs:subClassOf nie:DataObject ;
>>>            rdfs:label "AkonadiDataObject" ;
>>
>> this is the ugly label type as used throughout NIE and friends. Those
>> labels have been waiting to be fixed for a long time. Its just that
>> there are so damn many....
>> Anyway, please give it a proper label, one that can be displayed to a
>> user. Something like "Akonadi item".
> 
> Alright, I actually changed it back from "Akonadi Entity" after having a  
> look at the NIE onto =P
> 
>>
>>>            rdfs:comment "used to identify akonadi entities (items and
>>> collections) created by the akonadi-nepomuk feeders" ;
>>>            nao:userVisible false .
>>
>> Hm, I am not sure if this is wise. This would mean that all akonadi data
>> objects are not visible to the user. I doubt you want that. ;)
>>
> 
> Well, the DataObject side should indeed not be visible, it's the  
> InformationElement side which is for the user
> and also where the userdata is.
> Not sure what the implications are for double typed resources.

You are right. A double-typed resource will be visible if the IE type is
visible.

Cheers,
Sebastian

>>>
>>>      aneo:akonadiItemId a rdf:Property ;
>>>          rdfs:label "Akonadi Item ID" ;
>>>          rdfs:comment "used to identify items created by the
>>> akonadi-nepomuk feeders (depreceated usage, use the AkonadiDataObject  
>>> type
>>> instead)" ;
>>>          rdfs:range xsd:string ;
>>>          rdfs:domain aneo:AkonadiDataObject ;
>>>          rdfs:subPropertyOf nao:identifier ;
>>>          nrl:maxCardinality 1 ;
>>>          nao:userVisible false .
>>> }
>>>
>>> This means that we can now limit queries with:
>>>
>>>      ResourceTypeTerm(Class(Vocabulary::ANEO::AkonadiDataObject()))
>>>
>>> which is nicer and has better performance(afaik) than the old:
>>>
>>>      query.addRequestProperty(Query::RequestProperty(Akonadi::ItemSearchJob::akonadiItemIdUri(),
>>> false));
>>
>> Exactly. This is starting to look really nice IMHO. :)
>>
> 
> Much better indeed =)
> 
>> Just a small side remark: It's so refreshing to have you working on the
>> Akonadi integration, you give the kind of feedback and ask the kind of
>> questions that push a project like Nepomuk. Thanks for that. :)
>>
> 
> Glad to hear that =)
> It's a pleasure working with you guys too.
> 
> 
>> Cheers,
>> Sebastian
>>
>>> Cheers,
>>> Christian
>>>
>>>
>>>
>>> On Sat, 23 Jul 2011 15:39:56 +0200, Sebastian Trüg <trueg at kde.org>  
>>> wrote:
>>>
>>>> without looking at the code yet:
>>>>
>>>> thanks a lot for doing this. And:
>>>>
>>>> On 07/22/2011 01:31 AM, Christian Mollekopf wrote:
>>>>> -replaced any usage of NepomukFast and with SimpleResource api
>>>>> -Removed the nepomukFeeder class, which was only needed because of the
>>>>> template stuff
>>>>> -added NepomukFeederUtils namespace which contains some helper  
>>>>> functions
>>>>> which don't belong into NepomukFeederAgentBase
>>>>> -removed everything else from NepomukFeederAgentBase which doesn't
>>>>> belong there and moved to the correct location (actually only
>>>>> findOrCreateContact that is)
>>>>
>>>> AFAICS there is no need for findOrCreateContact anymore. You simply
>>>> throw the contact at DMS multiple times and it will be merged properly.
>>>>
>>>>> -updated the documentation of NepomukFeederAgentBase
>>>>> -added the aneo ontology which is currently only used for the
>>>>> akonadiItemId (to mark the nepomuk resources as akonadi item)
>>>>> -added a copy of the nepomuk-dms to avoid a dependency on kde-runtime
>>>>> -added the SimpleResource convenience classes (In the future they  
>>>>> could
>>>>> be generated during the build, but that's not working at the moment)
>>>>
>>>> Actually we already have a review request for that. It is only a matter
>>>> of cleaning up some issues. Then the cmake macro is done.
>>>>
>>>>> -ported the calendar feeder to the SimpleResource api
>>>>>
>>>>> I did not touch the contact feeder so far as Martin Klapetek is  
>>>>> working
>>>>> on that.
>>>>>
>>>>> Also I noticed an occasional problem that the dms complains about
>>>>> cardinality of random parameters (i.e. the akonadiItemId),
>>>>> anyhow thats not critical for the moment as the feeders seem to work
>>>>> fine otherwise.
>>>>
>>>> Could you give an actual example, please?
>>>>
>>>>> Since there did not change a lot from the akonadi side I don't really
>>>>> expect much reviewing from this side (although all comments are
>>>>> welcome),
>>>>> but I'd be nice if Vishesh or Sebastian could have a look on how I  
>>>>> used
>>>>> the SimpleResource api.
>>>>> That would be specifically the Calendarfeeder and the
>>>>> NepomukFeederAgentBase::addItemToGraph,
>>>>> NepomukFeederAgentBase::addGraphToNepomuk functions.
>>>>>
>>>>> If it looks more or less ok, I'll commit so we can work from there.
>>>>
>>>> I will try to have a look these days.
>>>>
>>>> Cheers,
>>>> Sebastian
> _______________________________________________
> Nepomuk mailing list
> Nepomuk at kde.org
> https://mail.kde.org/mailman/listinfo/nepomuk


More information about the Nepomuk mailing list