|
@@ -1,167 +0,0 @@
|
|
|
-
|
|
|
-// Recupero i parametri dall'URL -- mi aspetto un parametro di nome 'link'!
|
|
|
-thisUrlParams = {};
|
|
|
-window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
|
|
|
- thisUrlParams[key] = value;
|
|
|
-});
|
|
|
-console.log('URL get params: ', thisUrlParams);
|
|
|
-
|
|
|
-
|
|
|
-// Funzioni per eseguire le queries
|
|
|
-
|
|
|
-function prepareQueryURL(query){
|
|
|
- sparqlEndpoint = 'http://dev.restore.ovi.cnr.it:8890/sparql/';
|
|
|
- sparqlUrlParams = '?default-graph-uri=&query=' + encodeURIComponent(query) + '&output=json&callback=?';
|
|
|
- return sparqlEndpoint + sparqlUrlParams;
|
|
|
-}
|
|
|
-
|
|
|
-// Esegue una query sull'endpoint SPARQL il cui testo completo deve essere fornito nel parametro-stringa 'query'
|
|
|
-// Restituisce una lista di oggetti json nel formato di Virtuoso
|
|
|
-// Il parametro opzionale 'isUnique', se messo a 'true' controlla che ci sia un unico risultato (un array di
|
|
|
-// lunghezza 1) e se non è così restituisce un errore.
|
|
|
-async function doJsonQuery(query, isUnique = false){
|
|
|
-
|
|
|
- queryURL = prepareQueryURL(query);
|
|
|
-
|
|
|
- response = await $.ajax({//OGGETTO
|
|
|
-
|
|
|
- url: queryURL,
|
|
|
- dataType: "json",
|
|
|
- success: function (data){},
|
|
|
- error: function (e) {
|
|
|
- console.log("Exception in query:", e);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- let out = response['results']['bindings'];
|
|
|
- if(!isUnique) return out;
|
|
|
- if(!out.length) throw "ERROR: Letter not found";
|
|
|
- if(out.length>1) throw "ERROR: ambiguity in search -- multiple letters matching search parameters";
|
|
|
- return out[0];
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-// Nuova funzione per l'NLP
|
|
|
-function loadPageNLP()
|
|
|
-{
|
|
|
- window.location="nlp.html?link=" + thisUrlParams.link;
|
|
|
-}
|
|
|
-
|
|
|
-// Nuova funzione per Button EVT
|
|
|
-function loadPageEVT()
|
|
|
-{
|
|
|
- window.location="http://restore.ovi.cnr.it/mockup/evt/index.html";
|
|
|
-}
|
|
|
-
|
|
|
-// Nuova funzione per Button LOD
|
|
|
-function loadPageLOD()
|
|
|
-{
|
|
|
- window.location="http://dev.restore.ovi.cnr.it/lodlive/?" + thisUrlParams.link;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-////////////////////
|
|
|
-// TESTI DELLE QUERY
|
|
|
-////////////////////
|
|
|
-
|
|
|
-prefixes = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \
|
|
|
-PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \
|
|
|
-PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/> \
|
|
|
-PREFIX dat: <http://datini.archiviodistato.prato.it/la-ricerca/scheda/> \
|
|
|
-PREFIX mpp: <http://palazzopretorio.comune.prato.it/it/le-opere/alcuni-capolavori/> \
|
|
|
-PREFIX aut: <http://palazzopretorio.comune.prato.it/it/opere/autori/>"
|
|
|
-
|
|
|
-query1 = prefixes + " SELECT DISTINCT ?mittente ?destinatario ?data_partenza ?data_arrivo ?luogo_partenza ?luogo_arrivo \
|
|
|
-WHERE {?subject crm:P128_carries <" + thisUrlParams.link + "> \
|
|
|
-GRAPH <http://dev.restore.ovi.cnr.it:8890/ovi/datini> {?subject crm:P25i_moved_by ?mov_ev .} \
|
|
|
-?send rdfs:subClassOf ?mov_ev ; \
|
|
|
-rdf:type crm:EL2_Send_Letter ; \
|
|
|
-crm:P4_has_time-span ?time_spanA; \
|
|
|
-crm:P27_moved_from ?placeA; \
|
|
|
-crm:P01_has_domain ?sender . \
|
|
|
-\
|
|
|
-?time_spanA rdfs:label ?data_partenza . \
|
|
|
-?placeA rdfs:label ?luogo_partenza . \
|
|
|
-?sender crm:P02_has_range ?mittente . \
|
|
|
- \
|
|
|
-?receive rdfs:subClassOf ?mov_ev; \
|
|
|
-rdf:type crm:EL3_Receive_Letter ; \
|
|
|
-crm:P4_has_time-span ?time_spanB; \
|
|
|
-crm:P26_moved_to ?placeB; \
|
|
|
-crm:P01_has_domain ?receiver . \
|
|
|
- \
|
|
|
-?time_spanB rdfs:label ?data_arrivo . \
|
|
|
-?placeB rdfs:label ?luogo_arrivo . \
|
|
|
-?receiver crm:P02_has_range ?destinatario . \
|
|
|
-}"
|
|
|
-
|
|
|
-querySegnatura = prefixes + "SELECT DISTINCT ?segnatura_OVI \
|
|
|
-WHERE {?subject crm:P128_carries <" + thisUrlParams.link + ">; \
|
|
|
-crm:P1_is_identified_by ?segnatura_ASPO . \
|
|
|
-?segnatura_ASPO crm:P139_has_alternative_form ?segnatura . \
|
|
|
-?segnatura crm:P2_has_type ?tipo_segnatura; \
|
|
|
-rdfs:label ?segnatura_OVI . \
|
|
|
-?tipo_segnatura rdfs:label \"Segnatura OVI\"}"
|
|
|
-
|
|
|
-queryAreaLinguistica = prefixes + " SELECT DISTINCT ?lingua ?area_linguistica \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P72_has_language ?language . \
|
|
|
-?language crm:P3_has_note ?area ; \
|
|
|
-rdfs:label ?lingua . \
|
|
|
-?area rdfs:label ?area_linguistica \
|
|
|
-}"
|
|
|
-
|
|
|
-
|
|
|
-queryDescrizione = prefixes + " SELECT DISTINCT ?descrizione \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P3_has_note ?description . \
|
|
|
-?description rdfs:label ?descrizione \
|
|
|
-}"
|
|
|
-
|
|
|
-queryTipo = prefixes + " SELECT DISTINCT ?tipologia \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P2_has_type ?type . \
|
|
|
-?type rdf:type crm:E55_Type; \
|
|
|
-rdfs:label ?tipologia . \
|
|
|
-}"
|
|
|
-
|
|
|
-querySiglaOVI = prefixes + " SELECT DISTINCT ?sigla_OVI \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P1_is_identified_by ?id . \
|
|
|
-?id rdf:type crm:E42_Identifier; \
|
|
|
-crm:P2_has_type ?type ; \
|
|
|
-rdfs:label ?sigla_OVI . \
|
|
|
-?type rdfs:label 'Sigla OVI'. \
|
|
|
-}"
|
|
|
-
|
|
|
-queryTitolo = prefixes + " SELECT DISTINCT ?titolo \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P1_is_identified_by ?title . \
|
|
|
-?title rdf:type crm:E35_Title; \
|
|
|
-rdfs:label ?titolo . \
|
|
|
-}"
|
|
|
-
|
|
|
-queryTestoLemmatizzato = prefixes + " SELECT DISTINCT ?testo_lemmatizzato \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P190_has_symbolic_content ?testo_lemmatizzato . \
|
|
|
-}"
|
|
|
-
|
|
|
-queryEdizione = prefixes + " SELECT DISTINCT ?edizione ?edizione_abbreviata \
|
|
|
-WHERE {?edition crm:P70_documents <" + thisUrlParams.link + "> ; \
|
|
|
-crm:P1_is_identified_by ?edition_id . \
|
|
|
-?edition_id rdfs:label ?edizione; \
|
|
|
-crm:P139_has_alternative_form ?ed_abbr . \
|
|
|
-?ed_abbr rdfs:label ?edizione_abbreviata \
|
|
|
-}"
|
|
|
-
|
|
|
-queryRaccolta = prefixes + " SELECT DISTINCT ?raccolta \
|
|
|
-WHERE {?racc crm:P148_has_component <" + thisUrlParams.link + "> ; \
|
|
|
-crm:P2_has_type ?racc_type ; \
|
|
|
-rdfs:label ?raccolta . \
|
|
|
-?racc_type rdfs:label 'Raccolta'. \
|
|
|
-}"
|
|
|
-
|
|
|
-queryToponimi = prefixes + "SELECT DISTINCT ?link_toponimo ?toponimo \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P67_refers_to ?link_toponimo . \
|
|
|
-?link_toponimo rdfs:label ?toponimo ; \
|
|
|
-crm:P2_has_type 'Toponimo' . \
|
|
|
-}"
|
|
|
-
|
|
|
-queryAntroponimi = prefixes + "SELECT DISTINCT * \
|
|
|
-WHERE {<" + thisUrlParams.link + "> crm:P67_refers_to ?link_antroponimo . \
|
|
|
-?link_antroponimo rdfs:label ?antroponimo; \
|
|
|
-crm:P2_has_type 'Antroponimo'}"
|