[Nepomuk] Review Request: Sub-resource handling in DMS removeProperty

Sebastian Trueg sebastian at trueg.de
Fri Aug 5 11:20:00 UTC 2011



> On July 22, 2011, 8:04 a.m., Vishesh Handa wrote:
> > nepomuk/services/storage/test/datamanagementmodeltest.cpp, line 1222
> > <http://git.reviewboard.kde.org/r/101994/diff/1/?file=27394#file27394line1222>
> >
> >     You test seems to imply that the sub-resource will not be removed, if some other resource has it as its sub resource.
> >     
> >     It should be that the sub-resource won't be deleted if any other resource has any property accessing it.
> >     
> >     Example - The Strigi indexer adds "Mickey Mouse" as a contact because he is the author of some PDF file. Then someone creates a pimo:Person of "Mickey Mouse" and adds pimo:groundingOccurance to that contact.
> >     
> >     If that PDF file is deleted, then should we delete the contact?
> 
> Sebastian Trueg wrote:
>     That is a very good point. The idea here was that we do not end up with any junk. Let me pick up your example: If the pimo person is deleted the contact is not touched since it is not a sub-resource of the person. Thus, we end up with a contact which we actually do not want to have. Still your use-case is more than valid and we need to find a solution here.

One way would be to "mark" a resource as being created as a sub-resource. That way we can remove it as soon as the last incoming relation is gone. This would be something that DMS could handle automatically. As soon as the sub-resource is stored (and merged) as a non-sub-resource we would remove the sub-resource marker.
It might be a little strange as solution but could work.


- Sebastian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101994/#review4954
-----------------------------------------------------------


On July 18, 2011, 3:04 p.m., Sebastian Trueg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101994/
> -----------------------------------------------------------
> 
> (Updated July 18, 2011, 3:04 p.m.)
> 
> 
> Review request for Nepomuk.
> 
> 
> Summary
> -------
> 
> So far we have sub-resource handling in removeResources and removeDataByApplication. It means that sub-resources are removed if their super-resources are removed, too and no other resource references them. However, this is not done in removeProperty and removeProperties. IMHO it should be done, too. As soon as the nao:hasSubResource relation is removed there is no relation between super- and sub-resource anymore rendering the sub-resource pointless.
> 
> The attached patch simply adds two unit tests. It does not include the actual code which implements the sub-resource handling in removeProperty and removeProperties. The point of this review request is to determine if the behavior explained above is what we want or not.
> 
> 
> Diffs
> -----
> 
>   nepomuk/services/storage/test/datamanagementmodeltest.h a46e525 
>   nepomuk/services/storage/test/datamanagementmodeltest.cpp f2ca76e 
> 
> Diff: http://git.reviewboard.kde.org/r/101994/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sebastian
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/nepomuk/attachments/20110805/4666dcdc/attachment-0001.html>


More information about the Nepomuk mailing list