Skip to content

# RDFLib

RDFLib is a pure Python package for working with RDF. It contains:

- Parsers & Serializers

  - for RDF/XML, N3, NTriples, N-Quads, Turtle, TriG, TriX, JSON-LD, HexTuples, RDFa and Microdata

- Store implementations

  - memory stores
  - persistent, on-disk stores, using databases such as BerkeleyDB
  - remote SPARQL endpoints

- Graph interface

  - to a single graph
  - or to multiple Named Graphs within a dataset

- SPARQL 1.1 implementation

  - both Queries and Updates are supported

Security considerations

RDFLib is designed to access arbitrary network and file resources, in some cases these are directly requested resources, in other cases they are indirectly referenced resources.

If you are using RDFLib to process untrusted documents or queries you should take measures to restrict file and network access.

For information on available security measures, see the RDFLib Security Considerations documentation.

## Getting started

If you have never used RDFLib, the following will help get you started:

- Getting Started
- Introduction to Parsing
- Introduction to Creating RDF
- Introduction to Graphs
- Introduction to SPARQL
- Utilities
- Examples

## In depth

If you are familiar with RDF and are looking for details on how RDFLib handles it, these are for you:

- RDF Terms
- Namespaces and Bindings
- Persistence
- Merging
- Changelog
- Upgrade 6 to 7
- Upgrade 5 to 6
- Upgrade 4 to 5
- Security Considerations

## Versioning

RDFLib follows Semantic Versioning 2.0.0, which can be summarized as follows:

Given a version number `MAJOR.MINOR.PATCH`, increment the:

1. `MAJOR` version when you make incompatible API changes
2. `MINOR` version when you add functionality in a backwards-compatible manner
3. `PATCH` version when you make backwards-compatible bug fixes

## For developers

- Developers guide
- Documentation guide
- Contributing guide
- Code of Conduct
- Persisting N3 Terms
- Type Hints
- Decisions

## Source Code

The rdflib source code is hosted on GitHub at https://github.com/RDFLib/rdflib where you can lodge Issues and create Pull Requests to help improve this community project!

The RDFlib organisation on GitHub at https://github.com/RDFLib maintains this package and a number of other RDF and RDFlib-related packaged that you might also find useful.

## Further help & Contact

If you would like help with using RDFlib, rather than developing it, please post a question on StackOverflow using the tag `[rdflib]`. A list of existing `[rdflib]` tagged questions can be found here.

You might also like to join RDFlib’s dev mailing list or use RDFLib’s GitHub discussions section.

The chat is available at gitter or via matrix #RDFLib_rdflib:gitter.im.