Thank you for your response, Rob Vesse. I found what my error was caused.
Thanks once again. -----Original Message----- From: Rob Vesse [mailto:[email protected]] Sent: Thursday, November 06, 2014 8:01 PM To: [email protected] Subject: Re: Problem SPARQL query encoding How are you compiling and running the code? If you are using Maven be aware that the compiler plugin defaults to compiling with the platform specific character set and not UTF-8 unless explicitly configured e.g. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> Add the above to the <build>/<plugins> section of your POM or edit the existing definition as appropriate. Note that if this is the case you should be seeing a Warning from Maven about platform specific encoding when you build from the command line. If you are using a Maven project within Eclipse via m2e then this warning might not be visible anywhere obvious Rob On 06/11/2014 10:27, "이명진" <[email protected]> wrote: >Thank you for your response, Andy Seaborne. > >What happened? >Did my test code work well? >But it does not still work in my computer. > >My code was developed in Eclipse. >I checked my Eclipse environment, but my Eclipse project was set UTF-8. > > >-----Original Message----- >From: Andy Seaborne [mailto:[email protected]] >Sent: Thursday, November 06, 2014 7:16 PM >To: [email protected] >Subject: Re: Problem SPARQL query encoding > >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#>\n" >>>> >>>> + "SELECT *\n" + "WHERE {\n" >>>> >>>> + " <http://ko.dbpedia.org/resource/문절망둑> >>>> 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#> >>>> >>>> >>>> >>>> SELECT * >>>> >>>> WHERE >>>> >>>> { >>>> <http://ko.dbpedia.org/resource/%EB%AC%B8%EC%A0%88%EB%A7%9D%EB%91%9 >>>> 1 >>>> > >>>> 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 >>>> >>> >>> >> > >
