RDF : Sesame, Jena, comparaison des fonctionnalités

RDF : Sesame, Jena, comparaison des fonctionnalités

 

Dans le monde des développeurs d’applications basées sur le web sémantique, il y a 2 grandes écoles en ce qui concerne les triplestores : les adeptes de Jena, et ceux de Sesame.

Personnellement j’ai un faible pour Sesame. Sesame propose des fonctionnalités proches de Jena, moins complètes, mais sans doute un peu plus facile à intégrer ; la philosophie de son API est différente, et, s’il s’agit de faire simplement de la manipulation de données RDF (sans inférence compliquée, sans gestion d’ontologie OWL), le choix entre les deux est essentiellement une question de goût ! Son interface web d’administration vous facilitera par contre énormément le travail s’il s’agit de configurer rapidement un triplestore et de charger des données RDF dedans.

On donne ci-dessous un tableau comparatif des fonctionnalités entre Jena et Sesame, au 1er mai 2012 ; il faut noter que, là où Jena propose d’emblée un certain nombre de modules avec beaucoup de fonctionnalités, pour Sesame ces fonctionnalités peuvent être présentes dans l’ « écosystème » autour de Sesame : OWLIM ou Ali Baba.

Fonctionnalité

Sesame 2.6.5

Jena (core 2.7.0-incubating, IRI 0.9.0-incubating, ARQ 2.9.0-incubating, TDB 2.9.0-incubating)

Existe depuis 2004 2000
Licence BSD-style (http://www.opensource.org/licenses/BSD-3-Clause) Apache (http://www.apache.org/licenses/LICENSE-2.0)
Mis à jour régulièrement Oui Oui
Entrées/Sorties
Entrées/Sorties aux formats RDF/XML, N3, Turtle, N-Triples Oui Oui
Entrées/Sorties en TriG, TriX Oui Non
Sortie en RDF/XML-ABBREV Non Oui
SPARQL
Query en SPARQL 1.0 Oui Oui
Query en SPARQL 1.1 Oui Oui
SPARQL Update Oui Oui
Autres langages de requêtes supportés ? SeRQL Non
Création de requêtes SPARQL programmatiquement Oui (package org.openrdf.query.parser.sparql.ast) Oui (module ARQ)
Serveur SPARQL Oui (de base à travers le serveur Sesame) Oui (module Fuseki)
Utilitaire en ligne de commande pour executer une requête SPARQL Oui, via la commande « console » Oui
Indexation plein texte des données du graphe RDF par Lucene Non, mais possible en utilisant Ali-Baba ou l’extension « LuceneSail » : http://dev.nepomuk.semanticdesktop.org/wiki/LuceneSail Oui, module LARQ
Gestion du RDF
Gestion du RDF en mémoire Oui Oui
Stockage RDF dans une base relationnelle Oui Oui (module SDB)
Stockage RDF dans des fichiers binaires Oui (Native RDF repository) Oui (module TDB)
Support des graphes nommés Oui Oui
Support des transactions (commit, rollback) Oui Oui
Paramétrage de graphes RDF via un fichier de configuration Non Oui (module Assembler)
Inférence
Inférence RDFS native Oui Oui
Inférence OWL-Lite native Non, mais possible en utilisant OWLIM Oui
Inférence OWL-DL Non, mais possible en utilisant OWLIM Non, mais possible en connectant le moteur Pellet
Inférence à base de règles Non, mais possible en utilisant OWLIM Oui
OWL
API de manipulation OWL et RDFS : manipulation des classes, propriétés, domain, ranges, restrictions, etc. Non Oui, natif
Administration
Interface utilisateur d’administration : créer un stockage RDF, ajouter des données, naviguer, etc. Oui (sesame-workbench) Non
Divers
Mécanisme de listeners pour monitorer les événements sur le RDF Non Oui
Génération de fichiers de constantes Java à partir d’une ontologie Non, mais possible en utilisant Ali-Baba Oui (module schemagen)
Utilitaire de vérification de données RDF Non Oui (module eyeball)
Et vous, quelle fonctionnalité de manipulation de RDF utilisez-vous le plus ?
Previous Post:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>