-
Notifications
You must be signed in to change notification settings - Fork 0
/
lets-play-gephi-dbpedia-rdf-sparql-and-your-favorite-actors.html
53 lines (52 loc) · 26.2 KB
/
lets-play-gephi-dbpedia-rdf-sparql-and-your-favorite-actors.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Let's Play Gephi : Dbpedia, RDF, Sparql and your favorite Actors - Toto do stuff</title><meta name="description" content="Introduction to concepts RDF stands for Resource Description Framework . It's a way to represent information of all kinds. It's now a W3C specification and…"><meta name="generator" content="Publii Open-Source CMS for Static Site"><link rel="canonical" href="https://totetmatt.github.io/lets-play-gephi-dbpedia-rdf-sparql-and-your-favorite-actors.html"><link rel="alternate" type="application/atom+xml" href="https://totetmatt.github.io/feed.xml"><link rel="alternate" type="application/json" href="https://totetmatt.github.io/feed.json"><meta property="og:title" content="Let's Play Gephi : Dbpedia, RDF, Sparql and your favorite Actors"><meta property="og:image" content="https://totetmatt.github.io/media/posts/34/1386271588578.jpg"><meta property="og:site_name" content="Toto do stuff"><meta property="og:description" content="Introduction to concepts RDF stands for Resource Description Framework . It's a way to represent information of all kinds. It's now a W3C specification and…"><meta property="og:url" content="https://totetmatt.github.io/lets-play-gephi-dbpedia-rdf-sparql-and-your-favorite-actors.html"><meta property="og:type" content="article"><style>:root{--body-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--heading-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--logo-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--menu-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}</style><link rel="stylesheet" href="https://totetmatt.github.io/assets/css/style.css?v=825c89ac06c7215b642eda05e8a14751"><script type="application/ld+json">{"@context":"http://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://totetmatt.github.io/lets-play-gephi-dbpedia-rdf-sparql-and-your-favorite-actors.html"},"headline":"Let's Play Gephi : Dbpedia, RDF, Sparql and your favorite Actors","datePublished":"2015-09-06T22:47","dateModified":"2020-06-20T00:35","image":{"@type":"ImageObject","url":"https://totetmatt.github.io/media/posts/34/1386271588578.jpg","height":226,"width":400},"description":"Introduction to concepts RDF stands for Resource Description Framework . It's a way to represent information of all kinds. It's now a W3C specification and…","author":{"@type":"Person","name":"Totetmatt","url":"https://totetmatt.github.io/authors/totetmatt/"},"publisher":{"@type":"Organization","name":"Totetmatt"}}</script></head><body><div class="site-container"><header class="top" id="js-header"><a class="logo" href="https://totetmatt.github.io/">Toto do stuff</a></header><main><article class="post"><div class="hero"><figure class="hero__image hero__image--overlay"><img src="https://totetmatt.github.io/media/posts/34/1386271588578.jpg" srcset="https://totetmatt.github.io/media/posts/34/responsive/1386271588578-xs.jpg 300w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-sm.jpg 480w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-md.jpg 768w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-lg.jpg 1024w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-xl.jpg 1360w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-2xl.jpg 1600w" sizes="(max-width: 1600px) 100vw, 1600px" loading="eager" height="226" width="400" alt=""></figure><header class="hero__content"><div class="wrapper"><div class="post__meta"><time datetime="2015-09-06T22:47">15/09/06</time></div><h1>Let's Play Gephi : Dbpedia, RDF, Sparql and your favorite Actors</h1><div class="post__meta post__meta--author"><a href="https://totetmatt.github.io/authors/totetmatt/" class="feed__author invert">Totetmatt</a></div></div></header></div><div class="wrapper post__entry"><h2>Introduction to concepts</h2><p>RDF stands for <a href="https://en.wikipedia.org/wiki/Resource_Description_Framework">Resource Description Framework</a> . It's a way to represent information of all kinds. It's now a W3C specification and since 1995 people are working on RDF and all sub subjects related to information representation for automatic system. It can be concidered as the "Grand Father" of graph storage.</p><p>The idea is very simple, all informations can be represented by a triplet :</p><p style="text-align: center;">(subject, predicate, object)</p><p>Storing data in a fancy way is nice, but the goal is to retrive data after. This is where <a href="https://en.wikipedia.org/wiki/SPARQL">SPARQL </a>enters. It's basically a SQL-like way to query your dataset made of RDF triplets.</p><p><a href="http://wiki.dbpedia.org/">DBpedia </a>is the RDF wikipedia. It's an open datastore that tries to gather and offers in RDF format, all information that you can find in wikipedia or other knowledge service. It very interesting because it preformats concepts and makes it avaiaible for automatic processes or complex query across concepts.</p><p>I'll not go deeper into the wide subject of how to do RDF and SPARQL. I'll go now step by step to explain briefely what we are doing, and that you can resue it, but if you are interested about RDF in general, look in google or buy books.</p><h2>Dataset</h2><p>There is a lot of possibilities of thema for this subject. This let's play, we will look about relationship of people around movies. It's not very original (but more than FB social network) but everybody will understand and the methodology can be applied in almost everything else.</p><p style="text-align: center;"><em><strong>/!\ Unfortunately, Dbpedia.org has frequent issues with its website, which means frequent Time Out or "Maintenance Time". That's life, usualy takes 5 min to come back. Use it to take a break /!\</strong></em></p><h2>Let's Query</h2><h3>Basics</h3><p>RDF / SPARQL is like any database in the world, it's just a data store where you can query data. The main idea is to describe a pattern that the RDF engine will try to fetch on the element on the datastore.</p><p>Let's say I want to have the information about <a href="https://en.wikipedia.org/wiki/Leonardo_DiCaprio">Leonardo DiCaprio</a> . His id in dbpedia is <a href="http://dbpedia.org/page/Leonardo_DiCaprio">dbpedia.org/resource/Leonardo_DiCaprio </a>.</p><blockquote><p>To find the id of an entity, generally look for the entity page in wikipedia english and try <strong>http://dbpedia/resource/{wikipedia_Page_Id}</strong> . It works for most of the case. Note that if you put the id in the browser, it's actually a "representation" of the id (notice that url changed to http://dbpedia/<strong>page</strong>/) . The page show us actually all entities associated to the current resource.</p></blockquote><p>Let's start with a simple query, go to <a href="http://dbpedia.org/sparql">http://dbpedia.org/sparql </a>and query :</p><pre>select *
where
{
<http://dbpedia.org/resource/Leonardo_DiCaprio> ?predicate ?object.
}</pre><figure class="alignnone wp-image-457 size-full"><a href="https://totetmatt.github.io/media/posts/34/simpleQuery.gif" target="_blank"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/simpleQuery.gif" alt="simpleQuery" width="1348" height="608"></a></figure><p></p><p>You shoud be able to return all (predicate, object) associated to Leonardo.</p><p>If we want particular information, like <strong>birthPlace</strong>, we just have to specify the the correct <strong>predicate</strong> :</p><pre>select *
where
{
<http://dbpedia.org/resource/Leonardo_DiCaprio> <http://dbpedia.org/property/birthPlace> ?birthPlace.
}</pre><p>And if we want actually all relations where Leonardo DiCaprio is the <strong>object</strong>, we just have to modify the first query like this:</p><pre>select *
where
{
?subject ?predicate <http://dbpedia.org/resource/Leonardo_DiCaprio>.
}</pre><h3>More relations</h3><p>Let's go more advanced. We want the movies where DiCaprio is invovled:</p><pre>select distinct *
where
{
?movie a <http://dbpedia.org/ontology/Film>.
?movie ?link <http://dbpedia.org/resource/Leonardo_DiCaprio>.
}</pre><p>Let's go step by step:</p><ul><li><strong>?movie a <http://dbpedia.org/ontology/Film></strong> : Get all subject which is a <http://dbpedia.org/ontology/Film>. The 'a' is actally a SPARQL special word for <rdf:type>. So it's exactly equal to <strong>?movie <rdf:type> <http://dbpedia.org/ontology/Film></strong></li><li><strong>?movie ?link <http://dbpedia.org/resource/Leonadro_DiCaprio></strong>: In the result, ?movie must also have a ?link to Leonardo.</li></ul><p>So the result is not only Movies where Leonardo DiCaprio played, but all movies where he has an involvement (actor, narrator, producer etc...) .</p><figure class="alignnone size-medium wp-image-458"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/07/1386271588578.jpg"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/1386271588578-300x170.jpg" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-xs.jpg 300w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-sm.jpg 480w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-md.jpg 768w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-lg.jpg 1024w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-xl.jpg 1360w, https://totetmatt.github.io/media/posts/34/responsive/1386271588578-300x170-2xl.jpg 1600w" alt="1386271588578" width="300" height="170"></a></figure><p></p><p>We can go deeper :</p><pre>select distinct ?movie,?actor
where
{
?movie a <http://dbpedia.org/ontology/Film>.
?movie ?rel1 <http://dbpedia.org/resource/Leonardo_DiCaprio>.
?movie ?rel2 ?actor.
?actor a <http://dbpedia.org/ontology/Person>.
}</pre><p>There it is ! We have a list of all movies where Leonardo DiCaprio was invovled and all people that were also invovled in theses movies.</p><p>Quick explanation on the last 2 lines:</p><ul><li><strong>?movie ?rel2 ?person.</strong> : Find all relation where ?movie is subject and ?actor is object.</li><li><strong>?person a <http://dbpedia.org/ontology/Person></strong> : Variable ?person must be a <rdf:type> <http://dbpedia.org/ontology/Person>. It basically exclude all related entities related to ?movie that are not relevent here like Cities, Award etc...</li></ul><p>That's it for querying data. I really briefely introduced RDF and SPARQL and I invite you to look closer on it if you are interested.</p><h2>Let's Graph</h2><p>What we want to see now is the garph resulting the last query we've performed about Leonardo.</p><p>You always can write a script that use SPARQL api from dbpedia to convert the result into a CSV file. But Gephi has a plugin that can integrate directly SPARQL query into graph.</p><p>First, we need to install <a href="https://marketplace.gephi.org/plugin/semanticwebimport/">Semantic web import</a>. You can find and install this plugins in the <strong>Tools -> Plugins</strong> part of you gephi.</p><p>When installed, go to the <em>Semantic Web Import tab</em>.</p><p>In <em>Drivers tab</em>, put <strong>http://dbpedia.org/sparql (AND PRESS !>ENTER<!).</strong></p><p>Go to Query tab, remove the dummy query and put this one:</p><pre>CONSTRUCT{
?person <http://gephi.org/type> "person".
?movie <http://gephi.org/type> "movie".
?movie <http://toto/link> ?person .
}
WHERE
{
?movie a <http://dbpedia.org/ontology/Film>.
?movie ?rel1 <http://dbpedia.org/resource/Leonardo_DiCaprio>.
?movie ?rel2 ?person.
?person a <http://dbpedia.org/ontology/Person>.
}</pre><p>Go back to the Graph preview and you should see nodes.</p><figure class="alignnone size-full wp-image-465"><a href="https://totetmatt.github.io/media/posts/34/SPARQLGephi.gif"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/SPARQLGephi.gif" alt="SPARQLGephi" width="1348" height="661"></a></figure><p></p><p>How does it works ?</p><p>You might have noticed that there is a strange block <strong>CONSTRUCT</strong> . That's actually a feature of SPARQL allowing you to create a new graph from a query. And that's where the magic works, the plugin execute the query, get a graph in return, and draw it in gephi.</p><p>What is the syntax for this <strong>CONSTRUCT</strong> block :</p><ul><li><strong>?a <http://gephi.org/{nodeProperty}> ?b</strong> : Will create the node ?a with the property nodeProperty equals to ?b.</li><li><strong>?a (<what_You_Want> or ?c) ?b</strong> : will create a link between ?a and ?b with label <what_You_Want></li></ul><p>The result in our case is actually a bi-modal graph with Movies and Persons. I advise you to read the <a href="http://matthieu-totet.fr/Koumin/2015/07/11/understand-multipartite-graph/">Let's play about multimodal graph</a> if you want advanced analysis of this kind of network.</p><p>What is interesting with this method is the way to query the data, and the fact that it's easily extendable to other subjects just by changing few things in the query. We can think about Music Band and Player relationship, the traditionnal Persons to Companies, or more original, all the common places where your favorites movies where shot, etc.. The limit is your imagination to graph.</p><p>On our example, you can run multiple time the same query and changing which person you want to "expand", it will automatically create the global network of all your research and maybe give you some insight which new movies to watch tonight ;-)</p><p>But keep in mind that you are heavily dependent on Dbpedia data quality (or other RDF entrypoint), which can alterate a lot you research.</p><p>To finish, I let you with some random network from randomly selected people.</p><h4>Leonardo DiCaprio (Actor)</h4><figure class="size-thumbnail wp-image-470"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Dicaprio_All.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Dicaprio_All-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_All-150x150-2xl.png 1600w" alt="People + Movies" width="150" height="150"></a></figure>People + Movies<p></p><figure class="size-thumbnail wp-image-471"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Dicaprio_Movies.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Dicaprio_Movies-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Movies-150x150-2xl.png 1600w" alt="Movies" width="150" height="150"></a></figure>Movies<p></p><figure class="size-thumbnail wp-image-472"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Dicaprio_Person.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Dicaprio_Person-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Dicaprio_Person-150x150-2xl.png 1600w" alt="People" width="150" height="150"></a></figure>People<p></p><h4>Werner Herzog (Director)</h4><figure class="wp-image-476 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Werner-Herzog_All.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Werner-Herzog_All-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_All-150x150-2xl.png 1600w" alt="Werner Herzog_All" width="150" height="150"></a></figure>People + Movies<p></p><figure class="wp-image-477 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Werner-Herzog_Movies.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Werner-Herzog_Movies-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Movies-150x150-2xl.png 1600w" alt="Werner Herzog_Movies" width="150" height="150"></a></figure>Movies<p></p><figure class="wp-image-478 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Werner-Herzog_Person.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Werner-Herzog_Person-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Werner-Herzog_Person-150x150-2xl.png 1600w" alt="Werner Herzog_Person" width="150" height="150"></a></figure>People<p></p><h4>Eric Serra (Music Composer)</h4><figure class="wp-image-473 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Éric_Serra_All.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Éric_Serra_All-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_All-150x150-2xl.png 1600w" alt="Éric_Serra_All" width="150" height="150"></a></figure>People + Movies<p></p><figure class="wp-image-474 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Éric_Serra_Movies.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Éric_Serra_Movies-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Movies-150x150-2xl.png 1600w" alt="Éric_Serra_Movies" width="150" height="150"></a></figure>Movies<p></p><figure class="wp-image-475 size-thumbnail"><a href="http://matthieu-totet.fr/Koumin/wp-content/uploads/2015/08/Éric_Serra_Person.png"><img loading="lazy" src="https://totetmatt.github.io/media/posts/34/Éric_Serra_Person-150x150.png" sizes="(max-width: 48em) 100vw, 768px" srcset="https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-xs.png 300w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-sm.png 480w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-md.png 768w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-lg.png 1024w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-xl.png 1360w, https://totetmatt.github.io/media/posts/34/responsive/Éric_Serra_Person-150x150-2xl.png 1600w" alt="Éric_Serra_Person" width="150" height="150"></a></figure>People<p></p></div><footer class="wrapper post__footer"><p class="post__last-updated">This article was updated on 20/06/20</p><ul class="post__tag"><li><a href="https://totetmatt.github.io/dbpedia/">Dbpedia</a></li><li><a href="https://totetmatt.github.io/gephi/">Gephi</a></li><li><a href="https://totetmatt.github.io/rdf/">Rdf</a></li><li><a href="https://totetmatt.github.io/sparql/">SPARQL</a></li></ul><div class="post__share"></div><div class="post__bio bio"><div class="bio__info"><h3 class="bio__name"><a href="https://totetmatt.github.io/authors/totetmatt/" class="invert" rel="author">Totetmatt</a></h3></div></div></footer></article><nav class="post__nav"><div class="post__nav-inner"><div class="post__nav-prev"><svg width="1.041em" height="0.416em" aria-hidden="true"><use xlink:href="https://totetmatt.github.io/assets/svg/svg-map.svg#arrow-prev"/></svg> <a href="https://totetmatt.github.io/java-7-for-gephi-brief-how-to.html" class="invert post__nav-link" rel="prev"><span>Previous</span> Java 7 for Gephi - Brief How To</a></div><div class="post__nav-next"><a href="https://totetmatt.github.io/the-final-hack-of-the-gephi-streaming-plugin.html" class="invert post__nav-link" rel="next"><span>Next</span> The Final hack of the Gephi Streaming Plugin </a><svg width="1.041em" height="0.416em" aria-hidden="true"><use xlink:href="https://totetmatt.github.io/assets/svg/svg-map.svg#arrow-next"/></svg></div></div></nav><div class="post__related related"><div class="wrapper"><h2 class="h5 related__title">You should also read:</h2><article class="related__item"><div class="feed__meta"><time datetime="2016-04-25T20:33" class="feed__date">16/04/25</time></div><h3 class="h1"><a href="https://totetmatt.github.io/twitter-streaming-importer-naoyun-as-a-gephi-plugin.html" class="invert">Twitter Streaming Importer : Naoyun as a Gephi Plugin</a></h3></article><article class="related__item"><div class="feed__meta"><time datetime="2015-11-05T08:55" class="feed__date">15/11/05</time></div><h3 class="h1"><a href="https://totetmatt.github.io/the-final-hack-of-the-gephi-streaming-plugin.html" class="invert">The Final hack of the Gephi Streaming Plugin</a></h3></article><article class="related__item"><div class="feed__meta"><time datetime="2014-06-15T09:55" class="feed__date">14/06/15</time></div><h3 class="h1"><a href="https://totetmatt.github.io/lets-play-gephi-streaming-api-the-hidden-websocket.html" class="invert">Let's Play Gephi : Streaming API - The 'hidden' Websocket</a></h3></article></div></div></main><footer class="footer"><div class="footer__copyright"><p>Powered by <a href="https://getpublii.com" target="_blank" rel="nofollow noopener">Publii Static CMS</a></p></div><button class="footer__bttop js-footer__bttop" aria-label="Back to top"><svg><title>Back to top</title><use xlink:href="https://totetmatt.github.io/assets/svg/svg-map.svg#toparrow"/></svg></button></footer></div><script>window.publiiThemeMenuConfig = {
mobileMenuMode: 'sidebar',
animationSpeed: 300,
submenuWidth: 'auto',
doubleClickTime: 500,
mobileMenuExpandableSubmenus: true,
relatedContainerForOverlayMenuSelector: '.top',
};</script><script defer="defer" src="https://totetmatt.github.io/assets/js/scripts.min.js?v=f4c4d35432d0e17d212f2fae4e0f8247"></script><script>var images = document.querySelectorAll('img[loading]');
for (var i = 0; i < images.length; i++) {
if (images[i].complete) {
images[i].classList.add('is-loaded');
} else {
images[i].addEventListener('load', function () {
this.classList.add('is-loaded');
}, false);
}
}</script></body></html>