Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
76a870c
7.1.3 prep (#3036)
edmondchuc Jan 16, 2025
4b0f580
7.1.3-pre-release
nicholascar Jan 18, 2025
006949a
small docco update (#3053)
nicholascar Jan 18, 2025
f4f3b73
7.1.3-post-release; some updated release info for devs (#3054)
nicholascar Jan 18, 2025
7d3666e
build(deps): bump orjson from 3.10.13 to 3.10.15 (#3055)
dependabot[bot] Jan 23, 2025
62c528d
build(deps-dev): bump ruff from 0.8.6 to 0.9.2 (#3047)
dependabot[bot] Jan 23, 2025
47165fc
build(deps): bump html5rdf from 1.2.0 to 1.2.1 in /docker/latest (#3045)
dependabot[bot] Feb 19, 2025
74afcb0
build(deps): bump html5rdf from 1.2 to 1.2.1 (#3048)
dependabot[bot] Feb 19, 2025
cfd4222
build(deps-dev): bump wheel from 0.44.0 to 0.45.1 (#3051)
dependabot[bot] Feb 19, 2025
89103ec
build(deps-dev): bump ruff 0.9.2 - 0.9.6 + readthedocs conf (#3072)
dependabot[bot] Mar 22, 2025
282ed56
build(deps): bump lxml from 5.3.0 to 5.3.1 (#3071)
dependabot[bot] Mar 22, 2025
62685d8
Cope with Namespace annotations in Python 3.14 (#3084)
nphilipp Mar 22, 2025
9af9a40
build(deps): bump dorny/test-reporter from 1 to 2 (#3081)
dependabot[bot] Mar 22, 2025
c1fc39e
build(deps-dev): bump pytest from 8.3.4 to 8.3.5 (#3079)
dependabot[bot] Mar 22, 2025
e4d28f1
build(deps): bump library/python in /docker/unstable (#3067)
dependabot[bot] Mar 22, 2025
69b7d6c
build(deps): bump library/python in /docker/latest (#3066)
dependabot[bot] Mar 22, 2025
b74c657
remove old hacks against 2to3 (#3076)
a-detiste Mar 22, 2025
c560028
Downgrade log message about plugin without override argument to debu…
yarikoptic Mar 22, 2025
7d1f4c7
[pre-commit.ci] pre-commit autoupdate (#3056)
pre-commit-ci[bot] Mar 22, 2025
8bbb30d
Reduce warnings (#3085)
nicholascar Mar 23, 2025
4cf2180
Reduce warnings (#3087)
nicholascar Mar 24, 2025
0c277e9
Allow multi subjects & objects in graph funcs (#3086)
nicholascar Mar 24, 2025
d220ee3
build(deps): bump library/python in /docker/unstable (#3089)
dependabot[bot] Mar 24, 2025
c731354
7.1.4 pre-release
nicholascar Mar 29, 2025
721164c
7.1.4 pre-release (#3098)
nicholascar Mar 29, 2025
95eda41
Merge remote-tracking branch 'origin/main'
nicholascar Mar 29, 2025
0c16362
fix namespace prefixes in longturtle serialization (#3134)
edmondchuc May 20, 2025
14071b0
Fix failing webtest (#3194)
edmondchuc Aug 29, 2025
4d9935c
Specify `Optional` parameters in `Graph.triples_choices` (#3075)
slahn Sep 3, 2025
4281096
Merge branch 'main' into edmond/7-to-main
edmondchuc Sep 4, 2025
3a3b858
Revert "remove old hacks against 2to3 (#3076)"
edmondchuc Sep 4, 2025
d77ef9f
ci: try to fix failing ci
edmondchuc Sep 4, 2025
5c8a04e
Revert "ci: try to fix failing ci"
edmondchuc Sep 4, 2025
b0ace6a
ci: specify setuptools as a deps in tox.ini to prevent downgrade, lea…
edmondchuc Sep 5, 2025
f5496de
test: mark SPARQLStore class docstring as webtest
edmondchuc Sep 5, 2025
4ad27a6
ci: fix setuptools missing in plugin isolated env
edmondchuc Sep 5, 2025
364e23d
Revert "test: mark SPARQLStore class docstring as webtest"
edmondchuc Sep 5, 2025
68bd450
test: skip SPARQLStore docstring test. It currently fails inside fire…
edmondchuc Sep 5, 2025
a603579
style: formatting
edmondchuc Sep 5, 2025
5c69b40
test: fix SPARQLStore docstring test
edmondchuc Sep 5, 2025
ea8463a
test: mark plugin tests as webtest
edmondchuc Sep 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ jobs:
checks: write
statuses: write
steps:
- uses: dorny/test-reporter@v1
- uses: dorny/test-reporter@v2
with:
artifact: /(.*)-mypy-junit-xml$/
name: mypy report
path: "*.xml"
reporter: java-junit
fail-on-error: "false"
- uses: dorny/test-reporter@v1
- uses: dorny/test-reporter@v2
with:
artifact: /(.*)-pytest-junit-xml$/
name: pytest report
Expand Down
7 changes: 3 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ci:
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# WARNING: Ruff version should be the same as in `pyproject.toml`
rev: v0.8.6
rev: v0.11.0
hooks:
- id: ruff
args: ["--fix"]
Expand All @@ -21,9 +21,8 @@ repos:
require_serial: true
args: ["."]
- repo: https://github.com/python-poetry/poetry
rev: 2.0.0
rev: 2.1.1
hooks:
- id: poetry-check
- id: poetry-lock
# sadly `--no-update` does not work on pre-commit.ci

args: ["--lock"]
44 changes: 43 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
## 2025-03-29 RELEASE 7.1.4

A tidy-up release with no major updates over 7.1.3. This may be the last 7.x
release as we move to a version 8 with breaking changes to Dataset and a few
APIs.

Interesting PRs merged:

* 2025-03-24 - remove old hacks against 2to3
[PR #3095](https://github.com/RDFLib/rdflib/pull/3095)
* 2025-03-24 - Allow multi subjects & objects in graph funcs
[PR #3086](https://github.com/RDFLib/rdflib/pull/3086)
* 2025-03-24 - Reduce test warnings
[PR #3085](https://github.com/RDFLib/rdflib/pull/3085)
* 2025-03-22 - Downgrade log message about plugin
[PR #3063](https://github.com/RDFLib/rdflib/pull/3063)
* 2025-03-22 - remove old hacks against 2to3
[PR #3076](https://github.com/RDFLib/rdflib/pull/3076)
* 2025-03-22 - Cope with Namespace annotations in Python 3.14
[PR #3084](https://github.com/RDFLib/rdflib/pull/3084)
* 2025-01-18 - small docco update
[PR #3053](https://github.com/RDFLib/rdflib/pull/3053)

... and lots of boring dependency bump PRs merged!

## 2025-01-17 RELEASE 7.1.3

A fix-up release that re-adds support for Python 3.8 after it was accidentally
removed in Release 7.1.2.

This release cherrypicks many additions to 7.1.2 added to 7.1.1 but leaves out
typing changes that are not compatible
with Python 3.8.

Also not carried over from 7.1.2 is the change from Poetry 1.x to 2.0.

Included are PRs such as _Defined Namespace warnings fix_, _sort longturtle
blank nodes_, _deterministic longturtle serialisation_ and _Dataset documentation
improvements_.

For the full list of included PRs, see the preparatory PR:
<https://github.com/RDFLib/rdflib/pull/3036>.

## 2025-01-10 RELEASE 7.1.2

A minor release that bumped up a few dev dependencies and achieved a few small but notable improvements, particularly with longturtle sorting:
Expand Down Expand Up @@ -54,7 +97,6 @@ Merged PRs:
* 2024-10-23 - build(deps-dev): bump ruff from 0.6.9 to 0.7.0
[PR #2942](https://github.com/RDFLib/rdflib/pull/2942)


## 2024-10-17 RELEASE 7.1.0

This minor release incorporates just over 100 substantive PRs - interesting
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ authors:
- family-names: "Stuart"
given-names: "Veyndan"
title: "RDFLib"
version: 7.1.2
date-released: 2025-01-10
version: 7.1.4
date-released: 2025-03-29
url: "https://github.com/RDFLib/rdflib"
doi: 10.5281/zenodo.6845245
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@

RDFLib is a pure Python package for working with [RDF](http://www.w3.org/RDF/). RDFLib contains most things you need to work with RDF, including:

* parsers and serializers for RDF/XML, N3, NTriples, N-Quads, Turtle, TriX, Trig and JSON-LD
* parsers and serializers for RDF/XML, N3, NTriples, N-Quads, Turtle, TriX, Trig, JSON-LD and even HexTuples
* a Graph interface which can be backed by any one of a number of Store implementations
* store implementations for in-memory, persistent on disk (Berkeley DB) and remote SPARQL endpoints
* Store implementations for in-memory, persistent on disk (Berkeley DB) and remote SPARQL endpoints
* additional Stores can be supplied via plugins
* a SPARQL 1.1 implementation - supporting SPARQL 1.1 Queries and Update statements
* SPARQL function extension mechanisms

Expand All @@ -45,9 +46,12 @@ Help with maintenance of all of the RDFLib family of packages is always welcome

* `main` branch in this repository is the current unstable release - version 8 alpha
* `7.1.4` tidy-up release, possibly last 7.x release
* `7.1.2` current stable release, small improvements on to 7.1.1
* `7.1.3` current stable release, small improvements to 7.1.1
* `7.1.2` previously deleted release
* `7.1.1` previous stable release
* see <https://github.com/RDFLib/rdflib/releases/tag/7.1.1>
* `7.0.0` previous stable release, supports Python 3.8.1+ only.
* see [Releases](https://github.com/RDFLib/rdflib/releases)
* `6.x.y` supports Python 3.7+ only. Many improvements over 5.0.0
* see <https://github.com/RDFLib/rdflib/releases/tag/6.3.2>
* `5.x.y` supports Python 2.7 and 3.4+ and is [mostly backwards compatible with 4.2.2](https://rdflib.readthedocs.io/en/stable/upgrade4to5.html).
Expand All @@ -70,8 +74,6 @@ Some features of RDFLib require optional dependencies which may be installed usi
Alternatively manually download the package from the Python Package
Index (PyPI) at https://pypi.python.org/pypi/rdflib

The current version of RDFLib is 7.1.2, see the ``CHANGELOG.md`` file for what's new in this release.

### Installation of the current main branch (for developers)

With *pip* you can also install rdflib from the git repository with one of the following options:
Expand Down
2 changes: 1 addition & 1 deletion admin/get_merged_prs.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import urllib.request

# https://api.github.com/search/issues?q=repo:rdflib/rdflib+is:pr+merged:%3E=2023-08-02&per_page=300&page=1
LAST_RELEASE_DATE = "2024-10-29"
LAST_RELEASE_DATE = "2025-01-18"
ISSUES_URL = "https://api.github.com/search/issues"
ITEMS = []
PAGE = 1
Expand Down
10 changes: 5 additions & 5 deletions examples/datasets.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
This file contains a number of common tasks using the RDFLib Dataset class.
This module contains a number of common tasks using the RDFLib Dataset class.

An RDFLib Dataset is an object that stores multiple Named Graphs - instances of RDFLib
Graph identified by IRI - within it and allows whole-of-dataset or single Graph use.
Expand All @@ -10,11 +10,11 @@
There is an older implementation of a Dataset-like class in RDFLib < 7.x called
ConjunctiveGraph that is now deprecated.

Sections in this file:
Sections in this module:

1. Creating & Adding
2. Looping & Counting
3. Manipulating Graphs
1. Creating & Growing Datasets
2. Looping & Counting triples/quads in Datasets
3. Manipulating Graphs with Datasets
"""

from rdflib import Dataset, Graph, Literal, URIRef
Expand Down
29 changes: 20 additions & 9 deletions examples/jsonld_serialization.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,35 @@
"""
JSON-LD is "A JSON-based Serialization for Linked Data" (https://www.w3.org/TR/json-ld/) that RDFLib implements for RDF serialization.
JSON-LD is "A JSON-based Serialization for Linked Data" (https://www.w3.org/TR/json-ld/)
that RDFLib implements for RDF serialization.

This file demonstrated some of the JSON-LD things you can do with RDFLib. Parsing & serializing so far. More to be added later.
This file demonstrated some of the JSON-LD things you can do with RDFLib. Parsing &
serializing so far. More to be added later.


Parsing
-------
There are a number of "flavours" of JSON-LD - compact and verbose etc. RDFLib can parse all of these in a normal RDFLib way.

There are a number of "flavours" of JSON-LD - compact and verbose etc. RDFLib can parse
all of these in a normal RDFLib way.


Serialization
-------------
JSON-LD has a number of options for serialization - more than other RDF formats. For example, IRIs within JSON-LD can be compacted down to CURIES when a "context" statment is added to the JSON-LD data that maps identifiers - short codes - to IRIs and namespace IRIs like this:

# here the short code "dcterms" is mapped to the IRI http://purl.org/dc/terms/ and "schema" to https://schema.org/, as per RDFLib's in-build namespace prefixes
JSON-LD has a number of options for serialization - more than other RDF formats. For
example, IRIs within JSON-LD can be compacted down to CURIES when a "context" statement
is added to the JSON-LD data that maps identifiers - short codes - to IRIs and namespace
IRIs like this:

"@context": {
"dct": "http://purl.org/dc/terms/",
"schema": "https://schema.org/"
}
.. code-block:: json

"@context": {
"dcterms": "http://purl.org/dc/terms/",
"schema": "https://schema.org/"
}

Here the short code "dcterms" is mapped to the IRI http://purl.org/dc/terms/ and
"schema" to https://schema.org/, as per RDFLib's in-build namespace prefixes.
"""

# import RDFLib and other things
Expand Down
2 changes: 1 addition & 1 deletion rdflib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
__docformat__ = "restructuredtext en"

__version__: str = _DISTRIBUTION_METADATA["Version"]
__date__ = "2025-01-10"
__date__ = "2025-03-29"

__all__ = [
"URIRef",
Expand Down
3 changes: 3 additions & 0 deletions rdflib/extras/shacl.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
from rdflib.graph import _ObjectType
from rdflib.term import IdentifiedNode

if TYPE_CHECKING:
from rdflib.term import IdentifiedNode


class SHACLPathError(Exception):
pass
Expand Down
Loading
Loading