Filosofi influenti Challenge

Area di interesse: Lettere e Filosofia, Storia

Tutti conosciamo Wikipedia, l’enciclopedia online creata da volontari di tutto il mondo. In Wikipedia a volte alcune informazioni sono semistrutturate, come per esempio gli infobox. Vediamone uno per il filosofo Parmenide. Dall’infobox della versione inglese si può notare che è presente il campo ‘influenced’, che ci dice chi ha influenzato Parmenide:

parmenide-8923

Sarebbe interessante estrarre queste informazioni per fare per esempio grafici che mostrino i legami di chi ha influenzato chi nel corso della storia, tenendo naturalmente presente il fatto che Wikipedia non è sempre completa e al 100% affidabile. Questo è un esempio:

filosofi-89123

Cose che si potrebbero fare:

  • mostrare grafo dei filosofi

  • creare un widget selettore, in qui si seleziona un pensatore e vengono mostrati in una lista i pensatori che ha influenzato

  • mostrare chi non ha influenzato nessuno (secondo Wikipedia !). Se un personaggio è un filosofo famoso dovrà pur aver influenzato qualcuno quindi potremmo creare uno strumento che mostri a potenziali contributori di Wikipedia pagine di filosofi che necessitano ulteriori informazioni.

  • altri dettagli verranno aggiunti a breve !

Formato file filosofi:

descrizione (in inglese)

Il dataset è stato ottenuto con questa query SPARQL su dbpedia . Per ottenere un file processabile in Python con gli strumenti che affronteremo durante il corso, si può richiedere un file JSON con query sparql su dbpedia, formato json

Riportiamo qua un estratto del file:

{
  "head": {
            "link": [],
            "vars": ["p", "influenced"]
          },

  "results": {
               "distinct": false,
               "ordered": true,
               "bindings": [

                               {
                                 "p": {
                                          "type": "uri",
                                          "value": "http://dbpedia.org/resource/Parmenides"
                                      },
                                 "influenced": {
                                                  "type": "uri",
                                                  "value": "http://dbpedia.org/resource/Socrates"
                                               }
                               },

                               {
                                 "p": {
                                          "type": "uri",
                                          "value": "http://dbpedia.org/resource/Socrates"
                                      },
                                 "influenced": {
                                                  "type": "uri",
                                                  "value": "http://dbpedia.org/resource/Aristotle"
                                               }
                               },

                               ETC... TAGLIATA ......................
}

Possiamo ignorare

{
  "head": {
            "link": [],
            "vars": ["p", "influenced"]
          },

  "results": {
               "distinct": false,
               "ordered": true,

e concentrarci sulla parte che ci interessa, che è quella sotto results["bindings"] e vediamo essere distinta da una sequenza di oggetti contenenti ciascuno un riferimento ad un filosofo e un riferimento ad un’altro filosofo che è stato influenzato dal primo. In questo caso è riportato che Parmenide ha influenzato Socrate:

{
  "p": {
           "type": "uri",
           "value": "http://dbpedia.org/resource/Parmenides"
       },
  "influenced": {
                   "type": "uri",
                   "value": "http://dbpedia.org/resource/Socrates"
                }
},

In particolare in questo caso Parmenide è identificato dall’ indirizzo http://dbpedia.org/resource/Parmenides (provate a cliccarci sopra per vedere cosa DBpedia contiene su Parmenide ) e il personaggio Socrate viene esplicitato dall’indirizzo http://dbpedia.org/resource/Socrates (di nuovo provate a cliccarci sopra)

[ ]: