Hey Christian<br><br><div class="gmail_quote">On Fri, Jun 24, 2011 at 12:42 AM, Christian Mollekopf <span dir="ltr">&lt;<a href="mailto:chrigi_1@fastmail.fm">chrigi_1@fastmail.fm</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
btw. also DataManagementModelTest::testStoreResources_duplicates fails for<br>
me, don&#39;t know if it is related or not.<br></blockquote><div><br>No. That&#39;s something I need to fix, but it&#39;s not a priority.<br><br>I investigated the problem. And here is what I found -<br><br>* In the test suite nie:isPartOf had been given the wrong range. I&#39;ve corrected it.<br>
<br>* The test I wrote for you was wrong. The resource with label &quot;testresource2&quot; should have a nie:isPartOf connecting it to the resource with label &quot;testResource1&quot;. I&#39;ve fixed the test, and it runs fine. Almost.<br>
<br>* The correct nie:isPartOf relation is added<br><br>Now, here is the problem -<br><br>nao:prefLabel has a rdfs:range of rdfs:Literal. And if I create a Soprano::LiteralValue(&quot;something&quot;), that turns into a literal with the data type xsd:string. So, I&#39;m not sure how I should write this test. <br>
<br>@ Trueg:<br>Please take a look at the attached patch.<br><br>@ Christain:<br>The test runs perfectly otherwise. Something else is wrong. If you tell me what exactly you&#39;re doing maybe we can figure it out.<br><br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5"><br>
On Thu, 23 Jun 2011 20:58:23 +0200, Christian Mollekopf<br>
&lt;<a href="mailto:chrigi_1@fastmail.fm">chrigi_1@fastmail.fm</a>&gt; wrote:<br>
<br>
&gt; Hey,<br>
&gt;<br>
&gt; Today I faced a problem when setting the nie:isPartOf property on a<br>
&gt; SimpleResource item.<br>
&gt; In the akonadi feeder storing would always fail with a message like:<br>
&gt; &quot;<a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf</a> has a<br>
&gt; rdfs:range of<br>
&gt; <a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement</a>.&quot;<br>
&gt;<br>
&gt; which is at least a correct statement, but I made sure that all resources<br>
&gt; have the types informationelement and DataObject, so it should work.<br>
&gt;<br>
&gt; Second I wrote a little test app:<br>
&gt;<br>
&gt;      SimpleResourceGraph graph;<br>
&gt;      SimpleResource res;<br>
&gt;      res.setProperty( Soprano::Vocabulary::NAO::prefLabel(),<br>
&gt; &quot;testresource&quot;<br>
&gt; );<br>
&gt;      res.setTypes(QList &lt;QUrl&gt;() &lt;&lt; Vocabulary::NIE::DataObject() &lt;&lt;<br>
&gt; Vocabulary::NIE::InformationElement());<br>
&gt;      graph.insert(res);<br>
&gt;      SimpleResource res2;<br>
&gt;      res2.setProperty( Soprano::Vocabulary::NAO::prefLabel(),<br>
&gt; &quot;testresource2&quot; );<br>
&gt;      res2.setTypes(QList &lt;QUrl&gt;() &lt;&lt; Vocabulary::NIE::DataObject() &lt;&lt;<br>
&gt; Vocabulary::NIE::InformationElement());<br>
&gt;      res2.addProperty( Vocabulary::NIE::isPartOf(), res );<br>
&gt;      graph.insert(res2);<br>
&gt;      KJob *job = graph.save();<br>
&gt;<br>
&gt; This actually worked without errors, but the property ended up on the<br>
&gt; wrong resource (testresource instead of tesetresource2).<br>
&gt; Vishesh had a quick look at this one.<br>
&gt;<br>
&gt; He then put this into a unittest in datamanagementmodeltest.cpp, here we<br>
&gt; both experienced the same issue:<br>
&gt;<br>
&gt; QDEBUG : DataManagementModelTest::testStoreResource_nieIsPartOf()<br>
&gt; qttest(30079)/nepomuk (storage service) Nepomuk::ResourceMerger::merge:<br>
&gt; Invalid resource range.  QUrl( &quot;_:zb&quot; )  has types<br>
&gt; (QUrl(&quot;<a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#DataObject" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#DataObject</a>&quot;)<br>
&gt; ,   QUrl(<br>
&gt; &quot;<a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement</a>&quot;<br>
&gt; )  )<br>
&gt; QDEBUG : DataManagementModelTest::testStoreResource_nieIsPartOf()<br>
&gt; &quot;/home/chrigi/devel/kde/build/kde-runtime/nepomuk/services/storage/test/datamanagementmodeltest(30079)&quot;<br>
&gt; Soprano: &quot;Invalid argument (1)&quot;:<br>
&gt; &quot;<a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf</a> has a<br>
&gt; rdfs:range of<br>
&gt; <a href="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject" target="_blank">http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject</a>.&quot;<br>
&gt; QDEBUG : DataManagementModelTest::testStoreResource_nieIsPartOf()<br>
&gt; qttest(30079)/nepomuk (storage service)<br>
&gt; Nepomuk::DataManagementModel::storeResources:  MERGING FAILED!<br>
&gt; QDEBUG : DataManagementModelTest::testStoreResource_nieIsPartOf()<br>
&gt; &quot;/home/chrigi/devel/kde/build/kde-runtime/nepomuk/services/storage/test/datamanagementmodeltest(30079)&quot;<br>
&gt; Soprano: &quot;Invalid argument (1)&quot;:<br>
&gt; &quot;<a href="http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf" target="_blank">http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf</a> has a<br>
&gt; rdfs:range of<br>
&gt; <a href="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject" target="_blank">http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject</a>.&quot;<br>
&gt;<br>
&gt; The reported range is actually wrong, as nie:isPartOf has a range of<br>
&gt; nie:InformationElement, and not nie:DataObject (repectively<br>
&gt; nfo:FileDataObject).<br>
&gt;<br>
&gt; Here are the tests I used: <a href="http://paste.kde.org/86809/" target="_blank">http://paste.kde.org/86809/</a><br>
&gt; The first one doesn&#39;t work it seems. It is very well possible that it is<br>
&gt; also not supposed to work this way.<br>
&gt;<br>
&gt; Anyways, I&#39;m stuck, any help appreciated =)<br>
&gt;<br>
&gt; Cheers,<br>
&gt;<br>
&gt; Chris<br>
&gt; _______________________________________________<br>
&gt; Nepomuk mailing list<br>
&gt; <a href="mailto:Nepomuk@kde.org">Nepomuk@kde.org</a><br>
&gt; <a href="https://mail.kde.org/mailman/listinfo/nepomuk" target="_blank">https://mail.kde.org/mailman/listinfo/nepomuk</a><br>
<br>
<br>
</div></div><font color="#888888">--<br>
Using Opera&#39;s revolutionary email client: <a href="http://www.opera.com/mail/" target="_blank">http://www.opera.com/mail/</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Nepomuk mailing list<br>
<a href="mailto:Nepomuk@kde.org">Nepomuk@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/nepomuk" target="_blank">https://mail.kde.org/mailman/listinfo/nepomuk</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><font color="#999999">Vishesh Handa</font><br>