Un pays sans guerre

J’ai vu passer la question « y a-t-il un pays qui n’a jamais été en guerre? » qui renvoie à

« World peace? These are the only 11 countries in the world that are actually free from conflict« 

et je me suis dit, voilà un bon exercice pour le web sémantique. Je pense qu’il va m’être utile pour illustrer le pouvoir et les limites des grosses masses de données rendues librement disponibles sur le web et exploitables par des machines (LOD, Linked Open Data).

Les articles ci-dessus suggèrent une dimension particulière de la question: la dimension temporelle! De quelle époque parle-t-on? J’y reviendrais. Mais, d’abord interrogeons quelques concepts: pays, guerre, région.

Pays

D’abord, voyons ce que nous avons comme pays dans DBPedia. Commençons par le concept Country

select count(distinct ?pays) where {
?pays a <http://dbpedia.org/ontology/Country> .
}

donne 3294. Surprenant! J’avais à l’esprit qu’il y a un peu moins de 200 pays dans le Monde. Une recherche google « nombre de pays dans le monde » donne d’autres indications. On trouve par exemple que l’IEP prend en compte 162 pays dans une étude récente. Et l’ONU semble en reconnaître 197. Dans ce cas, il s’agit seulement de pays constituant des états souverains.

Wikipedia nous donne des indications sur une dimension temporelle. L’article su la Liste des pays du Monde évoque l’évolution du nombre de pays au cours du temps.

Même si DBpedia recense des états aujourd’hui disparus, la disproportion est énorme. Nous allons devoir comprendre ce qui différencie le concept Country dans DBPedia et, par exemple, les pays reconnus par l’ONU et comment concilier les deux approches.

On constate par exemple sur http://dbpedia.org/resource/Venezuela que de nombreux types sont associés à cette entité, notamment: Country selon Yago (5528 entités), schema.org (5506 entités), umbel (2385 entités) et wikidata:Q6256 (5506 entités). Ces variantes ne vont surement pas nous aider.

Guerre

Voyons les conflits militaires recensés par DBPedia. J’ai retenu le concept MilitaryConflict.

select count(distinct ?conflict) where {
?conflict a <http://dbpedia.org/ontology/MilitaryConflict> .
}

donne 13354 (au 29/5/2016).

Maintenant, voyons les conflits explicitement reliés à un pays

select count(distinct ?conflict) where {
?conflict a <http://dbpedia.org/ontology/MilitaryConflict> .
?conflict ?p ?pays .
?pays a <http://dbpedia.org/ontology/Country>
}

donne 7750. Et le nombre de pays associés à ces conflits est donné par

select count(distinct ?pays) where {
?conflict a <http://dbpedia.org/ontology/MilitaryConflict> .
?conflict ?p ?pays .
?pays a <http://dbpedia.org/ontology/Country>
}

On en trouve 1115. En se limitant à visualiser 100 pays concernés, on trouve , par exemple, « Province de Québec ». Pour arriver à une forme d’agrégation en rattachant un conflit aux pays actuels, nous devrons voir si un ‘pays’ associé à un conflit peut être identifié comme étant une partie d’un pays existant aujourd’hui.

32 propriétés différentes sont utilisées pour ces liens et j’ai un peu de mal avec l’interprétation à leur donner. Certaines se comprennent assez bien. Par exemple: la propriété Place est surement utilisée pour indiquer le lieu du conflit; la propriété combatant indique probablement l’origine des combattants impliqués. Dans les deux cas, on pourra bien considérer que les pays désignés étaient impliqués dans le conflit concerné.

Un autre regard peut être porté sur les données de DBPedia en constatant que certains conflits sont associés par la propriété wordnet_type au synset https://www.w3.org/2006/03/wn/wn20/instances/synset-war-noun-1.rdf.

Epoque

Dans l’idée de préciser l’époque sur laquelle nous allons porter notre intérêt.

Y a-t-il des dates ou des époques associées aux conflits recensés par DBPedia?

On en trouve associés à une ou plusieurs dates (de début? de fin?), d’autres avec endDate et startDate, d’autres sans indications directes, mais avec des liens vers des batailles ayant des indications de date.

Lorsque ces informations sont disponibles nous allons pouvoir affirmer qu’un pays concerné était en guerre aux périodes concernées. Dans le cas contraire, nous ne pouvons rien affirmer: nous ne savons pas à quelle époque le pays a été concerné par le conflit observé.

Nous allons déjà pouvoir tenter de recenser les pays qui ont été impliqués dans un conflit recensé par DBPedia (auxquels manquent probablement des conflits contemporains).

Région

Pour simplifier, j’ai cherché à identifier les pays reconnus par l’ONU. Il y a un concept dans DBPedia qui doit pouvoir nous aider: Member State of the United Nations. Mais sur quelques exemples, je constate que ce concept est associé à des pays par la propriété dc:subject, ce qui est un peu vague. Cela me donne l’occasion de voir que des pays sont associés par la propriété rdf:type à yago:MemberStatesOfTheUnitedNations, ce qui parait plus précis.

select count(distinct ?pays) where {
?pays a <http://dbpedia.org/class/yago/MemberStatesOfTheUnitedNations> .
}

nous donne 186 pays.

Je vais m’intéresser à ces pays pour évaluer s’ils ont été associés à un conflit militaire à un moment ou à un autre.

select count(distinct ?pays) where {
?pays a <http://dbpedia.org/class/yago/MemberStatesOfTheUnitedNations> .
?conflict a <http://dbpedia.org/ontology/MilitaryConflict> .
{ ?conflict ?p1 ?pays } UNION { ?pays ?p2 ?conflict }
}

donne 139. Ce qui semble indiquer que 47 pays des Nations Unies ne sont ou n’ont pas été en rapport avec un conflit militaire à la connaissance de DBPedia pour autant qu’on puisse en juger par des connaissances directement représentées dans DBPedia (et pas des connaissances induites).

Il va nous falloir exprimer une négation: pays qui ne sont pas dans la liste des pays ayant eu conflit militaire.

Je pense que la requête

select distinct ?pays where {
?pays a yago:MemberStatesOfTheUnitedNations .
MINUS {
   ?conflict a dbo:MilitaryConflict .
   { ?pays ?p1 ?conflict } UNION {?conflict ?p2 ?pays }
}
}

va nous donner les pays n’étant reliés par aucune propriété de DBPedia avec un conflit militaire. Cela donne 15 résultats:

pays
http://dbpedia.org/resource/Côte_d’Ivoire
http://dbpedia.org/resource/Andorra
http://dbpedia.org/resource/Benin
http://dbpedia.org/resource/Kiribati
http://dbpedia.org/resource/Liechtenstein
http://dbpedia.org/resource/Malawi
http://dbpedia.org/resource/Monaco
http://dbpedia.org/resource/Tuvalu
http://dbpedia.org/resource/Vanuatu
http://dbpedia.org/resource/Zimbabwe
http://dbpedia.org/resource/Burma
http://dbpedia.org/resource/Federated_States_of_Micronesia
http://dbpedia.org/resource/Member_states_of_the_United_Nations
http://dbpedia.org/resource/Kingdom_of_the_Netherlands
http://dbpedia.org/resource/Timeline_of_the_United_Nations

2 résultats ne sont pas des pays de façon évidente (mais qu’il faudrait rendre détectable dans la requête). Reste 13 résultats qu’il va falloir regarder d’un peu plus près. Je ne vais pas tous les passer en revue, mais regarder quelques exemples significatifs.

Monaco est un tout petit état. La cité-état a été annexée par Jules César, par exemple; sans combat? sans usage de la force? Elle a réussi a garder une certaine neutralité pendant la Seconde Guerre Mondiale. A-t-elle vraiment évité tout conflit armé?

La Micronésie est constituée d’un ensemble d’îles du Pacifique. Elle a notamment été envahie par le Japon lors de la Première Guerre Mondiale. Je pense qu’elle a donc connu au moins un conflit armé. Mais, il n’apparait pas en tant que tel dans DBPedia.

Un cas intéressant est la Côte-d’Ivoire. Wikipedia sait que ce pays connait des problèmes politico-militaires (voir https://fr.wikipedia.org/wiki/Crise_politico-militaire_en_C%C3%B4te_d%27Ivoire), mais DBPedia semble l’ignorer. Peut-être la question est-elle trop récente et actuelle?

Conclusion

Nous voyons à travers cet exemple que des données sont disponibles qui peuvent contribuer à répondre à des questions -et c’est déjà un grand progrès- mais qu’il y a encore beaucoup à faire, beaucoup d’intelligence à mettre pour faire le chemin des données vers la réponse à une question. Il faut utiliser les données avec prudence en comprenant les limites des réponses obtenues. Par exemple, dans le cas exposé dans ce billet, une formulation correcte d’une réponse qu’on peut obtenir est: liste des pays des Nations Unies dont on est certain, à partir des connaissances représentées dans DBPedia, qu’ils ont été liés à un conflit militaire.

A propos Moissinac

Maitre de conférence à Télécom Paris, Département Image, Données, Signal - Groupe Multimédia Jean-Claude Moissinac a mené des recherches sur les techniques avancées pour la production, le transport, la représentation et l’utilisation des documents multimédia. Ces travaux d'abord ont évolué vers la représentation sémantique de données liées au multimédia (process de traitement de médias, description d'adaptations de média, description formelle d'interactions utilisateurs). Aujourd'hui, les travaux portent sur la constitution de graphes de connaissances. Principaux axes de recherche actuel : représentations sémantiques de connaissances, constitution de graphes de connaissances, techniques d'apprentissage automatique sur ces graphes
Ce contenu a été publié dans DBPedia, Marquage sémantique, SPARQL, Tutoriel. Vous pouvez le mettre en favoris avec ce permalien.