<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/106711/">http://git.reviewboard.kde.org/r/106711/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 8th, 2012, 3:24 p.m., <b>Christian Mollekopf</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">That's fine from the PIM side, but I'd still be interested where you'd want to avoid the duplicates merging. It seems like a crucial feature to me as soon as we have multiple applications operating on the same data, where we can't know which data is already present in the store and which isn't.
So it might make sense to change the semantics so you can disable the duplicates merging and have it on by default, as it seems to me more like a performance optimization for cases where we know that no duplicates are existing.
Otherwise we could render the whole database pretty quickly useless by creating a massive amount of duplicates.

Or am I just misunderstanding something?</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Uhh. No.

The duplicate merging is only for the data that is not already present in Nepomuk. Basically duplicats in the SimpleResourceGraph that you provided. Example -

_:a a nao:Tag ;
    nao:identifier "Tag1" .

_:b a nao:Tag ;
    nao:identifier "Tag1" .

_:c a nfo:FileDataObject ;
    nao:hasTag _:a, _:b .

Case 1 : When Tag1 does not already exist + Flag off - In that case _:c will have 2 tags attached to it both of which have the same identifier but have different resource uris.

Case 2 : When Tag1 does not already exists + Flag on - In that cause the SimpleResourceGraph will be checked for duplicates, and _:a and _:b would have been found to be identical. So they would have been merged together into _:a. _:c would only contain 1 tag then. This is a pre-processing stuff. After this the entire normal identification process would run to determine if a tag with identifier "Tag1" already exists.

Case 2: When Tag1 does exist + Flag off - Both _:a and _:b will be identified to <nepomuk:/res/tag1-uri> and _:c will only have 1 tag

Does this make it clear?

</pre>
<br />








<p>- Vishesh</p>


<br />
<p>On October 3rd, 2012, 12:11 p.m., Vishesh Handa wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Nepomuk, Christian Mollekopf and Sebastian Trueg.</div>
<div>By Vishesh Handa.</div>


<p style="color: grey;"><i>Updated Oct. 3, 2012, 12:11 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">    StoreResources: Add a flag to force duplicate detection in the graph
    
    By default each SimpleResource in the graph was always hash (an
    expensive process) and then checked for duplicates with the other
    SimpleResources in the graph.
    
    This feature was only added cause the PIM guys were pushing large
    quantities of duplicate data. It doesn't make sense for everyone to pay
    the penalty for one application.
    
    They can enable this feature with the MergeDuplicateResources flag.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Updated the relevant tests</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>libnepomukcore/datamanagement/datamanagement.h <span style="color: grey">(2ac60a5)</span></li>

 <li>services/storage/datamanagementmodel.cpp <span style="color: grey">(7c05cfd)</span></li>

 <li>services/storage/test/datamanagementmodeltest.cpp <span style="color: grey">(3d3340c)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106711/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>