[Nepomuk] Nepomuk Core - Questions & Patches
Vishesh Handa
handa.vish at gmail.com
Mon May 31 14:28:27 CEST 2010
On Mon, May 31, 2010 at 5:47 PM, Sebastian Trüg <trueg at kde.org> wrote:
> On 05/31/2010 01:44 PM, Vishesh Handa wrote:
> > Resources are identified by one of these 3 ways -
> > 1. nao:identifier
> > 2. nie:url (includes the whole filex:/ part)
> > 3. nepomuk:/res/
> >
> > m_kickOffId uses 1, 2 (minus the filex:/) & 3. And m_kickOffUri uses 2 &
> > 3. I say, we scrap the m_kickOffId, and store the nao:identifier in the
> > m_kickOffUri ( perhaps name it to something else? )
> >
> > The determineUri code would become a lot simpler -
> >
> > if( m_kickOffUri.isValid() ) {
> > // Either 2 or 3
> > }
> > else {
> > // nao:identifier
> > }
> >
> > The would even clear one of the odd cases where someone tries to
> > initialize a Resource by providing its nepomuk:/res/ uri as a QString
> > instead a QUrl.
>
> So you want to store a string in a KUrl then? Well, that could work indeed.
>
Yup. Or if you really want we could do the opposite and store everything as
strings.
>
>
> > > 2. Convert the ResourceData m_kickOffUri into a list AND make sure
> > that
> > > while determining one URI it adds all other cases to the lists as
> > well.
> > >
> > > Number 1 is more of a convenience, but *2* is really important.
> You've
> > > done half the job ( I thought we'll take care of it in another
> patch )
> > >
> > > Now, about the comments in determineFinalResourceData(). The flaw
> with
> > > our, not so little, proxy removal plan was that if -
> > > Resource r1("foo");
> > > r1.determineUri()
> > >
> > > Resource r2( foo's nie:url );
> > > r2.determineUri() // The proxy thing would be activated ( could be
> > > avoided via 2 )
> > >
> > > Resource r3( foo's nie:url );
> > > r3.determineUri() // The proxy thing is AGAIN activated as the
> nie:url
> > > wasn't added to the list.
> > >
> > > With your patch you seem to have fixed the problem. But I would
> have
> > > preferred the more concrete solution via 2.
> >
> > Agreed.
> >
> > How about converting them into hash tables instead of lists? That way we
> > could easily check if addProperty() or removeProperty() updates any of
> > the identifying properties in m_kickOddUri. We could then even
> > potentially stop clearing up the cache after ever metadata move
> > operation.
>
> What would the hash contain?
>
>
Uhh. What I meant was that we store them in a set instead of a list. It's a
rather trivial thing.
I guess I'll start modifying the patch.
- Vishesh Handa
> Cheers,
> Sebastian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/nepomuk/attachments/20100531/b6eedfff/attachment.htm
More information about the Nepomuk
mailing list