public String getHotelHTML(double latitudine, double longitudine, double prec) {
    logger.info(
        "RicercaHotel HTML "
            + "richiesta per lat:"
            + latitudine
            + " long:"
            + longitudine
            + " precisione: "
            + prec);

    String query =
        "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>\n"
            + "PREFIX schema: <http://schema.org/>\n"
            + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"
            + "\n"
            + "SELECT DISTINCT ?h ?name ?category ?lat ?long ?comment ?phone ?loc ?via ?sito ?mail\n"
            + "FROM <http://data.fusepool.info:8181/ldp/trentino-point-of-interest-ttl>\n"
            + "WHERE {\n"
            + "  VALUES ?category{\n"
            + "    \"Bed & Breakfast\"\n"
            + " 	\"Hotel\"\n"
            + "        }\n"
            + "  ?h schema:category ?category;\n"
            + " 		rdfs:label  ?name;\n"
            + " 		geo:lat ?lat;\n"
            + " 		geo:long ?long.\n"
            + "	OPTIONAL{ ?h rdfs:comment ?comment.\n"
            + "               FILTER LANGMATCHES(LANG(?comment),  \"IT\")}\n"
            + "  OPTIONAL { ?h  foaf:homepage ?sito. }\n"
            + "  OPTIONAL { ?h  foaf:mbox ?mail. }\n"
            + "  OPTIONAL { ?h foaf:phone ?phone. }\n"
            + "  OPTIONAL { ?h  schema:streetAddress ?address .\n"
            + "             ?address  schema:addressLocality ?loc;\n"
            + "                       schema:streetAddress ?via.\n"
            + "           }\n"
            + "FILTER (?lat >= \""
            + (latitudine - prec)
            + "\"^^xsd:double && ?lat <= \""
            + (latitudine + prec)
            + "\"^^xsd:double && ?long >= \""
            + (longitudine - prec)
            + "\"^^xsd:double && ?long <= \""
            + (longitudine + prec)
            + "\"^^xsd:double)\n"
            + "  }";

    Sparql sp = new Sparql(query, endpoint);
    logger.info(
        "RicercaHotel HTML "
            + "richiesta per lat:"
            + latitudine
            + " long:"
            + longitudine
            + " precisione: "
            + prec
            + "FINITO");
    return sp.returnHTML();
  } // fine getHotelHTML()
  public String getRistorantiHTML(double latitudine, double longitudine, double prec) {
    logger.info(
        "RicercaRistoranti HTML "
            + "richiesta per lat:"
            + latitudine
            + " long:"
            + longitudine
            + " precisione: "
            + prec);

    String query =
        "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n"
            + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
            + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
            + "PREFIX schema: <http://schema.org/>\n"
            + "\n"
            + "SELECT ?name ?locality ?street ?locality ?lat ?long \n"
            + "FROM <http://data.fusepool.info:8181/ldp/trentino-restaurants-1/osterie-csv-csv-transformed-1>\n"
            + "{\n"
            + "  ?restaurant a schema:Restaurant ;  \n"
            + "         schema:name ?name ;\n"
            + "         schema:address ?address ;\n"
            + "         schema:geo ?geo .\n"
            + " \n"
            + "  ?geo a schema:GeoCoordinates ;\n"
            + "         schema:latitude ?lat ;\n"
            + "         schema:longitude ?long .\n"
            + " \n"
            + "  ?address a schema:PostalAddress ;\n"
            + "         schema:streetAddress ?street ;\n"
            + "         schema:addressLocality ?locality .\n"
            + " \n"
            + "FILTER (?lat >= \""
            + (latitudine - prec)
            + "\"^^xsd:double && ?lat <= \""
            + (latitudine + prec)
            + "\"^^xsd:double && ?long >= \""
            + (longitudine - prec)
            + "\"^^xsd:double && ?long <= \""
            + (longitudine + prec)
            + "\"^^xsd:double)\n"
            + "} ORDER BY ?lat";

    Sparql sp = new Sparql(query, endpoint);
    logger.info(
        "RicercaRistoranti HTML "
            + "richiesta per lat:"
            + latitudine
            + " long:"
            + longitudine
            + " precisione: "
            + prec
            + " FINITO");
    return sp.returnHTML();
  } // fine getRistorantiHTML
 public String getLuoghiInteresseHTML(double latitudine, double longitudine, double prec) {
   logger.info(
       "RicercaLuoghi HTML "
           + "richiesta per lat:"
           + latitudine
           + " long:"
           + longitudine
           + " precisione: "
           + prec);
   String query =
       "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>\n"
           + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
           + "PREFIX schema: <http://schema.org/>\n"
           + "PREFIX dct: <http://purl.org/dc/terms/>\n"
           + "\n"
           + "SELECT DISTINCT ?label ?lat ?long ?description\n"
           + "FROM <http://data.fusepool.info:8181/ldp/trentino-architectural-cultural-heritage-enriched-ttl>\n"
           + "WHERE {\n"
           + "  ?building a schema:TouristAttraction ;\n"
           + "              rdfs:label ?label;\n"
           + "              dct:description ?description; \n"
           + "              geo:lat ?lat ;\n"
           + "              geo:long ?long .\n"
           + "              \n"
           + "  FILTER (?lat >= \""
           + (latitudine - prec)
           + "\"^^xsd:double && ?lat <= \""
           + (latitudine + prec)
           + "\"^^xsd:double && ?long >= \""
           + (longitudine - prec)
           + "\"^^xsd:double && ?long <= \""
           + (longitudine + prec)
           + "\"^^xsd:double)\n"
           + "  FILTER (!sameTerm(\"CASA\", ?description))"
           + "}";
   Sparql sp = new Sparql(query, endpoint);
   logger.info(
       "RicercaLuoghi HTML "
           + "richiesta per lat:"
           + latitudine
           + " long:"
           + longitudine
           + " precisione: "
           + prec
           + "RISPOSTO");
   return sp.returnHTML();
 }
  public String getInfoPersonaggioHTML(String URI) {
    logger.info("InfoPersonaggioHTML" + "richiesto:" + URI);

    String queryPersonaggio =
        "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
            + "PREFIX schema: <http://schema.org/>\n"
            + "PREFIX dbo: <http://www.dbpedia.org/ontology/>\n"
            + "PREFIX fam: <http://vocab.fusepool.info/fam#>\n"
            + "\n"
            + "SELECT ?name ?title ?birthPlace ?deathPlace ?sameAs ?description ?reference \n"
            + "FROM <http://data.fusepool.info:8181/ldp/historical-characters/personaggi_storici_trentino-refine-csv-csv-transformed>\n"
            + "WHERE {\n"
            + "<"
            + URI
            + "> schema:name ?name."
            + "OPTIONAL { <"
            + URI
            + "> schema:jobTitle ?title }"
            + "OPTIONAL { <"
            + URI
            + "> schema:birthPlace ?birthPlace }"
            + "OPTIONAL { <"
            + URI
            + "> schema:deathPlace ?deathPlace }"
            + "OPTIONAL { <"
            + URI
            + "> schema:sameAs ?sameAs }"
            + "OPTIONAL { <"
            + URI
            + "> schema:description ?description }"
            + "OPTIONAL { <"
            + URI
            + "> fam:entity-reference ?reference }"
            + "}";
    Sparql sp = new Sparql(queryPersonaggio, endpoint);

    logger.info("Restituito InfoPersonaggio HTML");
    return sp.returnHTML();
  }
 public String getPersonaggiStoriciHTML() {
   logger.info("ListaPersonaggi HTML");
   String res = "";
   Sparql sp = new Sparql(queryPersonaggiStorici, endpoint);
   return sp.returnHTML();
 }