cendres.net

duong tam kien

Yesterday saw my first steps in SPARQL. Not necessarly an very pleasant experience, it seems promising anyway. Don’t look at this post as a tutorial into SPARQL and the reality of semantic web but more as a journey log.

Then certainly in a vague moment of procrastination coupled with the spirit of maximalism, someone proposed to use wikipedia to produce a full automatically constructed graph of influence of philosophers among others. Quiet quickly, we went about dbpedia to skip the scrapping part. The aim of dbpedia is to provided a semantic version of wikipedia.

That is said, it provided a very handy API and way to query a “network of knowledge”

Here is the last SPARQL query we produced to get a minimal graph of relations between philosophers.

PREFIX dbo: <http://dbpedia.org/ontology/>

select distinct ?person ?influenced ?influencedBy
where { 
    ?person
        rdf:type dbo:Philosopher ;
        foaf:name ?nameperson .
    {
      OPTIONAL {
        ?person
          dbpedia-owl:influenced ?influenced .

        ?influenced rdf:type dbo:Philosopher .
      }
    }
    UNION
    {
      OPTIONAL {
        ?person
          dbpedia-owl:influencedBy ?influencedBy .

        ?influencedBy rdf:type dbo:Philosopher .
      }
    }
}

ORDER BY ?person

There is obviously some lacks due to wikipedia categorization eg. Sigmund Freud is certainly a major influence in history of philosophical thougths but does not appear because is not tagged as a philosopher.

first returns of experience

  • The dataset provided has some weird bugs or the query is wrong. For example, Jacques Lacan has a some influenced links on the web rendering but less when we do a direct query. (Don’t worry, I am not switching views about lacanian psychoanalysis, I just found weird that the first result does not show up more influences)
  • Some differences with the “reality” or common sense are certainly due to dbpedia’s extraction process.
  • It is certainly possible to use formal ontology to provide less gnostic categorization. Specially about what is a philosopher or not.
  • Speaking of which, I have never been very confortable with the way computer scientist and semantic web people use the word “ontology”. There is still a place for experimental and metaphysical thinking.
  • One should also have space to think about what is formalization there.
  • It is a definitively a good way to start learning (and applying) semantic web technologies. You can build pretty complex queries but syntax do not seems very complicated.
  • There is a good opportunities to build a game website providing problems the algorithms encounter. Technical collective intelligence feedback if you want.

More experiences soon. Visualization (the candy part) just began (: