001 package org.dllearner.test;
002
003 import java.util.List;
004
005 import org.dllearner.kb.sparql.SparqlEndpoint;
006 import org.dllearner.kb.sparql.SparqlQuery;
007
008 import com.hp.hpl.jena.query.ResultSet;
009 import com.hp.hpl.jena.query.ResultSetFactory;
010 import com.hp.hpl.jena.query.ResultSetFormatter;
011 import com.hp.hpl.jena.sparql.core.ResultBinding;
012
013 public class TestOneQueryForMusicRecommender {
014
015
016
017 static String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
018 "<sparql xmlns=\"http://www.w3.org/2005/sparql-results#\">"+
019 "<head> "+
020 "<variable name=\"artist\"/>"+
021 "<variable name=\"name\"/>"+
022 "<variable name=\"image\"/>"+
023 "<variable name=\"homepage\"/>"+
024 "</head>"+
025 "<results ordered=\"false\" distinct=\"false\">"+
026 "<result>"+
027 "<binding name=\"artist\">"+
028 "<uri>http://dbtune.org/jamendo/artist/6108</uri>"+
029 "</binding>"+
030 "<binding name=\"name\">"+
031 "<literal datatype=\"http://www.w3.org/2001/XMLSchema#string\">Allison Crowe</literal>"+
032 "</binding>"+
033 "<binding name=\"image\">"+
034 "<uri>http://img.jamendo.com/artists/a/allison.crowe.jpg</uri>"+
035 "</binding>"+
036 "<binding name=\"homepage\">"+
037 "<uri>http://www.allisoncrowe.com</uri>"+
038 "</binding>"+
039 "</result>"+
040 "</results>"+
041 "</sparql>";
042
043
044 public static void main(String[] args) {
045
046 String p1 = "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " +
047 "PREFIX mo: <http://purl.org/ontology/mo/> ";
048 String sparqlQueryString = p1+ "SELECT ?artist ?name ?image ?homepage WHERE {?artist a mo:MusicArtist .?artist foaf:name \"Allison Crowe\" .?artist foaf:name ?name .?artist foaf:img ?image . ?artist foaf:homepage ?homepage . }LIMIT 10";
049
050 System.out.println("SparqlQuery: ");
051 System.out.println(sparqlQueryString);
052 System.out.println("wget -S -O test.txt "+"'http://dbtune.org:2105/sparql/?query="+sparqlQueryString+"'");
053
054
055 ResultSet rs = ResultSetFactory.fromXML(xml);
056 @SuppressWarnings("unchecked")
057 List<ResultBinding> l = ResultSetFormatter.toList(rs);
058
059 for (ResultBinding binding : l) {
060 System.out.println(binding.toString());
061 }
062
063 System.out.println("Executing query");
064 rs = null;
065 //String service = "http://dbtune.org:2105/sparql/";
066 //QueryEngineHTTP queryExecution = new QueryEngineHTTP(service, sparqlQueryString);
067
068 try{
069 SparqlQuery s = new SparqlQuery(sparqlQueryString, SparqlEndpoint.getEndpointJamendo());
070 s.send();
071 //rs = queryExecution.execSelect();
072
073 //ByteArrayOutputStream baos = new ByteArrayOutputStream();
074 //ResultSetFormatter.outputAsJSON(baos, rs);
075
076
077 //System.out.println( baos.toString("UTF-8"));
078 } catch (Exception e) {
079 // should never happen as UTF-8 is supported
080 e.printStackTrace();
081
082 }
083
084
085
086
087
088
089
090
091 }
092
093
094
095
096 }