Hi, 

Sorry but in my last mail I gave a wrong information. The command works well. 
BTW, I also cut-paste the code and worked fine (NetBeans IDE) and I didn’t 
realize that the problem could be about charset. 

Miguel

> On 06 Nov 2014, at 10:15, Andy Seaborne <[email protected]> wrote:
> 
> Hi there,
> 
> I tried you test code from your second message here and it worked for me, 
> getting 9 results.
> 
> Your first email was in
> 
> Content-Type: text/plain; charset="ks_c_5601-1987"
> 
> and displayed correctly so it is wrong for unicode.  I switched to unicode 
> display and it was wrong.
> 
> Your second email was
> 
> Content-Type: text/plain; charset="UTF-8"
> 
> SPARQL is unicode (UTF-8 specifically).  Miguel's email was UTF-8.
> 
> 
> Just to confuse things, when I cut&paste into Eclipse from your 
> charset="ks_c_5601-1987" email, it does get converted to unicode.
> 
> My guess is that the environment you wrote the example in is set to be a 
> charset other than unicode.
> 
> What environment are you writing your code in?
> 
>       Andy
> 
> 
> On 06/11/14 09:40, Miguel Bento Alves wrote:
>> Hi,
>> 
>> you only can get the variables that are in Select clause. Try this and will 
>> work:
>> 
>> ….
>> String allSameAsQuery = ""
>>                      + "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"
>>                      + "SELECT ?x\n" + "WHERE {\n"
>>                      + "  <http://ko.dbpedia.org/resource/문절망둑> owl:sameAs 
>> ?x .\n" + "}";
>> ….
>> 
>> "SELECT ?x” instead of "SELECT *”
>> 
>> Miguel
>> 
>> 
>>> On 06 Nov 2014, at 09:29, 이명진 <[email protected]> wrote:
>>> 
>>> Thank you for your response.
>>> 
>>> My question is that my test code does not work if SPARQL query has Korean 
>>> characters because query string is encoded.
>>> My test code is:
>>> 
>>>             String dbpediKoEndpoint = "http://ko.dbpedia.org/sparql";;
>>>             String allSameAsQuery = ""
>>>                     + "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"
>>>                     + "SELECT *\n" + "WHERE {\n"
>>>                     + "  <http://ko.dbpedia.org/resource/문절망둑> owl:sameAs 
>>> ?x .\n" + "}";
>>>             Query query = QueryFactory.create(allSameAsQuery);
>>>             QueryEngineHTTP httpQuery = new 
>>> QueryEngineHTTP(dbpediKoEndpoint, query);
>>>             ResultSet results = httpQuery.execSelect();
>>>             while (results.hasNext()) {
>>>                     QuerySolution solution = results.next();
>>>                     String species = solution.getResource("?x").getURI();
>>>                     System.out.println(species);
>>>             }
>>> 
>>> If you input SPARQL query like below on http://ko.dbpedia.org/sparql, you 
>>> can get 9 resources.
>>> 
>>> PREFIX  owl:  <http://www.w3.org/2002/07/owl#>
>>> 
>>> SELECT  *
>>> WHERE
>>>  { <http://ko.dbpedia.org/resource/문절망둑> owl:sameAs ?x }
>>> 
>>> This query is the same as SPARQL query in my test code.
>>> Thank you.
>>> 
>>> Sincerely yours,
>>> Dr. Myungjin Lee
>>> 
>>> 
>>> -----Original Message-----
>>> From: Miguel Bento Alves [mailto:[email protected]]
>>> Sent: Thursday, November 06, 2014 5:24 PM
>>> To: [email protected]
>>> Subject: Re: Problem SPARQL query encoding
>>> 
>>> Hi Myunjin,
>>> 
>>> what you did is not enough. You need to create a QueryExecution and create 
>>> a ResultSet to have a cursor pointing to the results.
>>> See the example below.
>>> 
>>> Miguel
>>> 
>>> 
>>>     String service = "http://dbpedia.org/sparql";;
>>>        String query = "select distinct ?Concept where {[] a ?Concept} LIMIT 
>>> 100";
>>>        QueryExecution qe
>>>                = QueryExecutionFactory.sparqlService(service, query);
>>> 
>>>        ResultSet rs = qe.execSelect();
>>> 
>>>        while(rs.hasNext()) {
>>>            QuerySolution qs = rs.next();
>>>            System.out.println("Concept -> "+qs.get("Concept").toString());
>>>        }
>>> 
>>>> On 06 Nov 2014, at 07:13, 이명진 <[email protected]> wrote:
>>>> 
>>>> Hello. My name is Myunjin Lee.
>>>> 
>>>> I am testing simple SPARQL query from Korean DBpedia SPARQL
>>>> endpoint(http://ko.dbpedia.org/sparql) using Jena.
>>>> 
>>>> For that, I implemented simple test code, but I had URI encoding
>>>> problem of SPARQL query that has Korean character.
>>>> 
>>>> 
>>>> 
>>>> My simple query is:
>>>> 
>>>> 
>>>> 
>>>>       String allSameAsQuery = ""Myunjin
>>>> 
>>>>                      + "PREFIX owl: <http://www.w3.org/2002/07/owl# 
>>>> <http://www.w3.org/2002/07/owl#>>\n"
>>>> 
>>>>                      + "SELECT *\n" + "WHERE {\n"
>>>> 
>>>>                      + "  <http://ko.dbpedia.org/resource/문절망둑 
>>>> <http://ko.dbpedia.org/resource/%EB%AC%B8%EC%A0%88%EB%A7%9D%EB%91%91>>
>>>> owl:sameAs ?x .\n" + "}";
>>>> 
>>>> 
>>>> 
>>>> And then, to process query, I construct Query object.
>>>> 
>>>> 
>>>> 
>>>> Query query = QueryFactory.create(allSameAsQuery);
>>>> 
>>>> System.out.println(query.toString());
>>>> 
>>>> 
>>>> 
>>>> Problem is that the query string is encoded when I make a Query object.
>>>> Print out result is:
>>>> 
>>>> 
>>>> 
>>>> PREFIX  owl:  <http://www.w3.org/2002/07/owl# 
>>>> <http://www.w3.org/2002/07/owl#>>
>>>> 
>>>> 
>>>> 
>>>> SELECT  *
>>>> 
>>>> WHERE
>>>> 
>>>> {
>>>> <http://ko.dbpedia.org/resource/%EB%AC%B8%EC%A0%88%EB%A7%9D%EB%91%91 
>>>> <http://ko.dbpedia.org/resource/%EB%AC%B8%EC%A0%88%EB%A7%9D%EB%91%91>>
>>>> owl:sameAs ?x }
>>>> 
>>>> 
>>>> 
>>>> So that, I cannot get any owl:sameAs resource.
>>>> 
>>>> 
>>>> 
>>>> How can I figure out the encoding problem? Or is there any method for
>>>> my problem?
>>>> 
>>>> Thank for your help.
>>>> 
>>>> 
>>>> 
>>>> Sincerely yours,
>>>> 
>>>> Dr. Myungjin Lee

Reply via email to