Yves Raimond's home


A set of modules allowing you to export prolog predicates as RDF just by declaring mappings, and access them through a SPARQL end-point.

This tool is used for the Jamendo RDF Dump. Check out this blog post for more information.


A match file (such as examples/jamendo_match.pl) specifies how a prolog predicate can translate to RDF. Once written, launch run.pl, load your match file(s), load the Prolog modules defining the predicates you want to export, and run server,entailment(p2r)..

You can then access the corresponding SPARQL end point here. There is also a small web gui here.

Once your mapping is finalized, and if you want your end point to be faster, you can cache all the potentially derived RDF triples in a local persistent triple store. To do so, just load your match file and corresponding prolog modules, and run init_db,rdf_compile.. Then, when you restart your server, you just have to run init_db., and nothing more.

You can also dump all RDF statements in a RDF/XML file, by running rdf_dump.

How is it done?

This program relies on SWI-Prolog, its HTTP package, its Semantic Web package and the SWI Semantic Web Server.