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    }