Skip to content
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.
Python Jupyter Notebook HTML Ruby Other
Failed to load latest commit information.
benchmarks more automorphism detection
docs Removed duplicate option from armstrong theme config
examples DOC: unamed -> unnamed
rdflib Merge pull request #567 from joernhees/fix_sparql_count_sample
test Remove an unused import
test_reports enabled trig eval tests and fixed up trig parser
.coveragerc make code coverage main guard exclusion more tolerant
.gitignore fix tests from nose
.hgignore (Primarily convention) changes made on advice of pylint
.pep8 Conform to PEP8 make travis fuseki install more failsafe, fixes #475
.travis.yml adding python 3.5 support (activating tests) version 4.2.1
CONTRIBUTORS took the freedom to add me to the contributors ;)
LICENSE new version and dates in license and readme as well manifest update version 4.2.1 adding ez_setup bits
requirements.py2.txt Update requirements
requirements.py3.txt Update requirements Update issue 123 shouldn't lose cmdline args
setup.cfg remove double exclude line as py3 configparser complains otherwise Use find_packages for package discovery instead of writing manual met…
skiptests.list Immigrate rdflib-sparql (plus some prefiguring changes)
tox.ini adding python 3.5 support (activating tests)


RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information as graphs.

RDFLib may be installed with setuptools (easy_install) or pip::

$ easy_install rdflib


$ pip install rdflib

Alternatively manually download the package from the Python Package Index (PyPI) at

The current version of RDFLib is 4.2.1, see the file for what's new.

Getting Started

RDFLib aims to be a pythonic RDF API, a Graph is a python collection of RDF Subject,Predicate,Object Triples:

import rdflib

for s,p,o in g:
  print s,p,o

The components of the triples are URIs (resources) or Literals (values), URIs are grouped together by namespace, common namespaces are included in RDFLib:

type=g.value(semweb, rdflib.RDFS.label)

Where rdflib.RDFS is the RDFS Namespace, graph.value returns an object of the triple-pattern given (or an arbitrary one if more exist). New Namespaces can also be defined:


abstracts=list(x for x in g.objects(semweb, dbpedia['abstract']) if x.language=='en')

See also ./examples


The library contains parsers and serializers for RDF/XML, N3, NTriples, N-Quads, Turtle, TriX, RDFa and Microdata.

The library presents a Graph interface which can be backed by any one of a number of Store implementations.

This core RDFLib package includes store implementations for in memory storage and persistent storage on top of the Berkeley DB.

A SPARQL 1.1 implementation is included - supporting SPARQL 1.1 Queries and Update statements.

RDFLib is open source and is maintained on GitHub. RDFLib releases, current and previous are listed on PyPI

RDFLib has a plugin-architecture for store-implementation, as well as parsers/serializers, several other projects exist which extend RDFLib features:


More information is available on the project webpage:

Continuous integration status details available from, test coverage from coveralls:

Build Status Coverage Status

The documentation can be built by doing::

$ python build_sphinx

And is also available from ReadTheDocs:

Support is available through the rdflib-dev group:

and on the IRC channel #rdflib on the server

Something went wrong with that request. Please try again.