|
@@ -5,35 +5,35 @@
|
|
|
* */
|
|
|
|
|
|
// SPARQL Query text -- 'prefixes' and 'thisUrlParams' defined in people.js;
|
|
|
-let queryNetwork = prefixes + " SELECT DISTINCT COUNT(?event) AS ?count ?uri2 SAMPLE(?label2) AS ?text \
|
|
|
+let queryNetwork = prefixes + " SELECT COUNT(?event1) AS ?count1 COUNT(?event2) AS ?count2 ?uri2 SAMPLE(?label2) AS ?text \
|
|
|
WHERE { \
|
|
|
-{?event rdf:type crm:EL1_Exchange_Letters . \
|
|
|
-?event_to rdfs:subClassOf ?event; \
|
|
|
+{?event1 rdf:type crm:EL1_Exchange_Letters . \
|
|
|
+?event_to rdfs:subClassOf ?event1; \
|
|
|
rdf:type crm:EL2_Send_Letter ; \
|
|
|
crm:P01_has_domain ?pc_to . \
|
|
|
?pc_to crm:P02_has_range ?uri . \
|
|
|
?uri rdfs:label ?label . \
|
|
|
-?event_from rdfs:subClassOf ?event; \
|
|
|
+?event_from rdfs:subClassOf ?event1; \
|
|
|
rdf:type crm:EL3_Receive_Letter; \
|
|
|
crm:P01_has_domain ?pc_from . \
|
|
|
?pc_from crm:P02_has_range ?uri2 . \
|
|
|
?uri2 rdfs:label ?label2 . \
|
|
|
FILTER (?uri = <" + thisUrlParams.link + ">) \
|
|
|
} UNION { \
|
|
|
-?event rdf:type crm:EL1_Exchange_Letters . \
|
|
|
-?event_to rdfs:subClassOf ?event; \
|
|
|
+?event2 rdf:type crm:EL1_Exchange_Letters . \
|
|
|
+?event_to rdfs:subClassOf ?event2; \
|
|
|
rdf:type crm:EL3_Receive_Letter ; \
|
|
|
crm:P01_has_domain ?pc_from . \
|
|
|
?pc_from crm:P02_has_range ?uri . \
|
|
|
?uri rdfs:label ?label . \
|
|
|
-?event_from rdfs:subClassOf ?event; \
|
|
|
+?event_from rdfs:subClassOf ?event2; \
|
|
|
rdf:type crm:EL2_Send_Letter; \
|
|
|
crm:P01_has_domain ?pc_to . \
|
|
|
?pc_to crm:P02_has_range ?uri2 . \
|
|
|
?uri2 rdfs:label ?label2 . \
|
|
|
FILTER (?uri = <" + thisUrlParams.link + ">) \
|
|
|
} \
|
|
|
-} ORDER BY DESC (?count)"
|
|
|
+}"
|
|
|
|
|
|
// 'prepareQueryURL' defined in people.js
|
|
|
let queryNet = prepareQueryURL(queryNetwork);
|
|
@@ -70,14 +70,18 @@ function processQuery(json) {
|
|
|
|
|
|
$.each(
|
|
|
json['results']['bindings'],
|
|
|
- function (index, value) {
|
|
|
+ (index, value) => {
|
|
|
let text = value['text']['value'];
|
|
|
let link = value['uri2']['value'];
|
|
|
- let num = parseInt(value['count']['value']);
|
|
|
- tempArray.push({'text': text, 'count': num, 'hlink': link});
|
|
|
+ let sent = parseInt(value['count1']['value']);
|
|
|
+ let received = parseInt(value['count2']['value']);
|
|
|
+ let count = sent + received;
|
|
|
+ tempArray.push({'text': text, 'sent': sent, 'received': received, 'count': count, 'hlink': link});
|
|
|
}
|
|
|
);
|
|
|
|
|
|
+ tempArray.sort((a, b) => b.count - a.count);
|
|
|
+
|
|
|
return tempArray;
|
|
|
|
|
|
}
|
|
@@ -138,9 +142,20 @@ function doListPersonNetwork(tempArray){
|
|
|
let ArrayNames = "";
|
|
|
|
|
|
tempArray.forEach(element => {
|
|
|
- ArrayNames += "<div class='item-place-person'><div class='item-place-person-label'>" +
|
|
|
- element['text'] + "<br /><span class='num_occ'>[Co-occorrenze: " + element['count'] + "]</span></div><div class='item-place-person-action'><div class='persona' id='" +
|
|
|
- element['hlink'] + "'><i class='fa fa-user' style='cursor:pointer'></i></div></div></div></div>";
|
|
|
+ ArrayNames +=
|
|
|
+ "<div class='item-place-person'>\
|
|
|
+ <div class='item-place-person-label'>" +
|
|
|
+ element['text'] +
|
|
|
+ "<br /><span class='num_occ'>[Lettere inviate: " + element['sent'] + "]</span>\
|
|
|
+ <br /><span class='num_occ'>[Lettere ricevute: " + element['received'] + "]</span>\
|
|
|
+ <br /><span class='num_occ'>[Totale corrispondenza: " + element['count'] + "]</span>\
|
|
|
+ </div>\
|
|
|
+ <div class='item-place-person-action'>\
|
|
|
+ <div class='persona' id='" + element['hlink'] +"'>\
|
|
|
+ <i class='fa fa-user' style='cursor:pointer'></i>\
|
|
|
+ </div>\
|
|
|
+ </div>\
|
|
|
+ </div>";
|
|
|
});
|
|
|
|
|
|
document.getElementById("list_person_network").innerHTML = ArrayNames;
|
|
@@ -222,6 +237,8 @@ function draw(words, svg) {
|
|
|
.attr('font-size', 1)
|
|
|
.append("a")
|
|
|
.attr("href", word => word.hlink)
|
|
|
+ .attr("data-toggle", "tooltip")
|
|
|
+ .attr("title", word => word.size)
|
|
|
.text( word => { return word.text; });
|
|
|
|
|
|
//Entering and exiting words
|