Upgrading from RDFLib version 2.X to 3.X¶
This page details the changes required to upgrade from RDFLib 2.X to 3.X.
Some older Linux distributions still ship 2.4.X. If needed, you can also install 2.4 using easy_install/setup tools.
Version 3.0 reorganised some packages, and moved non-core parts of rdflib to the rdfextras project
Features moved to rdfextras¶
- SPARQL Support is now in rdfextras / rdflib-sparql
- The RDF Commandline tools are now in rdfextras
If you install packages with just distutils - you will need to register the sparql plugins manually - we strongly recommend installing with setuptools or distribute! To register the plugins add this somewhere in your program:
rdflib.plugin.register('sparql', rdflib.query.Processor, 'rdfextras.sparql.processor', 'Processor') rdflib.plugin.register('sparql', rdflib.query.Result, 'rdfextras.sparql.query', 'SPARQLQueryResult')
Unstable features that were removed¶
The RDBMS back stores (MySQL/PostgreSQL) were removed, but are in the process of being moved to rdfextras. The Redland, SQLite and ZODB stores were all removed.
Packages/Classes that were renamed¶
Previously all packages and classes had colliding names, i.e. both package and the class was called “Graph”:
from rdflib.Graph import Graph, ConjunctiveGraph
Now all packages are lower-case, i.e:
from rdflib.graph import Graph, ConjunctiveGraph
Most classes you need are available from the top level rdflib package:
from rdflib import Graph, URIRef, BNode, Literal
Namespace classes for RDF, RDFS, OWL are now directly in the rdflib package, i.e. in 2.4:
from rdflib.RDF import RDFNS as RDF
from rdflib import RDF