ソースを参照

upload new html and js files

Federica 2 年 前
コミット
a025e518e2
1 ファイル変更44 行追加4 行削除
  1. 44 4
      js/people.js

+ 44 - 4
js/people.js

@@ -69,7 +69,7 @@ crm:P168_place_is_defined_by ?coordinates . \
 } \
 }"
 
-queryInfo = prefixes + " SELECT DISTINCT ?graph ?label ?identifier ?name ?givenName ?familyName ?gender ?Birth_Date ?Birth_Place ?Death_Date ?Death_Place ?patronymic ?occupation (group_concat(distinct ?relative1 ;separator=', ') as ?relatives) ?qualification ?group \
+queryInfo = prefixes + " SELECT DISTINCT ?graph ?label ?identifier ?name ?givenName ?familyName ?alias (GROUP_CONCAT(DISTINCT CONCAT(?variant, '| ', ?otherName) ; SEPARATOR = ';') AS ?variants) ?gender ?Birth_Date ?Birth_Place ?Death_Date ?Death_Place ?patronymic ?occupation (group_concat(distinct ?relative1 ;separator=', ') as ?relatives) ?qualification ?group \
 WHERE { \
 VALUES ?uri {<" + thisUrlParams.link + ">} \
 GRAPH ?graph {?uri rdfs:label ?label} \
@@ -98,8 +98,12 @@ crm:P7_took_place_at ?Place_B . \
 ?Place_B rdfs:label ?Birth_Place } \
 OPTIONAL {?uri crm:P107i_is_current_or_former_member_of ?uriGroup . \
 ?uriGroup rdfs:label ?group } \
+OPTIONAL {?uri schema:alternateName ?alias . } \
+OPTIONAL {?uri owl:sameAs ?variant . \
+?variant foaf:name ?otherName . } \
 } \
-GROUP BY ?graph ?label ?identifier ?name ?givenName ?familyName ?gender ?Birth_Date ?Birth_Place ?Death_Date ?Death_Place ?patronymic ?occupation ?qualification ?group "
+GROUP BY ?graph ?label ?identifier ?name ?givenName ?familyName ?alias ?gender ?Birth_Date ?Birth_Place ?Death_Date ?Death_Place ?patronymic ?occupation ?qualification ?group \
+LIMIT 1 "
 
 queryLetters = prefixes + " SELECT DISTINCT ?type ?segnatura ?document_uri ?document_name ?time_span ?InfObj \
 WHERE {?pc crm:P02_has_range <" + thisUrlParams.link + "> . \
@@ -206,7 +210,6 @@ function handle_data(json) {
 
   if ("givenName" in json.results.bindings) {
           givenName = value['givenName']['value'];
-          alert(givenName);
         }
 
 
@@ -218,6 +221,7 @@ function handle_data(json) {
         var name = value['name']['value'];
         var givenName = "";
         var familyName = "";
+        var alias = "";
         var gender = "";
         var patronymic = "";
         var occupation = "";
@@ -230,6 +234,9 @@ function handle_data(json) {
         var qualification = "";
         var group = "";
 
+        var variants = "";
+
+
         if (value.hasOwnProperty('givenName')) {
           $("#givenName").css("display", "flex");
           givenName = value['givenName']['value'];
@@ -239,6 +246,10 @@ function handle_data(json) {
           familyName = value['familyName']['value'].toLowerCase();
           familyName = familyName.charAt(0).toUpperCase() + familyName.slice(1)
         }
+        if (value.hasOwnProperty('alias')) {
+          $("#aliasName").css("display", "flex");
+          alias = value['alias']['value'];
+        }
         if (value.hasOwnProperty('gender')) {
           $("#gender").css("display", "flex");
           gender = value['gender']['value'];
@@ -280,10 +291,37 @@ function handle_data(json) {
           $("#groups").css("display", "flex");
           group = value['group']['value'];
         }
+        if (value.hasOwnProperty('variants')) {
+          $("#otherNames").css("display", "flex");
+          let strings = value['variants']['value'];
+          variants = strings.split(";");
+        }
         
         var dataset = get_dataset_name(graph);
         var second_name = patronymic + " " + relative;
-        var first_name = givenName + " " + second_name + " " + familyName;
+
+        var first_name = "";
+
+        if ((givenName != "") || (second_name != " ") || (familyName != "")) {
+          first_name = givenName + " " + second_name + " " + familyName;
+        } else {
+          first_name = name;
+        }
+
+        var name_string = "";
+
+        if (variants.length>0) {
+          for (var i=0; i<variants.length; i++) {
+            let chunk = variants[i].split("| ");
+            name_string = name_string + "<a href='" + chunk[0] + "'>" + chunk[1] + "</a><br />";
+          }
+        }
+
+        console.log(variants);
+
+        /*for (var i=0; i<l; i++) {
+          names_string = names_string + "<a href='" + variants[i][0] + "'>" + variants[i][1] + "</a>";
+        }*/
 
         document.getElementById("grafo").innerHTML = dataset;
         document.getElementById("nome_persona").innerHTML = first_name;
@@ -291,6 +329,8 @@ function handle_data(json) {
         document.getElementById("genere").innerHTML = gender;
         document.getElementById("nome_proprio").innerHTML = givenName;
         document.getElementById("nome_famiglia").innerHTML = familyName;
+        document.getElementById("alias").innerHTML = alias;
+        document.getElementById("variants").innerHTML = name_string;
         document.getElementById("patronimico").innerHTML = second_name;
         document.getElementById("qualifica").innerHTML = qualification;
         document.getElementById("occupazione").innerHTML = occupation;