[Nepomuk] Re: Question regarding usage of Nepomuk::Vocabulary::PIMO::hasPart()
Sebastian Trüg
trueg at kde.org
Fri Oct 29 15:47:54 CEST 2010
Hi Christian,
On 10/29/2010 10:38 AM, Christian Mollekopf wrote:
> Instead of adding an note to a topic with the isPart relation, i added now the
> topic as property to the note.
>
> The Topic is a Nepomuk::Thing("MyTopic", Nepomuk::Vocabulary::PIMO::Topic())
this is correct.
> The note is a Nepomuk::Resource(akonadiItemUri)
this is ok, too.
> and i add the property like this:
> setProperty(Nepomuk::Vocabulary::PIMO::Topic(), Nepomuk::Thing("MyTopic",
> Nepomuk::Vocabulary::PIMO::Topic()));
this is completely wrong. You cannot use a class as a property.
Instead you should use pimo:isRelated() to relate a note to a topic and
pimo:groundingOccurrence() to relate the note to the akonadi resource.
Thus, that gives us:
Nepomuk::Thing note( QUrl(), Nepomuk::Vocabulary::PIMO::Note() );
Nepomuk::Thing topic( "My topic", Nepomuk::Vocabulary::PIMO::Topic() );
Nepomuk::Resource akonadiRes(akonadiItemUri);
note.addGroundingOccurrence(akonadiRes);
note.addProperty(Nepomuk::Vocabulary::PIMO::isRelated(), topic);
I suppose pimo:isPartOf can be used to model a hierarchy between notes
or topics. But a note is not actually part of a topic. IMHO that would
not make sense.
maybe Leo (the author of PIMO) can tell me if I got the details right.
Cheers,
Sebastian
> I did not yet create the hiarchy of topics, but plan to do so with the isPart
> relation (could not yet figure out how that works).
>
> The solution i have now works for me, but I wonder if this is the correct way
> to do things, or if it would make more sense to use the isPart relation.
>
> Cheers,
>
> Christian
>
>
> On Thursday 28 October 2010 13:53:59 Christian Mollekopf wrote:
>> Hi,
>>
>> I'm currently prototyping an application for handling Notes/Tasks/Events.
>> While i use akonadi items for storing the notes, and the existing akonadi
>> classes is want to use nepomuk to model the relations between them.
>>
>> I know there are already other efforts in this direction namely kjots,
>> basket, semnotes, and i will eventually see how to integrate, share code,
>> merge, or whatever =)
>>
>> For manual organisation I want to use "Topics". I.e this will allow a
>> treestructure like the notes in kjots, but also allow notes to be in
>> several "Topics" at the same time.
>>
>> So my understanding of how that should work (i will talk only about notes
>> for simplicity):
>> -I create a Pimo::Note resource for each note and set the akonadi uri as
>> identifier
>> -I create a Pimo::Thing of the type Nepomuk::Vocabulary::PIMO::Topic() for
>> each topic
>>
>> For the relation between topics (hiarchy), and adding items to a topic, i
>> want to use the Nepomuk::Vocabulary::PIMO::hasPart() relation
>> (respectively isPart() but that is not existing).
>>
>> So for an example hiarchy:
>>
>> "Topic1->Subtopic1->Note1"
>>
>> which would read as:
>>
>> "Note1 isPartOf Subtopic1 isPartOf Topic1"
>>
>> I hope this is the correct way to do things, but my problem is, i don't
>> understand how to use the Nepomuk::Vocabulary::PIMO::hasPart() relation.
>>
>> Specifically, how can i set Note1 to be part of Subtopic1, and how can i
>> check if Note1 is part of Subtopic1.
>>
>> A Codeexample would be greatly appreceated.
>>
>> In case it matters:
>> i found Nepomuk::Vocabulary::PIMO::hasPart() and
>> Nepomuk::Vocabulary::PIMO::Topic() in pimo.h which i believe is the
>> ontology?
>>
>> Thanks for you help,
>>
>> Christian
>> _______________________________________________
>> Nepomuk mailing list
>> Nepomuk at kde.org
>> https://mail.kde.org/mailman/listinfo/nepomuk
> _______________________________________________
> Nepomuk mailing list
> Nepomuk at kde.org
> https://mail.kde.org/mailman/listinfo/nepomuk
>
More information about the Nepomuk
mailing list