Concepts élémentaires
Un triplestore (ou triple store) est une base de données destinée au stockage des données du web de données : les triplets. Ces derniers sont des déclarations dont la structure est invariablement de la forme de sujet-prédicat-objet, par exemple « Jean a 3 enfants », « Jean est marié à Marie ». Dans un triplestore, le format des triplets est celui de métadonnées RDF (Resource Description Framework).
Tout comme dans une base de données relationnelle classique, on stocke l’information dans un triplestore et on la récupère à l’aide d’un langage de requête. Mais contrairement à la base de données relationnelle, le triplestore est optimisé pour travailler en entrée et en sortie (stockage et récupération) de très nombreux triplets.
Performance
Certains triplestores peuvent stocker des milliards de triplets. La performance d’un triplestore peut être mesurée avec le benchmark (LUBM) de l’Université de Lehigh (Pennsylvanie) ou avec des données réelles d’UniProt (universal protein resource), la base de données sur les protéines.
La page du W3C LargeTripleStores donne une liste de triplestores remarquables pour leur performance.
Implémentation
Les moteurs de certains triplestores sont construits from scratch. D’autres sont réalisés au-dessus de moteurs de base de données existants. Dans ce cas, on peut profiter de la puissance des bases de données en n’apportant qu’un moindre effort pour créer le triplestore. On a ainsi des triplets RDF stockés dans MySQL, PostgreSQL, Oracle, etc.
Catalogue
L’ordre de présentation dans ce catalogue est simplement alphabétique. Si vous avez des informations qui manquent ou qui corrigent celles que je donne ici, merci de les laisser en commentaire en citant vos sources, merci.
- 3store
- Langage : C
- Version actuelle :
- Site : http://www.aktors.org/technologies/3store/
- Base : MySQL based triple store
- Perf : plus de 30 millions de triplets RDF
- Réalisation : University of Southampton
- Actualité : il semble qu’il n’y en a plus depuis 2007
- 4store
- Langage : C (ANSI C99), conçu pour s’exécuter sur des systèmes UNIX-like
- Version actuelle : 4store-v1.1.1 le 31 janv. 2011
- Site : http://www.4store.org/
- Base : MySQL based triple store
- Perf : à l’import, 120 kT/s (milliers de triplets par seconde) – requête SPARQL simple, 1 ms (ordre de grandeur)
- Optimisé pour : shared–nothing clusters jusqu’à 32 noeuds, en lien avec un Ethernet gigabit
- Réalisation : Garlik
- Actualité : réalisation en 2009 de QDOS, un annuaire foaf
- Licence : GNU General Public Licence, version 3
- 5store
- Langage : C
- Version actuelle :
- Site : http://4store.org/trac/wiki/5store
- Base :
- Perf : 1 TT, à l’import une vitesse moyenne de plus de 700kT/s sur un cluster de 10 noeuds a été observée
- Optimisé pour : clusters de plus de 1000 machines
- Réalisation : Garlik
- Actualité : 5store et la suite logique du projet 4store
- Licence :
- AllegroGraph
- Langage : Java
- Version actuelle : 4.0
- Site : http://www.franz.com/agraph/allegrograph/
- Blog : http://allegrograph.blogspot.com/ (il n’est pas actualisé)
- Base :
- Perf : Load test LUBM 8000, 1 billion triplets en 2h30
- Réalisation : Franz inc.
- Actualité : sortie de la version 4.0
- Licence :
- ARC
- Langage : PHP
- Version actuelle : 2
- Site : http://arc.semsol.org/
- Base : MySQL
- Perf :
- Réalisation :
- Actualité : ARC2 est une réécriture complète de ARC1.
- Licence : GPL (version 2 et 3)
- Bigdata (mise à jour 1.nov.2011)
- Langage : Java
- Version actuelle :
- Site : http://www.systap.com/index.htm
- Blog : http://www.bigdata.com/bigdata/blog/
- Wiki : http://sourceforge.net/apps/mediawiki/bigdata/
- Base :
- Perf : LUBM (10 seconds for U50) & BSBM (36,608 QMpH on the reduced query mix)
- Réalisation : Bigdata® is a registered trademark of SYSTAP, LLC
- Actualité : dernière publication de B. Thompson et M. Personick en 2009
- Licence : open-source license (GPL v2)
- BigOWLIM
- Langage : Java
- Version actuelle : 3.x
- Site : http://www.ontotext.com/owlim
- Base :
- Perf : owl:sameAs optimisation
- Réalisation :
- Actualité :
- Licence :
- Jena
- Langage : Java
- Version actuelle : 2
- Site : http://jena.sourceforge.net/ et http://jena.hpl.hp.com/wiki/TDB
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence : Creative Commons 3.0 Attribution licence
- Joseki
- Langage : Java
- Version actuelle :
- Site : http://www.joseki.org/
- Base :
- Perf :
- Réalisation : Hewlett-Packard Development Company
- Actualité :
- Licence : LP All rights reserved
- Mulgara
- Langage : Java
- Version actuelle : 2.1.8 (2010.05.05)
- Site : http://www.mulgara.org/
- Blog : http://www.mulgara.org/blog.html
- Base :
- Perf :
- Réalisation : Open Source
- Actualité : voir http://www.mulgara.org/trac/wiki
- Licence : CC BY SA
- OpenAnzo
- Langage : Java
- Version actuelle :
- Site : http://www.openanzo.org/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- OntoBroker
- Langage : Java
- Version actuelle :
- Site : http://www.ontoprise.de/en/home/products/ontobroker/
- Base : microsoft SQLserver, Oracle, DB2, JDBC (mySQL, …)
- Perf :
- Réalisation : ontoprise GmbH
- Actualité : 4 éditions
- Licence : produit
- Parliament
- Langage : Java/C++
- Version actuelle : 2.6.7.0 (2010.04.06)
- Site : http://parliament.semwebcentral.org/
- Base :
- Perf :
- Réalisation : Open Source
- Actualité :
- Licence :
- Pointrel System
- Langage : Java, Python, Smalltalk
- Version actuelle : 2.6.7.0 (2010.04.06)
- Site : http://sourceforge.net/projects/pointrel/
- Base :
- Perf :
- Réalisation : Open Source
- Actualité :
- Licence : GNU Library or « Lesser » General Public License version 3.0 (LGPLv3)
- The Pointrel System is an RDF-like triple store implemented on the Java/JVM platform, supporting related social semantic desktop applications to create, use, exchange, and organize informational resources for a reasonably joyful and secure world.
- RAP
- Langage : PHP
- Version actuelle : 0.9.6 (2008.02.29)
- Site : http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/
- Base :
- Perf :
- Réalisation : Open Source
- Actualité : Je ne sais pas s’il y a des développements actuellement
- Licence : GNU LESSER GENERAL PUBLIC LICENSE (LGPL)
- RDF::Core
- Langage : Perl
- Version actuelle : 0.51 (2007.02.19)
- Site : http://search.cpan.org/dist/RDF-Core/
- Base :
- Perf :
- Réalisation : Open Source
- Actualité : Je ne sais pas s’il y a des développements actuellement
- Licence : MPL (Mozilla Public License) et GNU’s GPL
- RDF::Trine
- Langage : Perl
- Version actuelle :
- Site : http://www.perlrdf.org/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- RDFBroker
- Langage : Java
- Version actuelle :
- Site : http://rdfbroker.opendfki.de/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- Redland
- Langage : C
- Version actuelle :
- Site : http://librdf.org/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- RedStore
- Langage : C et utilise la bibliothèque Redland
- Version actuelle : 0.4 (2010.04.22)
- Site : http://code.google.com/p/redstore/
- Base :
- Perf :
- Réalisation : Open Source
- Actualité :
- Licence : GNU General Public License v3
- Semantics Platform
- Langage : C#
- Version actuelle :
- Site : http://www.intellidimension.com/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- SemWeb-DotNet
- Langage : C#
- Version actuelle :
- Site : http://razor.occams.info/code/semweb/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- Sesame
- Langage : Java
- Version actuelle : 2.3.1 (2010.02.01)
- Site : http://www.openrdf.org/
- Base :
- Perf :
- Réalisation : Aduna (http://www.aduna-software.com/)
- Actualité :
- Licence : de type BSD
- Soprano
- Langage : C++
- Version actuelle :
- Site : http://soprano.sourceforge.net/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- SwiftOWLIM
- Langage : Java
- Version actuelle :
- Site : http://www.ontotext.com/owlim/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence :
- Talis
- Langage :
- Version actuelle :
- Site : http://www.talis.com/platform/
- Base :
- Perf :
- Réalisation :
- Actualité :
- Licence : Platform API published under a Creative Commons license that supports re-implementation of the API by other services and projects
- Virtuoso
- Langage : C
- Version actuelle : 6.x
- Site : http://virtuoso.openlinksw.com/
- Blog : http://www.openlinksw.com/blogs/
- Base :
- Perf :
- Réalisation : Open Source, OpenLink Software
- Actualité :
- Licence :
- YARS
- Langage : Java
- Version actuelle : Release beta3 (2006-06-28)
- Site : http://sw.deri.org/2004/06/yars/
- Base :
- Perf :
- Réalisation :
- Actualité : Visiblement aucune actualité
- Licence : de type BSD
Sources :
- Liste http://en.wikipedia.org/wiki/Triplestore
- Liste http://esw.w3.org/LargeTripleStores
- Benchmark http://esw.w3.org/RdfStoreBenchmarking
- Etude comparative (Jena, Mulgara, Sesame, Virtuoso) http://www.bioontology.org/wiki/images/6/6a/Triple_Stores.pdf
- Une petite comparaison http://tw.rpi.edu/wiki/Triple_Store_Comparison
- Une comparaison http://www.w3.org/2001/05/rdf-ds/DataStore