results_query.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // Recupero 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);
  7. // Funzioni per eseguire le queries
  8. function prepareQueryURL(query){
  9. sparqlEndpoint = 'http://dev.restore.ovi.cnr.it:8890/sparql/';
  10. sparqlUrlParams = '?default-graph-uri=&query=' + encodeURIComponent(query) + '&output=json&callback=?';
  11. return sparqlEndpoint + sparqlUrlParams;
  12. }
  13. // Esegue una query sull'endpoint SPARQL il cui testo completo deve essere fornito nel parametro-stringa 'query'
  14. // Restituisce una lista di oggetti json nel formato di Virtuoso
  15. // Il parametro opzionale 'isUnique', se messo a 'true' controlla che ci sia un unico risultato (un array di
  16. // lunghezza 1) e se non è così restituisce un errore.
  17. async function doJsonQuery(query){
  18. queryURL = prepareQueryURL(query);
  19. response = await $.ajax({//OGGETTO
  20. url: queryURL,
  21. dataType: "json",
  22. success: function (data){},
  23. error: function (e) {
  24. console.log("Exception in query:", e);
  25. }
  26. });
  27. let out = [];
  28. let bin = response['results']['bindings'];
  29. for (var i=0; i<bin.length; i++) {
  30. out.push(bin[i]);
  31. }
  32. return out;
  33. }
  34. ////////////////////
  35. // TESTI DELLE QUERY
  36. ////////////////////
  37. prefixes = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \
  38. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \
  39. PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/> \
  40. PREFIX dat: <http://datini.archiviodistato.prato.it/la-ricerca/scheda/> \
  41. PREFIX mpp: <http://palazzopretorio.comune.prato.it/it/le-opere/alcuni-capolavori/> \
  42. PREFIX aut: <http://palazzopretorio.comune.prato.it/it/opere/autori/>"
  43. queryLettere = prefixes + " SELECT DISTINCT ?uri_document ?document ?time_span_from ?time_span_to ?uri_place_from ?place_from ?uri_place_to ?place_to \
  44. { \
  45. ?event_from rdfs:subClassOf ?event ; \
  46. rdf:type crm:EL2_Send_Letter . \
  47. ?event_to rdfs:subClassOf ?event ; \
  48. rdf:type crm:EL3_Receive_Letter . \
  49. \
  50. ?event_from crm:P01_has_domain ?pc_from . \
  51. ?pc_from crm:P02_has_range <http://www.archiviodistato.prato.it/accedi-e-consulta/aspoMV001/scheda/IT-ASPO-AU00003-0000806> . \
  52. OPTIONAL {?event_from crm:P4_has_time-span ?uri_time_span_from . \
  53. ?uri_time_span_from rdfs:label ?time_span_from} \
  54. OPTIONAL {?event_from crm:P27_moved_from ?aspo_place_from . \
  55. ?aspo_place_from owl:sameAs ?uri_place_from . \
  56. ?uri_place_from rdfs:label ?place_from ; \
  57. crm:P168_place_is_defined_by ?coords_from} \
  58. \
  59. ?event_to crm:P01_has_domain ?pc_to . \
  60. ?pc_to crm:P02_has_range <http://www.archiviodistato.prato.it/accedi-e-consulta/aspoMV001/scheda/IT-ASPO-AU00003-0001817> . \
  61. OPTIONAL {?event_to crm:P4_has_time-span ?uri_time_span_to . \
  62. ?uri_time_span_to rdfs:label ?time_span_to} \
  63. OPTIONAL {?event_to crm:P26_moved_to ?aspo_place_to . \
  64. ?aspo_place_to owl:sameAs ?uri_place_to . \
  65. ?uri_place_to rdfs:label ?place_to ; \
  66. crm:P168_place_is_defined_by ?coords_to} \
  67. \
  68. ?uri_document crm:P25i_moved_by ?event ; \
  69. rdfs:label ?document . \
  70. }"