Projet académique - Master 2 Mathématiques et Informatique appliquées à la Science des Données
Université Paris Cité | 2025–2026
Auteurs : Fatoumata Ndour et Charles-Valentin Abongo
Ce projet explore la construction et l'exploitation d'un graphe de connaissances à partir de deux sources de données du Web sémantique : GeoSpecies et Wikidata.
L'objectif est d'intégrer des données biologiques et géographiques hétérogènes afin d'enrichir les connaissances disponibles sur les espèces, puis de les exploiter à travers des requêtes SPARQL et des mécanismes de raisonnement sémantique.
Le projet couvre l'ensemble du processus, depuis l'extraction et la préparation des données RDF jusqu'à leur alignement, leur interrogation et l'application de règles d'inférence.
- Explorer et préparer des données RDF issues de GeoSpecies.
- Enrichir les informations sur les espèces à partir de Wikidata.
- Aligner les entités des deux sources grâce à l'identifiant taxonomique ITIS.
- Construire un graphe RDF intégré.
- Interroger les données à l'aide de requêtes SPARQL.
- Exploiter une ontologie RDFS pour représenter les relations taxonomiques.
- Développer un outil Java permettant d'exécuter des requêtes SPARQL avec différents modes d'inférence.
Langages : Python, Java, SPARQL, Shell
Web sémantique : RDF, RDFS, OWL, owl:sameAs
Bibliothèques et outils : RDFLib, Requests, Apache Jena, Git
Sources de données : GeoSpecies, Wikidata
Récupération des données GeoSpecies, exploration de leur structure RDF et nettoyage des données.
Identification des correspondances entre les espèces des deux sources à l'aide de leur code ITIS.
Récupération d'informations complémentaires, notamment les pays d'observation et les statuts de conservation IUCN.
Création d'un graphe RDF intégré reliant les entités équivalentes de GeoSpecies et Wikidata grâce à la propriété owl:sameAs.
Développement de requêtes permettant notamment :
- D'identifier les espèces alignées entre les deux sources.
- D'explorer les informations taxonomiques et géographiques.
- D'évaluer la complétude des données.
- D'exploiter les requêtes fédérées et les chemins de propriétés.
Modélisation des relations taxonomiques et des propriétés à l'aide de RDFS.
Développement d'un programme Java, Inferowl, utilisant Apache Jena pour exécuter des requêtes SPARQL avec ou sans inférence.
DB_knowledgeGraph/
├── data/ # Données et ressources présentes dans le dépôt
├── docs/ # Documentation
├── scripts/ # Extraction, nettoyage et alignement
├── sparql/
│ ├── ontology/ # Requêtes liées à l'ontologie
│ └── queries/ # Requêtes SPARQL
├── infer/
│ ├── src/ # Code source Java
│ ├── lib/ # Dépendances Java
│ ├── Makefile # Compilation
│ └── inferowl.sh # Exécution de l'inférenceur
├── rapport.qmd # Rapport du projet
├── requirement.txt # Dépendances Python
└── README.md
- Linux ou macOS
- Python 3
- Java et
javac make
Depuis la racine du projet :
python3 -m pip install -r requirement.txtmake -C infer allLe programme Inferowl permet d'exécuter des requêtes SPARQL en chargeant des données RDF et, éventuellement, un schéma pour le raisonnement.
Exemple de syntaxe :
bash infer/inferowl.sh \
--query chemin/vers/requete.sparql \
--data chemin/vers/donnees.rdf \
--schema chemin/vers/schema.rdf \
--inference-type microLes modes d'inférence prévus sont none, micro, mini et full.
Remarque : les fichiers RDF générés pendant le traitement ne sont pas tous distribués dans ce dépôt. Certaines étapes nécessitent donc de reconstruire les données.
- Construction et manipulation de graphes de connaissances
- Intégration de données hétérogènes
- Alignement d'entités
- Modélisation RDF/RDFS/OWL
- Interrogation SPARQL
- Raisonnement sémantique
- Développement Python et Java