<br><div class="gmail_quote">On Thu, Mar 3, 2011 at 8:22 PM, Sebastian Trüg <span dir="ltr">&lt;<a href="mailto:trueg@kde.org" target="_blank">trueg@kde.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>&gt;</div><div>
&gt; When you told me that I must use the API, I did a try and found this<br>
&gt; problem. You can&#39;t add a class with a constructor that supports 6 terms<br>
&gt; but if you use it you crash DBMS or, when you use more than 3 terms dbms<br>
&gt; freezes, at least with my data. I don&#39;t need to explain you the reasons<br>
&gt; why this kind of stuff must be controlled at API level ;).<br>
<br>
</div>There is not only LiteralTerm. You can combine all sorts of terms with<br>
AndTerm. And only because it is possible to create a crazy query this<br>
way does not mean it needs to be removed completely.<br></blockquote><div><br></div><div>Not removed, but controlled. As I told you there is a constructor with 6 terms so is easy to guess that you can add 6 terms without problem and this is not true.</div>


<div><br></div><div>A basic control is easy to implement. For example, if you need to generate 30 variables to construct the query probably the query execution will kill the dbms. It&#39;s so simple put this control and, if developers whats to use this queries they must add and additional parameter.</div>


<div><br></div><div>This kind of control is easily override but it&#39;s useful to stop bad, not tested code and, commonly, developer mistakes. With this additional security check bad programs will obtain empty results and an error but, the important is that virtuoso is safe.</div>


<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
&gt; By the way, as always I need to do more tests, understand how db is<br>
&gt; organised and where users need to do a search before I obtain<br>
&gt; conclusions that could be useful to you but, sadly, I&#39;m very short in<br>
&gt; free time and Ksoprano is useful but annoying. I think I must write my<br>
&gt; own tool to work with sparql and be more productive.<br>
<br>
</div>Give Nepomukshell a try and please, before you write your own tool,<br>
consider contributing to that or at least tell us what needs to be improved.<br>
<div><br></div></blockquote><div>I did it but is worst to me than ksoprano. These are the requirements that Nepomukshell don&#39;t cover:</div><div>1) Error handling. I do a mistake but no error is displayed so is difficult to wonder what is happening and this is a big problem if you are trying to learn Sparql. This is the main reasons why I choose Ksoprano.</div>


<div>2) Load and save queries.</div><div>3) Load and save sessions or, at least, last session. I can finish a session perfectly with over 20 different queries opened so I need to manually save all to next day.</div><div>

3) Before and after are confusing, and I have many queries opened at same time. I&#39;m a tab guy and the other reason I&#39;m using Ksoprano.</div>
<div>4) Batch testing and test substitution to test the same query with different terms. I&#39;m doing this with a text file with all queries I want to test and an python script but is far to be comfortably.</div><div><br>


</div><div>by the way, syntax coloring and auto-completion are really cool :). As you can see my requirements are very specific and probably outside the scope of the Nepomuk Shell. But I confess you that even for other stuff I prefer Ginkgo over Nepomuk Shell. I&#39;m really comfortably with Ginkgo interface and remembers my last session.</div>


<div><br></div><div>Of course I would be happy to contribute whatever I can to Nepomuk, I like very much some aspects of this project, and I really want that works because I&#39;m trying to using it for long time ago, but I&#39;m not interested in learn C/C++ and even less in develop in it. I never have any pleasure writing C/C++ code and I&#39;m doing this as a hobby in my free time. With pleasure I will try to contribute with sparql knowledge, when I have knowledge to share, or contributing with Python, Ruby, Lua or any high level language you can imagine.</div>


<div><br></div></div>-- <br>Cheers,<div>Ignacio</div><div><br></div><br>