results_query.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // Raccatto i parametri dall'URL -- mi aspetto un parametro di nome 'link'!
  2. thisUrlParams = {};
  3. window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
  4. thisUrlParams[key] = value;
  5. });
  6. console.log('URL get params: ', thisUrlParams.params);
  7. var params = thisUrlParams.params;
  8. const pp = params.split(";");
  9. var tipo = pp[0];
  10. prefixes = queryManager['prefixes']['all'];
  11. if (tipo=="lemma") {
  12. var uri_lemma = pp[1];
  13. var lemma = pp[2].replace(/%20/g, " ");;
  14. queryEsplora = prefixes + (queryManager['queryRES']['queryEsploraDocumenti']).replaceAll('{URI}', uri_lemma);
  15. queryMappa = prefixes + (queryManager['queryRES']['queryEsploraMappa']).replaceAll('{LEMMA}', uri_lemma);
  16. doJsonQuery(queryEsplora).done(function(r) { handleLemma(r, lemma); });
  17. doJsonQuery(queryMappa).done(function(r) { handle_map(r); });
  18. }
  19. if (tipo=="lettera") {
  20. var uri_mittente = pp[2];
  21. var uri_destinatario = pp[4];
  22. var mittente = pp[1].replace(/%20/g, " ");
  23. var destinatario = pp[3].replace(/%20/g, " ");
  24. queryLettere = prefixes + (queryManager['queryRES']['queryExchange']).replace('{MITTENTE}', uri_mittente).replace('{DESTINATARIO}', uri_destinatario);
  25. doJsonQuery(queryLettere).done(function(r) { handle_Letters(r, mittente, destinatario); });
  26. }
  27. function prepareQueryURL(query){
  28. sparqlEndpoint = 'http://dev.restore.ovi.cnr.it:8890/sparql/';
  29. sparqlUrlParams = '?default-graph-uri=&query=' + encodeURIComponent(query) + '&output=json&callback=?';
  30. return sparqlEndpoint + sparqlUrlParams;
  31. }
  32. function doJsonQuery(query) {
  33. queryURL = prepareQueryURL(query);
  34. return $.ajax({
  35. url: queryURL,
  36. dataType: "json",
  37. type: 'GET'
  38. });
  39. }
  40. // Funzioni per raccattare + stringhificare l'output
  41. queryStringOutput = "";
  42. function stringifyResponse(val){
  43. resultArray = val['results']['bindings'];
  44. out = "";
  45. for(i = 0; i < resultArray.length; i++){
  46. out = out + JSON.stringify(resultArray[i])
  47. }
  48. queryStringOutput = (queryStringOutput + out).replace("}{",",");
  49. }
  50. ////////////////////
  51. // TESTI DELLE QUERY
  52. ////////////////////
  53. /*prefixes = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \
  54. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \
  55. PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/> \
  56. PREFIX dat: <http://datini.archiviodistato.prato.it/la-ricerca/scheda/> \
  57. PREFIX mpp: <http://palazzopretorio.comune.prato.it/it/le-opere/alcuni-capolavori/> \
  58. PREFIX aut: <http://palazzopretorio.comune.prato.it/it/opere/autori/>"
  59. queryLettere = prefixes + " SELECT DISTINCT ?uri_document ?document ?time_span_from ?time_span_to ?uri_place_from ?place_from ?uri_place_to ?place_to \
  60. { \
  61. ?event_from rdfs:subClassOf ?event ; \
  62. rdf:type crm:EL2_Send_Letter . \
  63. ?event_to rdfs:subClassOf ?event ; \
  64. rdf:type crm:EL3_Receive_Letter . \
  65. \
  66. ?event_from crm:P01_has_domain ?pc_from . \
  67. ?pc_from crm:P02_has_range <" + uri_mittente + "> . \
  68. OPTIONAL {?event_from crm:P4_has_time-span ?uri_time_span_from . \
  69. ?uri_time_span_from rdfs:label ?time_span_from} \
  70. OPTIONAL {?event_from crm:P27_moved_from ?aspo_place_from . \
  71. ?aspo_place_from owl:sameAs ?uri_place_from . \
  72. ?uri_place_from rdfs:label ?place_from ; \
  73. crm:P168_place_is_defined_by ?coords_from} \
  74. \
  75. ?event_to crm:P01_has_domain ?pc_to . \
  76. ?pc_to crm:P02_has_range <" + uri_destinatario + "> . \
  77. OPTIONAL {?event_to crm:P4_has_time-span ?uri_time_span_to . \
  78. ?uri_time_span_to rdfs:label ?time_span_to} \
  79. OPTIONAL {?event_to crm:P26_moved_to ?aspo_place_to . \
  80. ?aspo_place_to owl:sameAs ?uri_place_to . \
  81. ?uri_place_to rdfs:label ?place_to ; \
  82. crm:P168_place_is_defined_by ?coords_to} \
  83. \
  84. ?uri_document crm:P25i_moved_by ?event ; \
  85. rdfs:label ?document . \
  86. }"*/