SWI-Prolog Semantic Web Library


The semweb library provides a Prolog library based on foreign-language extensions for storing and manipulating RDF triples. It can handle quite large sets of triples only limited by available memory. One million triples requires about 80MB memory, so a fully equiped 32-bit machine can handle about 25 million triples. A 64-bit machine with 32Gb memory (just a few thousand euros in june 2009) can handle up to 150 million triples.


This library depends on the RDF parser library which in turn depends on the XML parser provided by the sgml package.

Further info

This library defines the semantic web infrastructure for SWI-Prolog. The library is documented in semweb.pdf or the equivalent semweb.html. If your installation does not include this file, please visit http://www.swi-prolog.org/packages/

Staying up-to-date

This library is under active development. The recent version can be accessed from the GIT repository under the directory pl/packages/semweb. See http://www.swi-prolog.org/git.html for details on the central GIT repository and instructions for browsing the repository online.

Prolog files

rdf11.pl  -- RDF 1.1 APIShow source
rdf_cache.pl  -- Cache RDF triplesShow source
rdf_db.pl  -- Core RDF databaseShow source
rdf_http_plugin.pl  -- RDF HTTP PluginShow source
rdf_library.pl  -- RDF Library ManagerShow source
rdf_litindex.pl  -- Search literalsShow source
rdf_ntriples.pl  -- Process files in the RDF N-Triples formatShow source
rdf_persistency.pl  -- RDF persistency pluginShow source
rdf_portray.pl  -- Portray RDF resourcesShow source
rdf_turtle_write.pl  -- Turtle - Terse RDF Triple Language writerShow source
rdf_zlib_plugin.pl  -- RDF compressed-data pluginShow source
rdfs.pl  -- RDFS handlingShow source
sparql_client.pl  -- SPARQL client libraryShow source
turtle.pl  -- Turtle: Terse RDF Triple LanguageShow source