RDFExtras: extension modules for use with rdflib 3

RDFExtras is a collection of packages and plug-ins that provide extra functionality based on RDFLib 3. The common denominator is “non-core-rdflib”.

The main RDFExtras project acts as a focal point for RDFLib-associated packages and plug-ins with distinct uses, such as SPARQL query processors (numbering one, thus far), commandline tools, serializers/parsers, experimental or unmaintained stores and similar.

Warning

The rdfextras packages are to be considered unstable in general. Useful, sometimes near core, but not currently guaranteed never to be renamed, refactored, reshuffled or redesigned.

Plug-ins Overview

The current set of RDFLib and RDFExtras plug-ins includes RDF parsers, serializers, stores and the “sparql-p” SPARQL query processor:

RDFLib plug-in "archtecture"

SPARQL query processor

The pure Python no-sql SPARQL implementation bits that were in the RDFLib development trunk are now in rdfextras.sparql.

This “default” SPARQL implementation has been developed from the original sparql-p implementation (by Ivan Herman, Dan Krech and Michel Pelletier) and over time has evolved into a full implementation of the W3C SPARQL Algebra, providing coverage for the full SPARQL grammar including all combinations of GRAPH. The implementation includes unit testing and has been run against the new DAWG testsuite.

(The bison-parsing SPARQL2SQL implementation contributed by Chimezie Ogbuji et. al. has been moved to a separate archival branch).

Stores

A new RDFLib Store plugin has been made added to the RDFExtras package - the SPARQL Store uses Ivan Herman et al.’s SPARQL service wrapper SPARQLWrapper to make a SPARQL endpoint behave programmatically like a read-only RDFLib store.

Warning

The SPARQL Store API does not support the “initNS” keyword arg.

The other back-end stores (except for IOMemory and SleepyCat) have been migrated out of RDFLib core and into separate plug-ins.

Extensive tests have been added in support of the development effort. Contributions in this area are especially welcome.

Acknowledging a longstanding requirement, some ad hoc documentation has been rustled up to address some of the more egregious lacunae.

Tools

The rdflib “tools” directory and its small collection of tools have been removed from rdflib core and placed into rdfextras.tools.

The collection has shrunk slightly with the removal of tools that fail to build, are otherwise obsolete, and/or no longer supported by the author.

Utils

rdfextras.utils contains collections of utility functions.

Epydoc API docs

rdfextras epydoc API docs

Indices and tables