Quelques outils pour découvrir le Web Sémantique

Suite à différents billets francophones sur le Web Sémantique (dont un revenant), voici une petite liste d’outils et services que j’utilise régulièrement pour manipuler ce genre de données. Si vous voulez vous mettre à RDF, RDFS et/ou OWL, vous trouverez sans doute de quoi vous amuser un peu.

Si vous avez besoin d’un vocabulaire précis pour gérer vos données, et avant de vous lancer dans une phase plus ou moins longue de modélisation, assurez vous que vos besoins ne sont pas couverts par une ontologie déjà existante. Swoogle et SchemaWeb permettent ainsi de trouver un vocabulaire en fonction des classes que vous souhaitez utiliser. Par exemple, une recherche sur “Person” vous amènera logiquement - entre autres - vers FOAF. Vous pouvez également consulter la liste des 100 espaces de nom RDF les plus utilisés sur le Web, et les recommendations du projet Linking Open Data sur les vocabulaires “de référence“.

Si rien ne vous convient, à vous de créer votre ontologie. Protégé est l’outil de référence dans le domaine. De nombreux plug-ins, un support des différents niveaux de OWL …, le tout en open-source. Il ne supporte cependant que la sérialisation XML des données RDF. Par contre, Protégé permet de partir d’une ontologie existante lors de la création d’un nouveau modèle, et d’utiliser ainsi les notions de sous-classes (rdfs:subClassOf) et de sous-propriétés (rdfs:subPropertyOf) entre ontologies (comme peut le faire SIOC avec FOAF via sioc:User), ce qui vous permettra par la suite de bénéficier des possibilités d’inférence de certains moteurs SPARQL. De façon générale, c’est une bonne pratique que d’affiner des vocabulaires existants (en terme de classes ou de propriétés) plutôt que de repartir de zéro, dans une perspective d’interconnection des données.

Une fois l’ontologie en place, vous pouvez à nouveau utiliser Protégé pour créer les instances correspondantes, ou passer simplement par un éditeur de texte. Cependant, Protégé vous permettra de réduire les erreurs, et vous pouvez même l’associer à un raisonneur pour éviter les incohérences (par exemple, éviter créer une instance qui ne respecte pas certaines contraintes que vous avez définies une ontologie OWL).

Dans le cas d’une édition manuelle, et pour un fichier serialisé en XML, vous pouvez utiliser le validateur du W3. Attention, celui-ci ne vérifiera pas que les données sont conformes aux ontologies utilisées, mais juste que le fichier est bien formé, avec en prime une représentation graphique.

Une fois vos différents fichiers RDF en main, comment les manipuler et les interroger ? Ici ma préférence va à Redland, ses différents outils en ligne de commande, et ses bindings Python. La manipulation des triplets et l’interrogation via SPARQL est également très simple. Puisqu’on parle de SPARQL, c’est le langage inévitable pour interroger des données RDF, mais aussi les reformater en utilisant CONSTRUCT.

Du côté de PHP, les librairies RAP et ARC proposent aussi la manipulation et l’interrogation de données RDF. Dans les deux cas, l’implémentation d’un entrepôt RDF en ligne se fait rapidement, et RAP a la bonne idée de proposer un moteur d’inférence. Pour un entrepôt de données plus puissant, j’utilise régulièrement 3store, qui supporte aussi certaines règles RDFS, avec l’avantage que celles-ci sont automatiquement déduites des ontologies importées dans l’entrepôt. Il est assez rapide mais nécessite une phase de compilation et donc un serveur sur lequel vous avez la main. Virtuoso est aussi prometteur, mais je n’ai pas encore eu l’occasion de faire des comparaisons avec 3store.

Enfin, si vous voulez simplement visualiser des données RDF sans passer par un entrepôt de donnés, vous pouvez utiliser Exhibit, dont la version 2.0 vient tout juste de sortir en bêta, et jeter un oeil par la même occasion aux différents outils du projet SIMILE.

Pour finir, et pour un inventaire plus complet d’outils dédiés au Web Sémantique, vous pouvez consulter cette liste de plus de 500 outils, dont l’interface utilise d’ailleurs Exhibit.

Comments

5 Responses to “Quelques outils pour découvrir le Web Sémantique”

  1. Got on September 3rd, 2007 8:02 am

    Merci pour ce billet et content de te voir de retour sur ce blog. Est-ce-que tu as essayé Mulgara (http://www.mulgara.org/) ?
    Je viens de le découvrir, ça m’a l’air complet, mais je n’ai pas encore eu l’occasion de le tester.

  2. Alex on September 3rd, 2007 9:51 pm

    Non, j’avais brièvement installé et essayé, mais devant l’abscence de SPARQL (même si leur langage de requête est proche), je l’ai mis de côté sans aller plus loin. Mais c’est vrai qu’au vu de la doc, les possibilités ont l’air sympe.

    Il y a aussi AllegroGraph, qui est assez rapide et efficace en volumétrie … et dont je viens juste de voir en rédigeant ce commentaire qu’une nouvelle version vient de voir le jour ou l’on peut cumuler inférence et SPARQL !

  3. Alexandre Passant » Blog Archive » AllegroGraph v2.2 on September 3rd, 2007 10:08 pm

    […] Alexandre Passant Just another Semantic Web enthousiast « Quelques outils pour découvrir le Web Sémantique […]

  4. Mathieu on September 7th, 2007 2:52 pm

    Sans vouloir abuser de l’auto-promo, pour trouver et explorer des ontologies, il y a aussi Watson, qui, outre le fait que c’est un tres beau projet, a l’enorme avantage d’inclure un developpeur francais ;-)

  5. Alexandre (un autre) on September 10th, 2007 10:19 pm

    Bonjour et merci pour le billet et les liens. :)

Leave a Reply

You must be logged in to post a comment.