Size: 812
Comment: Some notes on different RDF libraries for Python.
|
← Revision 16 as of 2023-10-11 07:23:15 ⇥
Size: 3213
Comment: links to pypi for active libs
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
There are several RDF processing libraries for Python: | = RDF Libraries for Python = |
Line 3: | Line 3: |
* RdfLib - you can construct a triple store, load it from an RDF file, and search through it - easy to install, no dependencies that I know of, small and easy, haven't been able to figure out how to do much with it * RedFoot - http://redfoot.net/ - don't know much about, seems to be rather big, bulky, capable, and complicated |
There are several [[http://esw.w3.org/topic/RDF|RDF]] processing libraries for Python, however many seem abandoned. [[https://rdflib.readthedocs.io/en/stable/|RdfLib]] is the primary library that is still maintained. Active: * [[https://rdflib.readthedocs.io/en/stable/|RdfLib]] (see [[RdfLib]]) - Has utilities for constructing triplestores, loading and parsing rdf, searching, and other functions. * [[https://pypi.org/project/rdflib/#history|Actively maintained]] as of late 2023 * Easily installed with pip, pure python implementation * [[https://sparqlwrapper.readthedocs.io/en/latest/|SparqlWrapper]] is provided by RDFLib and provides utilities for querying a sparql endpoint (such as an RDF4J triplestore) from Python and parsing output * [[https://pypi.org/project/SPARQLWrapper/#history|Latest release]] (as of Oct. 2023) in 2022 Abandoned: * [[http://oort.to/overview.html|Oort]] is a toolkit using rdflib, Paste and Genshi, focusing on Web views of RDF graphs. * [[https://pypi.org/project/Oort/|Last release]] was 0.4 in 2007 * RedlandRdf - http://librdf.org/docs/python.html - * Redland is a python [and other-lang] wrapper around a C library. * The interface is not as pythonic as rdflib, but "feels" about the same. * Redland uses Raptor for parsing/serialization; Raptor supports NTriples, RDF/XML, Turtle, RSS, Atom. * [[https://librdf.org/NEWS.html|Latest release]] around 2014 * [[Rx4RDF]] - http://rx4rdf.liminalzone.org - is an application stack for building RDF-based applications and web sites. It uses either 4Suite, rdflib or RedlandRdf as the RDF store and layers on the following: * RxPath lets you query, transform and update RDF using familar XML technologies like XPath, XSLT and XUpdate. * Raccoon is a simple application server that uses an RDF model for its data store, roughly analogous to RDF as [[http://cocoon.apache.org|Apache Cocoon]] is to XML. * Rhizome is a content management and delivery system that runs on Raccoon that treates everything (structure and content) as RDF and lets you edit the RDF in a Wiki-like fashion. * [[https://pypi.org/project/rx4rdf/#history|Latest release]] around 2004 |
Line 6: | Line 27: |
* ["4RDF"] - part of ["4Suite"] - haven't looked into * RedlandRdf - http://www.redland.opensource.ac.uk/docs/python.html - Don't know much about this one either |
* It's a big lump of code. :) It's the W3C-semweb-hacker's playground. * It has migrated to [[https://github.com/linkeddata/swap|github]], but is described as historic * [[https://github.com/linkeddata/swap/tags|Last formal release]] in 2007, but updated in 2022 * Primary contributor is Tim Berners-Lee * [[http://www.python.org/pypi/sqltriples|sqltriples]] is a triple store implementation which uses relational databases to offer transactional storage and enhanced querying. * [[https://pypi.org/project/sqltriples/#history|Latest release]] in 2007 |
Line 9: | Line 34: |
For more information on RDF, see [http://esw.w3.org/topic/RDF ESW:RDF.] | == Editorial Notes == The above lists should be arranged in ascending alphabetical order - please respect this when adding new entries. When specifying release dates please use the format YYYY-MM-DD. |
RDF Libraries for Python
There are several RDF processing libraries for Python, however many seem abandoned. RdfLib is the primary library that is still maintained.
Active:
RdfLib (see RdfLib) - Has utilities for constructing triplestores, loading and parsing rdf, searching, and other functions.
Actively maintained as of late 2023
- Easily installed with pip, pure python implementation
SparqlWrapper is provided by RDFLib and provides utilities for querying a sparql endpoint (such as an RDF4J triplestore) from Python and parsing output
Latest release (as of Oct. 2023) in 2022
Abandoned:
Oort is a toolkit using rdflib, Paste and Genshi, focusing on Web views of RDF graphs.
Last release was 0.4 in 2007
RedlandRdf - http://librdf.org/docs/python.html -
- Redland is a python [and other-lang] wrapper around a C library.
- The interface is not as pythonic as rdflib, but "feels" about the same.
- Redland uses Raptor for parsing/serialization; Raptor supports NTriples, RDF/XML, Turtle, RSS, Atom.
Latest release around 2014
Rx4RDF - http://rx4rdf.liminalzone.org - is an application stack for building RDF-based applications and web sites. It uses either 4Suite, rdflib or RedlandRdf as the RDF store and layers on the following:
RxPath lets you query, transform and update RDF using familar XML technologies like XPath, XSLT and XUpdate.
Raccoon is a simple application server that uses an RDF model for its data store, roughly analogous to RDF as Apache Cocoon is to XML.
- Rhizome is a content management and delivery system that runs on Raccoon that treates everything (structure and content) as RDF and lets you edit the RDF in a Wiki-like fashion.
Latest release around 2004
SemanticWebApplicationPlatform - http://www.w3.org/2000/10/swap/ - has a lot of stuff, feels like a big lump of code with little differentiation - looks great, but, what is it?
It's a big lump of code.
It's the W3C-semweb-hacker's playground.
It has migrated to github, but is described as historic
Last formal release in 2007, but updated in 2022
- Primary contributor is Tim Berners-Lee
sqltriples is a triple store implementation which uses relational databases to offer transactional storage and enhanced querying.
Latest release in 2007
Editorial Notes
The above lists should be arranged in ascending alphabetical order - please respect this when adding new entries. When specifying release dates please use the format YYYY-MM-DD.