You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by javed khan <ja...@gmail.com> on 2017/01/26 13:06:35 UTC
SPARQL query exception
*The following query works * :
"SELECT ?student ?highScore " +
" WHERE {" + " {"+ "select (max(?score) as ?highScore)"
+ " { ?student dd:Englishscore ?score" +
" }" +
" } " +
"?student dd:Englishscore ?highScore" +
"}";
Query query2 = QueryFactory.create(queryString2);
QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
ResultSet results2 = qexec.execSelect() ;
Literal r= results2.next().get("highScore").asLiteral();
String ss= r.getLexicalForm();
JOptionPane.showMessageDialog(null,"High score of Physics is"+s + "by
Student");
This query now works but when I include also the student name, it gives me
exception again.
* Resource r2= results2.next().get("student").asResource();*
* String s=r2.toString();*
Re: SPARQL query exception
Posted by Andy Seaborne <an...@apache.org>.
javed,
This is not complete, and also unreadable.
"not working" is vague.
Show, all in readable form:
* Data - sufficient to ask the question and no more
* The query
* The results you are getting
Print the query in your program to check it is constructed correctly.
Andy
Note all this can be done with the command line tools.
On 26/01/17 17:32, javed khan wrote:
> Hello, this is the query. How can we add high score of another subject like
> Mathsscore, I simply add Mathscore after Englishscore, but not working
>
> "SELECT * +
>
> " WHERE {" + " {"+ "select (max(?score) as ?highScore)"
> + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
> ?score2"
> " }" +
> " } " +
> "?student dd:Englishscore ?highScore" + " ?student2
> dd:Mathsscore ?score2"
>
>
> "}";
>
> On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com> wrote:
>
>> I am sorry Rob, I have posted this issue on Stack overflow yesterday, and
>> I thought I have posted the details here.
>> Sorry and the problem is solved as I used QuerySolution in while loop.
>>
>> Thank you
>>
>> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>>
>>> Once again you have failed to provide a minimal complete example. This
>>> means the minimal code needed to reproduce the problem and any extra
>>> resources needed e.g. your data. Complete means that your code should be
>>> able to be copied and pasted and run.
>>>
>>> http://stackoverflow.com/help/mcve
>>>
>>> Note you haven\u2019t actually told us what the problem is i.e. What is the
>>> specific error message you got. It gets an exception is not a problem
>>> statement!
>>>
>>> We have been telling you this for weeks, if you are not actually going
>>> to make an effort then people are going to stop trying to help you
>>>
>>> Rob
>>>
>>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>>>
>>> *The following query works * :
>>>
>>> "SELECT ?student ?highScore " +
>>>
>>> " WHERE {" + " {"+ "select (max(?score) as
>>> ?highScore)"
>>> + " { ?student dd:Englishscore ?score" +
>>> " }" +
>>> " } " +
>>> "?student dd:Englishscore ?highScore" +
>>>
>>>
>>> "}";
>>>
>>> Query query2 = QueryFactory.create(queryString2);
>>> QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
>>> ResultSet results2 = qexec.execSelect() ;
>>>
>>> Literal r= results2.next().get("highScore").asLiteral();
>>> String ss= r.getLexicalForm();
>>> JOptionPane.showMessageDialog(null,"High score of Physics is"+s +
>>> "by
>>> Student");
>>>
>>> This query now works but when I include also the student name, it
>>> gives me
>>> exception again.
>>>
>>> * Resource r2= results2.next().get("student").asResource();*
>>> * String s=r2.toString();*
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
Re: SPARQL query exception
Posted by "Lorenz B." <bu...@informatik.uni-leipzig.de>.
I do not understand. You process one SPARQL query, and then the next
one. Of course you can reuse Java variables for QueryExecution and
Resultset but have to do the same steps
> Thank you Lorenz, let me try it. In my situation, the important is high
> score so even if is of multiple students, does not matter.
>
> If I run the query for each subject, the QueryExecution and Resultset will
> also be separate or just two queries with same QueryExecution and
> Resultset?
>
> On Fri, Jan 27, 2017 at 2:33 PM, Lorenz B. <
> buehmann@informatik.uni-leipzig.de> wrote:
>
>> Don't make it more complicated as necessary. Simply run the query for
>> each of your subjects. Otherwise something like
>>
>> SELECT ?subject ?student ?topScore WHERE {
>> {
>>
>> SELECT ?subject (MAX(?score) AS ?topScore) WHERE
>> { VALUES ?subject {dd:EnglishScore dd:MathScore}
>> ?student ?subject ?score .
>> } GROUP BY ?subject
>> }
>> ?student ?subject ?topScore .
>>
>> }
>>
>> could work - it's untested
>>
>> Don't forget that there can be more than one student with the highest
>> score per subject.
>>
>>> Sorry Lorenz I did not check stack overflow as the response there comes
>>> very late. Therefore I prefer Jena mailing list because here the response
>>> comes quickly.
>>>
>>> It is the query in plain text: If I want to include another subject high
>>> score and its student, then how can I add it?
>>>
>>>
>>> SELECT ?student ?topScore WHERE {
>>> {
>>>
>>> SELECT (MAX(?score) AS ?topScore) WHERE
>>> {
>>> ?student dd:Englishscore ?score .
>>> }
>>>
>>> }
>>> ?student dd:Englishscore ?topScore .
>>>
>>> }
>>>
>>> On Fri, Jan 27, 2017 at 1:04 PM, Lorenz B. <
>>> buehmann@informatik.uni-leipzig.de> wrote:
>>>
>>>> I tried to help you on StackOverflow, but no response from your side and
>>>> you posted something that can't compile in Java.
>>>>
>>>> Moreover, and that's a really sad point, you posted a different query
>>>> there, without the Mathscore triple patterns...
>>>>
>>>> Off-topic: It would be good if you close the question there if you found
>>>> the solution, that's one of the expected behaviors on a platform like
>>>> StackOverflow.
>>>>
>>>>
>>>> More comments, your query asks for the top English score - your message
>>>> tells the user that it's the top Physics score...
>>>>
>>>> And the exception is quite obvious, you called next() twice on a
>>>> resultset which might only return one student with the highest score.
>>>>> Hello, this is the query. How can we add high score of another subject
>>>> like
>>>>> Mathsscore, I simply add Mathscore after Englishscore, but not working
>>>>>
>>>>> "SELECT * +
>>>>>
>>>>> " WHERE {" + " {"+ "select (max(?score) as
>>>> ?highScore)"
>>>>> + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
>>>>> ?score2"
>>>>> " }" +
>>>>> " } " +
>>>>> "?student dd:Englishscore ?highScore" + " ?student2
>>>>> dd:Mathsscore ?score2"
>>>>>
>>>>>
>>>>> "}";
>>>>>
>>>>> On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com>
>>>> wrote:
>>>>>> I am sorry Rob, I have posted this issue on Stack overflow yesterday,
>>>> and
>>>>>> I thought I have posted the details here.
>>>>>> Sorry and the problem is solved as I used QuerySolution in while loop.
>>>>>>
>>>>>> Thank you
>>>>>>
>>>>>> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org>
>>>> wrote:
>>>>>>> Once again you have failed to provide a minimal complete example.
>> This
>>>>>>> means the minimal code needed to reproduce the problem and any extra
>>>>>>> resources needed e.g. your data. Complete means that your code should
>>>> be
>>>>>>> able to be copied and pasted and run.
>>>>>>>
>>>>>>> http://stackoverflow.com/help/mcve
>>>>>>>
>>>>>>> Note you haven\u2019t actually told us what the problem is i.e. What is
>> the
>>>>>>> specific error message you got. It gets an exception is not a problem
>>>>>>> statement!
>>>>>>>
>>>>>>> We have been telling you this for weeks, if you are not actually
>> going
>>>>>>> to make an effort then people are going to stop trying to help you
>>>>>>>
>>>>>>> Rob
>>>>>>>
>>>>>>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>>>>>>>
>>>>>>> *The following query works * :
>>>>>>>
>>>>>>> "SELECT ?student ?highScore " +
>>>>>>>
>>>>>>> " WHERE {" + " {"+ "select (max(?score) as
>>>>>>> ?highScore)"
>>>>>>> + " { ?student dd:Englishscore ?score" +
>>>>>>> " }" +
>>>>>>> " } " +
>>>>>>> "?student dd:Englishscore ?highScore" +
>>>>>>>
>>>>>>>
>>>>>>> "}";
>>>>>>>
>>>>>>> Query query2 = QueryFactory.create(queryString2);
>>>>>>> QueryExecution qexec = QueryExecutionFactory.create(query2,
>>>> model2) ;
>>>>>>> ResultSet results2 = qexec.execSelect() ;
>>>>>>>
>>>>>>> Literal r= results2.next().get("highScore").asLiteral();
>>>>>>> String ss= r.getLexicalForm();
>>>>>>> JOptionPane.showMessageDialog(null,"High score of Physics
>>>> is"+s +
>>>>>>> "by
>>>>>>> Student");
>>>>>>>
>>>>>>> This query now works but when I include also the student name, it
>>>>>>> gives me
>>>>>>> exception again.
>>>>>>>
>>>>>>> * Resource r2= results2.next().get("student").asResource();*
>>>>>>> * String s=r2.toString();*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>> --
>>>> Lorenz B�hmann
>>>> AKSW group, University of Leipzig
>>>> Group: http://aksw.org - semantic web research center
>>>>
>>>>
>>>>
>> --
>> Lorenz B�hmann
>> AKSW group, University of Leipzig
>> Group: http://aksw.org - semantic web research center
>>
>>
--
Lorenz B�hmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center
Re: SPARQL query exception
Posted by javed khan <ja...@gmail.com>.
Thank you Lorenz, let me try it. In my situation, the important is high
score so even if is of multiple students, does not matter.
If I run the query for each subject, the QueryExecution and Resultset will
also be separate or just two queries with same QueryExecution and
Resultset?
On Fri, Jan 27, 2017 at 2:33 PM, Lorenz B. <
buehmann@informatik.uni-leipzig.de> wrote:
> Don't make it more complicated as necessary. Simply run the query for
> each of your subjects. Otherwise something like
>
> SELECT ?subject ?student ?topScore WHERE {
> {
>
> SELECT ?subject (MAX(?score) AS ?topScore) WHERE
> { VALUES ?subject {dd:EnglishScore dd:MathScore}
> ?student ?subject ?score .
> } GROUP BY ?subject
> }
> ?student ?subject ?topScore .
>
> }
>
> could work - it's untested
>
> Don't forget that there can be more than one student with the highest
> score per subject.
>
> > Sorry Lorenz I did not check stack overflow as the response there comes
> > very late. Therefore I prefer Jena mailing list because here the response
> > comes quickly.
> >
> > It is the query in plain text: If I want to include another subject high
> > score and its student, then how can I add it?
> >
> >
> > SELECT ?student ?topScore WHERE {
> > {
> >
> > SELECT (MAX(?score) AS ?topScore) WHERE
> > {
> > ?student dd:Englishscore ?score .
> > }
> >
> > }
> > ?student dd:Englishscore ?topScore .
> >
> > }
> >
> > On Fri, Jan 27, 2017 at 1:04 PM, Lorenz B. <
> > buehmann@informatik.uni-leipzig.de> wrote:
> >
> >> I tried to help you on StackOverflow, but no response from your side and
> >> you posted something that can't compile in Java.
> >>
> >> Moreover, and that's a really sad point, you posted a different query
> >> there, without the Mathscore triple patterns...
> >>
> >> Off-topic: It would be good if you close the question there if you found
> >> the solution, that's one of the expected behaviors on a platform like
> >> StackOverflow.
> >>
> >>
> >> More comments, your query asks for the top English score - your message
> >> tells the user that it's the top Physics score...
> >>
> >> And the exception is quite obvious, you called next() twice on a
> >> resultset which might only return one student with the highest score.
> >>> Hello, this is the query. How can we add high score of another subject
> >> like
> >>> Mathsscore, I simply add Mathscore after Englishscore, but not working
> >>>
> >>> "SELECT * +
> >>>
> >>> " WHERE {" + " {"+ "select (max(?score) as
> >> ?highScore)"
> >>> + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
> >>> ?score2"
> >>> " }" +
> >>> " } " +
> >>> "?student dd:Englishscore ?highScore" + " ?student2
> >>> dd:Mathsscore ?score2"
> >>>
> >>>
> >>> "}";
> >>>
> >>> On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com>
> >> wrote:
> >>>> I am sorry Rob, I have posted this issue on Stack overflow yesterday,
> >> and
> >>>> I thought I have posted the details here.
> >>>> Sorry and the problem is solved as I used QuerySolution in while loop.
> >>>>
> >>>> Thank you
> >>>>
> >>>> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org>
> >> wrote:
> >>>>> Once again you have failed to provide a minimal complete example.
> This
> >>>>> means the minimal code needed to reproduce the problem and any extra
> >>>>> resources needed e.g. your data. Complete means that your code should
> >> be
> >>>>> able to be copied and pasted and run.
> >>>>>
> >>>>> http://stackoverflow.com/help/mcve
> >>>>>
> >>>>> Note you haven’t actually told us what the problem is i.e. What is
> the
> >>>>> specific error message you got. It gets an exception is not a problem
> >>>>> statement!
> >>>>>
> >>>>> We have been telling you this for weeks, if you are not actually
> going
> >>>>> to make an effort then people are going to stop trying to help you
> >>>>>
> >>>>> Rob
> >>>>>
> >>>>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
> >>>>>
> >>>>> *The following query works * :
> >>>>>
> >>>>> "SELECT ?student ?highScore " +
> >>>>>
> >>>>> " WHERE {" + " {"+ "select (max(?score) as
> >>>>> ?highScore)"
> >>>>> + " { ?student dd:Englishscore ?score" +
> >>>>> " }" +
> >>>>> " } " +
> >>>>> "?student dd:Englishscore ?highScore" +
> >>>>>
> >>>>>
> >>>>> "}";
> >>>>>
> >>>>> Query query2 = QueryFactory.create(queryString2);
> >>>>> QueryExecution qexec = QueryExecutionFactory.create(query2,
> >> model2) ;
> >>>>> ResultSet results2 = qexec.execSelect() ;
> >>>>>
> >>>>> Literal r= results2.next().get("highScore").asLiteral();
> >>>>> String ss= r.getLexicalForm();
> >>>>> JOptionPane.showMessageDialog(null,"High score of Physics
> >> is"+s +
> >>>>> "by
> >>>>> Student");
> >>>>>
> >>>>> This query now works but when I include also the student name, it
> >>>>> gives me
> >>>>> exception again.
> >>>>>
> >>>>> * Resource r2= results2.next().get("student").asResource();*
> >>>>> * String s=r2.toString();*
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >> --
> >> Lorenz Bühmann
> >> AKSW group, University of Leipzig
> >> Group: http://aksw.org - semantic web research center
> >>
> >>
> >>
> --
> Lorenz Bühmann
> AKSW group, University of Leipzig
> Group: http://aksw.org - semantic web research center
>
>
Re: SPARQL query exception
Posted by "Lorenz B." <bu...@informatik.uni-leipzig.de>.
Don't make it more complicated as necessary. Simply run the query for
each of your subjects. Otherwise something like
SELECT ?subject ?student ?topScore WHERE {
{
SELECT ?subject (MAX(?score) AS ?topScore) WHERE
{ VALUES ?subject {dd:EnglishScore dd:MathScore}
?student ?subject ?score .
} GROUP BY ?subject
}
?student ?subject ?topScore .
}
could work - it's untested
Don't forget that there can be more than one student with the highest
score per subject.
> Sorry Lorenz I did not check stack overflow as the response there comes
> very late. Therefore I prefer Jena mailing list because here the response
> comes quickly.
>
> It is the query in plain text: If I want to include another subject high
> score and its student, then how can I add it?
>
>
> SELECT ?student ?topScore WHERE {
> {
>
> SELECT (MAX(?score) AS ?topScore) WHERE
> {
> ?student dd:Englishscore ?score .
> }
>
> }
> ?student dd:Englishscore ?topScore .
>
> }
>
> On Fri, Jan 27, 2017 at 1:04 PM, Lorenz B. <
> buehmann@informatik.uni-leipzig.de> wrote:
>
>> I tried to help you on StackOverflow, but no response from your side and
>> you posted something that can't compile in Java.
>>
>> Moreover, and that's a really sad point, you posted a different query
>> there, without the Mathscore triple patterns...
>>
>> Off-topic: It would be good if you close the question there if you found
>> the solution, that's one of the expected behaviors on a platform like
>> StackOverflow.
>>
>>
>> More comments, your query asks for the top English score - your message
>> tells the user that it's the top Physics score...
>>
>> And the exception is quite obvious, you called next() twice on a
>> resultset which might only return one student with the highest score.
>>> Hello, this is the query. How can we add high score of another subject
>> like
>>> Mathsscore, I simply add Mathscore after Englishscore, but not working
>>>
>>> "SELECT * +
>>>
>>> " WHERE {" + " {"+ "select (max(?score) as
>> ?highScore)"
>>> + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
>>> ?score2"
>>> " }" +
>>> " } " +
>>> "?student dd:Englishscore ?highScore" + " ?student2
>>> dd:Mathsscore ?score2"
>>>
>>>
>>> "}";
>>>
>>> On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com>
>> wrote:
>>>> I am sorry Rob, I have posted this issue on Stack overflow yesterday,
>> and
>>>> I thought I have posted the details here.
>>>> Sorry and the problem is solved as I used QuerySolution in while loop.
>>>>
>>>> Thank you
>>>>
>>>> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org>
>> wrote:
>>>>> Once again you have failed to provide a minimal complete example. This
>>>>> means the minimal code needed to reproduce the problem and any extra
>>>>> resources needed e.g. your data. Complete means that your code should
>> be
>>>>> able to be copied and pasted and run.
>>>>>
>>>>> http://stackoverflow.com/help/mcve
>>>>>
>>>>> Note you haven\u2019t actually told us what the problem is i.e. What is the
>>>>> specific error message you got. It gets an exception is not a problem
>>>>> statement!
>>>>>
>>>>> We have been telling you this for weeks, if you are not actually going
>>>>> to make an effort then people are going to stop trying to help you
>>>>>
>>>>> Rob
>>>>>
>>>>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>>>>>
>>>>> *The following query works * :
>>>>>
>>>>> "SELECT ?student ?highScore " +
>>>>>
>>>>> " WHERE {" + " {"+ "select (max(?score) as
>>>>> ?highScore)"
>>>>> + " { ?student dd:Englishscore ?score" +
>>>>> " }" +
>>>>> " } " +
>>>>> "?student dd:Englishscore ?highScore" +
>>>>>
>>>>>
>>>>> "}";
>>>>>
>>>>> Query query2 = QueryFactory.create(queryString2);
>>>>> QueryExecution qexec = QueryExecutionFactory.create(query2,
>> model2) ;
>>>>> ResultSet results2 = qexec.execSelect() ;
>>>>>
>>>>> Literal r= results2.next().get("highScore").asLiteral();
>>>>> String ss= r.getLexicalForm();
>>>>> JOptionPane.showMessageDialog(null,"High score of Physics
>> is"+s +
>>>>> "by
>>>>> Student");
>>>>>
>>>>> This query now works but when I include also the student name, it
>>>>> gives me
>>>>> exception again.
>>>>>
>>>>> * Resource r2= results2.next().get("student").asResource();*
>>>>> * String s=r2.toString();*
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>> --
>> Lorenz B�hmann
>> AKSW group, University of Leipzig
>> Group: http://aksw.org - semantic web research center
>>
>>
>>
--
Lorenz B�hmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center
Re: SPARQL query exception
Posted by javed khan <ja...@gmail.com>.
Sorry Lorenz I did not check stack overflow as the response there comes
very late. Therefore I prefer Jena mailing list because here the response
comes quickly.
It is the query in plain text: If I want to include another subject high
score and its student, then how can I add it?
SELECT ?student ?topScore WHERE {
{
SELECT (MAX(?score) AS ?topScore) WHERE
{
?student dd:Englishscore ?score .
}
}
?student dd:Englishscore ?topScore .
}
On Fri, Jan 27, 2017 at 1:04 PM, Lorenz B. <
buehmann@informatik.uni-leipzig.de> wrote:
> I tried to help you on StackOverflow, but no response from your side and
> you posted something that can't compile in Java.
>
> Moreover, and that's a really sad point, you posted a different query
> there, without the Mathscore triple patterns...
>
> Off-topic: It would be good if you close the question there if you found
> the solution, that's one of the expected behaviors on a platform like
> StackOverflow.
>
>
> More comments, your query asks for the top English score - your message
> tells the user that it's the top Physics score...
>
> And the exception is quite obvious, you called next() twice on a
> resultset which might only return one student with the highest score.
> > Hello, this is the query. How can we add high score of another subject
> like
> > Mathsscore, I simply add Mathscore after Englishscore, but not working
> >
> > "SELECT * +
> >
> > " WHERE {" + " {"+ "select (max(?score) as
> ?highScore)"
> > + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
> > ?score2"
> > " }" +
> > " } " +
> > "?student dd:Englishscore ?highScore" + " ?student2
> > dd:Mathsscore ?score2"
> >
> >
> > "}";
> >
> > On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com>
> wrote:
> >
> >> I am sorry Rob, I have posted this issue on Stack overflow yesterday,
> and
> >> I thought I have posted the details here.
> >> Sorry and the problem is solved as I used QuerySolution in while loop.
> >>
> >> Thank you
> >>
> >> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org>
> wrote:
> >>
> >>> Once again you have failed to provide a minimal complete example. This
> >>> means the minimal code needed to reproduce the problem and any extra
> >>> resources needed e.g. your data. Complete means that your code should
> be
> >>> able to be copied and pasted and run.
> >>>
> >>> http://stackoverflow.com/help/mcve
> >>>
> >>> Note you haven’t actually told us what the problem is i.e. What is the
> >>> specific error message you got. It gets an exception is not a problem
> >>> statement!
> >>>
> >>> We have been telling you this for weeks, if you are not actually going
> >>> to make an effort then people are going to stop trying to help you
> >>>
> >>> Rob
> >>>
> >>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
> >>>
> >>> *The following query works * :
> >>>
> >>> "SELECT ?student ?highScore " +
> >>>
> >>> " WHERE {" + " {"+ "select (max(?score) as
> >>> ?highScore)"
> >>> + " { ?student dd:Englishscore ?score" +
> >>> " }" +
> >>> " } " +
> >>> "?student dd:Englishscore ?highScore" +
> >>>
> >>>
> >>> "}";
> >>>
> >>> Query query2 = QueryFactory.create(queryString2);
> >>> QueryExecution qexec = QueryExecutionFactory.create(query2,
> model2) ;
> >>> ResultSet results2 = qexec.execSelect() ;
> >>>
> >>> Literal r= results2.next().get("highScore").asLiteral();
> >>> String ss= r.getLexicalForm();
> >>> JOptionPane.showMessageDialog(null,"High score of Physics
> is"+s +
> >>> "by
> >>> Student");
> >>>
> >>> This query now works but when I include also the student name, it
> >>> gives me
> >>> exception again.
> >>>
> >>> * Resource r2= results2.next().get("student").asResource();*
> >>> * String s=r2.toString();*
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> --
> Lorenz Bühmann
> AKSW group, University of Leipzig
> Group: http://aksw.org - semantic web research center
>
>
>
Re: SPARQL query exception
Posted by "Lorenz B." <bu...@informatik.uni-leipzig.de>.
I tried to help you on StackOverflow, but no response from your side and
you posted something that can't compile in Java.
Moreover, and that's a really sad point, you posted a different query
there, without the Mathscore triple patterns...
Off-topic: It would be good if you close the question there if you found
the solution, that's one of the expected behaviors on a platform like
StackOverflow.
More comments, your query asks for the top English score - your message
tells the user that it's the top Physics score...
And the exception is quite obvious, you called next() twice on a
resultset which might only return one student with the highest score.
> Hello, this is the query. How can we add high score of another subject like
> Mathsscore, I simply add Mathscore after Englishscore, but not working
>
> "SELECT * +
>
> " WHERE {" + " {"+ "select (max(?score) as ?highScore)"
> + " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
> ?score2"
> " }" +
> " } " +
> "?student dd:Englishscore ?highScore" + " ?student2
> dd:Mathsscore ?score2"
>
>
> "}";
>
> On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com> wrote:
>
>> I am sorry Rob, I have posted this issue on Stack overflow yesterday, and
>> I thought I have posted the details here.
>> Sorry and the problem is solved as I used QuerySolution in while loop.
>>
>> Thank you
>>
>> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>>
>>> Once again you have failed to provide a minimal complete example. This
>>> means the minimal code needed to reproduce the problem and any extra
>>> resources needed e.g. your data. Complete means that your code should be
>>> able to be copied and pasted and run.
>>>
>>> http://stackoverflow.com/help/mcve
>>>
>>> Note you haven’t actually told us what the problem is i.e. What is the
>>> specific error message you got. It gets an exception is not a problem
>>> statement!
>>>
>>> We have been telling you this for weeks, if you are not actually going
>>> to make an effort then people are going to stop trying to help you
>>>
>>> Rob
>>>
>>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>>>
>>> *The following query works * :
>>>
>>> "SELECT ?student ?highScore " +
>>>
>>> " WHERE {" + " {"+ "select (max(?score) as
>>> ?highScore)"
>>> + " { ?student dd:Englishscore ?score" +
>>> " }" +
>>> " } " +
>>> "?student dd:Englishscore ?highScore" +
>>>
>>>
>>> "}";
>>>
>>> Query query2 = QueryFactory.create(queryString2);
>>> QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
>>> ResultSet results2 = qexec.execSelect() ;
>>>
>>> Literal r= results2.next().get("highScore").asLiteral();
>>> String ss= r.getLexicalForm();
>>> JOptionPane.showMessageDialog(null,"High score of Physics is"+s +
>>> "by
>>> Student");
>>>
>>> This query now works but when I include also the student name, it
>>> gives me
>>> exception again.
>>>
>>> * Resource r2= results2.next().get("student").asResource();*
>>> * String s=r2.toString();*
>>>
>>>
>>>
>>>
>>>
>>>
--
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center
Re: SPARQL query exception
Posted by javed khan <ja...@gmail.com>.
Hello, this is the query. How can we add high score of another subject like
Mathsscore, I simply add Mathscore after Englishscore, but not working
"SELECT * +
" WHERE {" + " {"+ "select (max(?score) as ?highScore)"
+ " { ?student dd:Englishscore ?score" + " ?student2 dd:Mathsscore
?score2"
" }" +
" } " +
"?student dd:Englishscore ?highScore" + " ?student2
dd:Mathsscore ?score2"
"}";
On Thu, Jan 26, 2017 at 6:13 PM, javed khan <ja...@gmail.com> wrote:
> I am sorry Rob, I have posted this issue on Stack overflow yesterday, and
> I thought I have posted the details here.
> Sorry and the problem is solved as I used QuerySolution in while loop.
>
> Thank you
>
> On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>
>> Once again you have failed to provide a minimal complete example. This
>> means the minimal code needed to reproduce the problem and any extra
>> resources needed e.g. your data. Complete means that your code should be
>> able to be copied and pasted and run.
>>
>> http://stackoverflow.com/help/mcve
>>
>> Note you haven’t actually told us what the problem is i.e. What is the
>> specific error message you got. It gets an exception is not a problem
>> statement!
>>
>> We have been telling you this for weeks, if you are not actually going
>> to make an effort then people are going to stop trying to help you
>>
>> Rob
>>
>> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>>
>> *The following query works * :
>>
>> "SELECT ?student ?highScore " +
>>
>> " WHERE {" + " {"+ "select (max(?score) as
>> ?highScore)"
>> + " { ?student dd:Englishscore ?score" +
>> " }" +
>> " } " +
>> "?student dd:Englishscore ?highScore" +
>>
>>
>> "}";
>>
>> Query query2 = QueryFactory.create(queryString2);
>> QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
>> ResultSet results2 = qexec.execSelect() ;
>>
>> Literal r= results2.next().get("highScore").asLiteral();
>> String ss= r.getLexicalForm();
>> JOptionPane.showMessageDialog(null,"High score of Physics is"+s +
>> "by
>> Student");
>>
>> This query now works but when I include also the student name, it
>> gives me
>> exception again.
>>
>> * Resource r2= results2.next().get("student").asResource();*
>> * String s=r2.toString();*
>>
>>
>>
>>
>>
>>
>
Re: SPARQL query exception
Posted by javed khan <ja...@gmail.com>.
I am sorry Rob, I have posted this issue on Stack overflow yesterday, and I
thought I have posted the details here.
Sorry and the problem is solved as I used QuerySolution in while loop.
Thank you
On Thu, Jan 26, 2017 at 5:12 PM, Rob Vesse <rv...@dotnetrdf.org> wrote:
> Once again you have failed to provide a minimal complete example. This
> means the minimal code needed to reproduce the problem and any extra
> resources needed e.g. your data. Complete means that your code should be
> able to be copied and pasted and run.
>
> http://stackoverflow.com/help/mcve
>
> Note you haven’t actually told us what the problem is i.e. What is the
> specific error message you got. It gets an exception is not a problem
> statement!
>
> We have been telling you this for weeks, if you are not actually going to
> make an effort then people are going to stop trying to help you
>
> Rob
>
> On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
>
> *The following query works * :
>
> "SELECT ?student ?highScore " +
>
> " WHERE {" + " {"+ "select (max(?score) as
> ?highScore)"
> + " { ?student dd:Englishscore ?score" +
> " }" +
> " } " +
> "?student dd:Englishscore ?highScore" +
>
>
> "}";
>
> Query query2 = QueryFactory.create(queryString2);
> QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
> ResultSet results2 = qexec.execSelect() ;
>
> Literal r= results2.next().get("highScore").asLiteral();
> String ss= r.getLexicalForm();
> JOptionPane.showMessageDialog(null,"High score of Physics is"+s +
> "by
> Student");
>
> This query now works but when I include also the student name, it
> gives me
> exception again.
>
> * Resource r2= results2.next().get("student").asResource();*
> * String s=r2.toString();*
>
>
>
>
>
>
Re: SPARQL query exception
Posted by Rob Vesse <rv...@dotnetrdf.org>.
Once again you have failed to provide a minimal complete example. This means the minimal code needed to reproduce the problem and any extra resources needed e.g. your data. Complete means that your code should be able to be copied and pasted and run.
http://stackoverflow.com/help/mcve
Note you haven’t actually told us what the problem is i.e. What is the specific error message you got. It gets an exception is not a problem statement!
We have been telling you this for weeks, if you are not actually going to make an effort then people are going to stop trying to help you
Rob
On 26/01/2017 13:06, "javed khan" <ja...@gmail.com> wrote:
*The following query works * :
"SELECT ?student ?highScore " +
" WHERE {" + " {"+ "select (max(?score) as ?highScore)"
+ " { ?student dd:Englishscore ?score" +
" }" +
" } " +
"?student dd:Englishscore ?highScore" +
"}";
Query query2 = QueryFactory.create(queryString2);
QueryExecution qexec = QueryExecutionFactory.create(query2, model2) ;
ResultSet results2 = qexec.execSelect() ;
Literal r= results2.next().get("highScore").asLiteral();
String ss= r.getLexicalForm();
JOptionPane.showMessageDialog(null,"High score of Physics is"+s + "by
Student");
This query now works but when I include also the student name, it gives me
exception again.
* Resource r2= results2.next().get("student").asResource();*
* String s=r2.toString();*