Forráskód Böngészése

New features on object

Alessia 1 éve
szülő
commit
4dd37cff79
2 módosított fájl, 207 hozzáadás és 37 törlés
  1. 185 35
      js/object.js
  2. 22 2
      object.html

+ 185 - 35
js/object.js

@@ -144,6 +144,38 @@ crm:P2_has_type ?person_type . \
 } \
 }"
 
+queryContrassegni = prefixes + " SELECT DISTINCT ?uri_contrassegno ?contrassegno \
+WHERE {VALUES ?uri {<" + thisUrlParams.link + ">} \
+?uri crm:P46_is_composed_of ?uri_paper . \
+?uri_documentation crm:P141_assigned ?uri_paper ; \
+crm:P140_assigned_attribute_to ?uri_contrassegno . \
+?uri_contrassegno rdfs:label ?contrassegno . \
+}"
+
+queryEventiGettatelli = prefixes + " SELECT DISTINCT ?uri_obj ?object ?name_event ?event_type ?uri_person ?label ?role ?time_span ?uri_place ?place \
+WHERE {VALUES ?uri {<" + thisUrlParams.link + ">} \
+?uri crm:P46_is_composed_of ?uri_paper . \
+{?uri_paper crm:P128_carries ?uri_doc } \
+UNION \
+{?uri crm:P128_carries ?uri_doc } \
+?uri_doc crm:P70_documents ?event ; \
+rdfs:label ?document . \
+?uri_obj crm:P128_carries ?uri_doc . \
+?uri_doc rdfs:label ?object . \
+?event rdfs:label ?name_event . \
+?event crm:P2_has_type ?uri_event_type . \
+?uri_event_type rdfs:label ?event_type . \
+?event crm:P01_has_domain ?domain . \
+?domain crm:P02_has_range ?uri_person ; \
+crm:P14.1_in_the_role_of ?uri_role . \
+?uri_role rdfs:label ?role . \
+?uri_person rdfs:label ?label . \
+OPTIONAL {?event crm:P4_has_time-span ?uri_time_span . \
+?uri_time_span rdfs:label ?time_span . } \
+OPTIONAL {?event crm:P7_took_place_at ?uri_place . \
+?uri_place rdfs:label ?place . } \
+}"
+
 queryURL = prepareQueryURL(queryInfo);
 
 queryINF = prepareQueryURL(queryContent);
@@ -154,6 +186,10 @@ queryPERS = prepareQueryURL(queryPersone);
 
 queryDOC = prepareQueryURL(queryAssocDocs);
 
+queryCON = prepareQueryURL(queryContrassegni);
+
+queryEV = prepareQueryURL(queryEventiGettatelli);
+
 
 response = $.ajax({
 
@@ -195,12 +231,22 @@ response_people = $.ajax({
   error: function (e) {}
 });
 
-response_documents = $.ajax({
+response_contrassegni = $.ajax({
 
-  url: queryDOC,
+  url: queryCON,
   dataType: "json",
   success: function (data){
-    handle_associatedDocuments(data);
+    handle_contrassegni(data);
+  },
+  error: function (e) {}
+});
+
+response_eventi = $.ajax({
+
+  url: queryEV,
+  dataType: "json",
+  success: function (data){
+    handle_eventiGettatelli(data);
   },
   error: function (e) {}
 });
@@ -518,7 +564,58 @@ function handle_associatedDocuments(json) {
       document.getElementById(par).innerHTML = Colums;
   }
 
-} */
+} 
+
+function handle_associatedDocuments(json) {
+
+  console.log(json);
+
+  const docs = [];
+
+  $.each(
+      json['results']['bindings'],
+      function (index, value) {
+        var uri = value['card']['value'];
+        var label = value['name_card']['value'];
+        var tipo = "";
+      
+        if (value.hasOwnProperty('doc_type')) {
+          tipo = value['doc_type']['value'];
+        }
+
+        docs.push([uri, label, tipo]);
+        
+      });
+
+  var Docs = "";
+
+  for (var i=0; i<docs.length; i++) {
+    var object = '<div class="col-8"><p><span id="' + docs[i][0] + '" class="title_doc object">'+ docs[i][1] + '</span>';
+    if (docs[i][2] != "") {
+      object = object + "<br />Documento: " + docs[i][2];
+    }
+    object = object + '</p></div>';
+
+    var object_button  = '<button type="button" id="' + docs[i][0] + 
+      '" class="object btn btn-default" alt="oggetto" title="' + docs[i][1] + 
+      '"><i class="fa fa-book"></i><p class="btn-text">Scheda Oggetto</p></button>';
+
+      Docs += '<div class="row res">'+ object + 
+    '<div class="col d-flex align-items-start justify-content-end">' + object_button +
+    '<button type="button" value="object" id="' + docs[i][0] + '" class="cit btn btn-default" alt="scheda" title="Info"><i class="fa fa-quote-right"></i><p class="btn-text">Citazione</p></button>' +
+    '<button type="button" value="object" id="' + docs[i][0] + '" class="hyp btn btn-default" alt="scheda" title="Info"><i class="fa fa-link"></i><p class="btn-text">Hyperlink</p></button>' +
+    '<a href="http://dev.restore.ovi.cnr.it/lodlive/?' + docs[i][0] + '" target="_blank"><button type="button" class="btn btn-default info" alt="LOD"><i class="fa fa-share-alt"></i><p class="btn-text">Lod</p></button></a></div></div>';
+  }
+
+  document.getElementById("n_sec").innerHTML = docs.length;
+  document.getElementById("section_documents").innerHTML = Docs;
+
+  if (docs.length==0) {
+    var messaggio = "<p class='no-results'>Nessun risultato trovato</p>";
+    document.getElementById("section_documents").innerHTML = messaggio;
+  }
+  
+}*/
 
 function handle_citedPeople(json) {
 
@@ -558,12 +655,12 @@ function handle_citedPeople(json) {
 
       object = object + '</p></div>';
     
-      Person += /*INIZIO DIV*/ '<div class="row res">' + object +
+      Person +=  '<div class="row res">' + object +
       '<div class="col d-flex align-items-start justify-content-end"><button type="button" id="' + people[i][0] + '" class="persona btn btn-default" alt="persona" title="' +
       people[i][1] + '"><i class="fa fa-user"></i><p class="btn-text">Scheda Persona</p></button>' +
       '<button type="button" value="Persona" id="' + people[i][0] + '" class="cit btn btn-default" alt="scheda" title="Info"><i class="fa fa-quote-right"></i><p class="btn-text">Citazione</p></button>' +
-      /*DA QUI HYPERLINK ->*/'<button value="Persona" type="button" id="' + people[i][0] + '" class="hyp btn btn-default" alt="scheda" title="Info"><i class="fa fa-link"></i><p class="btn-text">Hyperlink</p></button>' +
-      /*DA QUI LOD ->*/'<a href="http://dev.restore.ovi.cnr.it/lodlive/?' + people[i][0] + '" target="_blank"><button type="button" class="btn btn-default info" alt="LOD"><i class="fa fa-share-alt"></i><p class="btn-text">Lod</p></button></a></div></div>';
+      '<button value="Persona" type="button" id="' + people[i][0] + '" class="hyp btn btn-default" alt="scheda" title="Info"><i class="fa fa-link"></i><p class="btn-text">Hyperlink</p></button>' +
+      '<a href="http://dev.restore.ovi.cnr.it/lodlive/?' + people[i][0] + '" target="_blank"><button type="button" class="btn btn-default info" alt="LOD"><i class="fa fa-share-alt"></i><p class="btn-text">Lod</p></button></a></div></div>';
 
       
     }
@@ -578,57 +675,110 @@ function handle_citedPeople(json) {
 
 }
 
-function handle_associatedDocuments(json) {
+function handle_contrassegni(json) {
 
   console.log(json);
 
-  const docs = [];
+  const cons = [];
 
   $.each(
       json['results']['bindings'],
       function (index, value) {
-        var uri = value['card']['value'];
-        var label = value['name_card']['value'];
-        var tipo = "";
-      
-        if (value.hasOwnProperty('doc_type')) {
-          tipo = value['doc_type']['value'];
-        }
-
-        docs.push([uri, label, tipo]);
+        var uri = value['uri_contrassegno']['value'];
+        var label = value['contrassegno']['value'];
+        
+        cons.push([uri, label]);
         
       });
 
-  var Docs = "";
+  var Marks = "";
 
-  for (var i=0; i<docs.length; i++) {
-    var object = '<div class="col-8"><p><span id="' + docs[i][0] + '" class="title_doc object">'+ docs[i][1] + '</span>';
-    if (docs[i][2] != "") {
-      object = object + "<br />Documento: " + docs[i][2];
-    }
-    object = object + '</p></div>';
-
-    var object_button  = '<button type="button" id="' + docs[i][0] + 
-      '" class="object btn btn-default" alt="oggetto" title="' + docs[i][1] + 
+  for (var i=0; i<cons.length; i++) {
+    var object = '<div class="col-8"><p><span id="' + cons[i][0] + '" class="title_doc object">'+ cons[i][1] + '</span></p></div>';
+   
+    var object_button  = '<button type="button" id="' + cons[i][0] + 
+      '" class="object btn btn-default" alt="oggetto" title="' + cons[i][1] + 
       '"><i class="fa fa-book"></i><p class="btn-text">Scheda Oggetto</p></button>';
 
-      Docs += '<div class="row res">'+ object + 
+      Marks += '<div class="row res">'+ object + 
     '<div class="col d-flex align-items-start justify-content-end">' + object_button +
-    '<button type="button" value="object" id="' + docs[i][0] + '" class="cit btn btn-default" alt="scheda" title="Info"><i class="fa fa-quote-right"></i><p class="btn-text">Citazione</p></button>' +
-    '<button type="button" value="object" id="' + docs[i][0] + '" class="hyp btn btn-default" alt="scheda" title="Info"><i class="fa fa-link"></i><p class="btn-text">Hyperlink</p></button>' +
-    '<a href="http://dev.restore.ovi.cnr.it/lodlive/?' + docs[i][0] + '" target="_blank"><button type="button" class="btn btn-default info" alt="LOD"><i class="fa fa-share-alt"></i><p class="btn-text">Lod</p></button></a></div></div>';
+    '<button type="button" value="object" id="' + cons[i][0] + '" class="cit btn btn-default" alt="scheda" title="Info"><i class="fa fa-quote-right"></i><p class="btn-text">Citazione</p></button>' +
+    '<button type="button" value="object" id="' + cons[i][0] + '" class="hyp btn btn-default" alt="scheda" title="Info"><i class="fa fa-link"></i><p class="btn-text">Hyperlink</p></button>' +
+    '<a href="http://dev.restore.ovi.cnr.it/lodlive/?' + cons[i][0] + '" target="_blank"><button type="button" class="btn btn-default info" alt="LOD"><i class="fa fa-share-alt"></i><p class="btn-text">Lod</p></button></a></div></div>';
   }
 
-  document.getElementById("n_sec").innerHTML = docs.length;
-  document.getElementById("section_documents").innerHTML = Docs;
+  document.getElementById("n_sec").innerHTML = cons.length;
+  document.getElementById("section_documents").innerHTML = Marks;
 
-  if (docs.length==0) {
+  if (cons.length==0) {
     var messaggio = "<p class='no-results'>Nessun risultato trovato</p>";
     document.getElementById("section_documents").innerHTML = messaggio;
   }
   
 }
 
+function handle_eventiGettatelli(json) {
+
+  console.log(json);
+
+  const evGett = [];
+
+  $.each(
+      json['results']['bindings'],
+      function (index, value) {
+        var uri = value['uri_obj']['value'];
+        var label = value['object']['value'];
+        var name_event = value['name_event']['value'];
+        var event_type = value['event_type']['value'];
+        var uri_person = value['uri_person']['value'];
+        var person = value['label']['value'];
+        var role = value['role']['value'];
+        var time_span = "";
+        var uri_place = "";
+        var place = "";
+
+        if (value.hasOwnProperty('time_span')) {
+          time_span = value['time_span']['value'];
+        }
+        if (value.hasOwnProperty('uri_place')) {
+          uri_place = value['uri_place']['value'];
+        }
+        if (value.hasOwnProperty('place')) {
+          place = value['place']['value'];
+        } 
+        
+        evGett.push([name_event, uri_person, person, role, time_span, uri_place, place]);
+        
+      });
+
+      var thead = '<div id="ev_thead" class="row">' +
+      '<div class="col-4">Evento registrato</div>' +
+      '<div class="col-2">Persona</div>' +
+      '<div class="col-2">Ruolo</div>' +
+      '<div class="col-2">Data</div>' +
+      '<div class="col-2">Luogo</div>' +
+      '</div>';
+    
+      var EventsTable = thead;
+    
+      for (var i=0; i<evGett.length; i++) {
+        EventsTable += '<div class="row">' +
+        '<div class="col-4">' + evGett[i][0] + '</div>' +
+        '<div id="' + evGett[i][1] + '" class="col-2 luogo">' + evGett[i][2] + '</div>' +
+        '<div class="col-2">' + evGett[i][3] + '</div>' +
+        '<div class="col-2">' + evGett[i][4] + '</div>' +
+        '<div id="' + evGett[i][5] + '" class="col-2 luogo">' + evGett[i][6] + '</div>' +
+        '</div>';
+      }
+    
+      if (events.length != 0) {
+        document.getElementById("section_events").innerHTML = EventsTable;
+      } else {
+        document.getElementById("section_events").innerHTML = "Nessun evento trovato";
+      }
+  
+}
+
 function createDivRelazione(type, id){
 	htmlCode = '\
       <div class="row mb-2"> \

+ 22 - 2
object.html

@@ -175,7 +175,7 @@
 
 										<div class="row mb-2" id="materia" style="display:none;">
 											<div class="col-sm-4">
-												<span class="label">Materiale:</span>
+												<span class="label">Supporto:</span>
 											</div>
 											<div class="col" id="materials"></div>
 										</div>
@@ -276,7 +276,7 @@
                                           
 											<div class="row def_res">
 												<div class="col">
-													<b>Sezioni documentate <span id="nome_au" class="PN"></span></b>
+													<b>Oggetti collegati <span id="nome_au" class="PN"></span></b>
 												</div>
 												<div class="col num_res">
 													<span><span id="n_sec"></span> risultati</span>
@@ -287,6 +287,26 @@
 											</div>
 										</div>
 									</div>
+
+									<div class="box_results col-12" id="events">
+										<div class="inner_results container-fluid">
+                                          
+                                          	<!-- Scheda -->
+											<div id="myTab" class="tab"></div>
+                                          
+											<div class="row def_res">
+												<div class="col">
+													<b>Eventi registrati <span id="nome_au" class="PN"></span></b>
+												</div>
+												<div class="col num_res">
+													<span><span id="n_ev"></span> risultati</span>
+												</div>
+											</div>
+											<div class="row res_list">
+												<div class="container-fluid" id="section_events"></div>
+											</div>
+										</div>
+									</div>
 									
 								</div>
 							</div>