Skip to content

Commit 827d233

Browse files
authored
Merge branch 'main' into dependabot/docker/docker/latest/library/python-3.13.7-slim
2 parents 01498a8 + 0a054e3 commit 827d233

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+389
-347
lines changed

.github/workflows/test-report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ jobs:
1111
checks: write
1212
statuses: write
1313
steps:
14-
- uses: dorny/test-reporter@v1
14+
- uses: dorny/test-reporter@v2
1515
with:
1616
artifact: /(.*)-mypy-junit-xml$/
1717
name: mypy report
1818
path: "*.xml"
1919
reporter: java-junit
2020
fail-on-error: "false"
21-
- uses: dorny/test-reporter@v1
21+
- uses: dorny/test-reporter@v2
2222
with:
2323
artifact: /(.*)-pytest-junit-xml$/
2424
name: pytest report

.pre-commit-config.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ci:
88
repos:
99
- repo: https://github.com/astral-sh/ruff-pre-commit
1010
# WARNING: Ruff version should be the same as in `pyproject.toml`
11-
rev: v0.8.6
11+
rev: v0.11.0
1212
hooks:
1313
- id: ruff
1414
args: ["--fix"]
@@ -21,9 +21,8 @@ repos:
2121
require_serial: true
2222
args: ["."]
2323
- repo: https://github.com/python-poetry/poetry
24-
rev: 2.0.0
24+
rev: 2.1.1
2525
hooks:
2626
- id: poetry-check
27-
- id: poetry-lock
2827
# sadly `--no-update` does not work on pre-commit.ci
29-
28+
args: ["--lock"]

CHANGELOG.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
## 2025-03-29 RELEASE 7.1.4
2+
3+
A tidy-up release with no major updates over 7.1.3. This may be the last 7.x
4+
release as we move to a version 8 with breaking changes to Dataset and a few
5+
APIs.
6+
7+
Interesting PRs merged:
8+
9+
* 2025-03-24 - remove old hacks against 2to3
10+
[PR #3095](https://github.com/RDFLib/rdflib/pull/3095)
11+
* 2025-03-24 - Allow multi subjects & objects in graph funcs
12+
[PR #3086](https://github.com/RDFLib/rdflib/pull/3086)
13+
* 2025-03-24 - Reduce test warnings
14+
[PR #3085](https://github.com/RDFLib/rdflib/pull/3085)
15+
* 2025-03-22 - Downgrade log message about plugin
16+
[PR #3063](https://github.com/RDFLib/rdflib/pull/3063)
17+
* 2025-03-22 - remove old hacks against 2to3
18+
[PR #3076](https://github.com/RDFLib/rdflib/pull/3076)
19+
* 2025-03-22 - Cope with Namespace annotations in Python 3.14
20+
[PR #3084](https://github.com/RDFLib/rdflib/pull/3084)
21+
* 2025-01-18 - small docco update
22+
[PR #3053](https://github.com/RDFLib/rdflib/pull/3053)
23+
24+
... and lots of boring dependency bump PRs merged!
25+
26+
## 2025-01-17 RELEASE 7.1.3
27+
28+
A fix-up release that re-adds support for Python 3.8 after it was accidentally
29+
removed in Release 7.1.2.
30+
31+
This release cherrypicks many additions to 7.1.2 added to 7.1.1 but leaves out
32+
typing changes that are not compatible
33+
with Python 3.8.
34+
35+
Also not carried over from 7.1.2 is the change from Poetry 1.x to 2.0.
36+
37+
Included are PRs such as _Defined Namespace warnings fix_, _sort longturtle
38+
blank nodes_, _deterministic longturtle serialisation_ and _Dataset documentation
39+
improvements_.
40+
41+
For the full list of included PRs, see the preparatory PR:
42+
<https://github.com/RDFLib/rdflib/pull/3036>.
43+
144
## 2025-01-10 RELEASE 7.1.2
245

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

57-
58100
## 2024-10-17 RELEASE 7.1.0
59101

60102
This minor release incorporates just over 100 substantive PRs - interesting

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ authors:
7272
- family-names: "Stuart"
7373
given-names: "Veyndan"
7474
title: "RDFLib"
75-
version: 7.1.2
76-
date-released: 2025-01-10
75+
version: 7.1.4
76+
date-released: 2025-03-29
7777
url: "https://github.com/RDFLib/rdflib"
7878
doi: 10.5281/zenodo.6845245

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919
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:
2020

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

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

4647
* `main` branch in this repository is the current unstable release - version 8 alpha
4748
* `7.1.4` tidy-up release, possibly last 7.x release
48-
* `7.1.2` current stable release, small improvements on to 7.1.1
49+
* `7.1.3` current stable release, small improvements to 7.1.1
50+
* `7.1.2` previously deleted release
4951
* `7.1.1` previous stable release
5052
* see <https://github.com/RDFLib/rdflib/releases/tag/7.1.1>
53+
* `7.0.0` previous stable release, supports Python 3.8.1+ only.
54+
* see [Releases](https://github.com/RDFLib/rdflib/releases)
5155
* `6.x.y` supports Python 3.7+ only. Many improvements over 5.0.0
5256
* see <https://github.com/RDFLib/rdflib/releases/tag/6.3.2>
5357
* `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).
@@ -70,8 +74,6 @@ Some features of RDFLib require optional dependencies which may be installed usi
7074
Alternatively manually download the package from the Python Package
7175
Index (PyPI) at https://pypi.python.org/pypi/rdflib
7276

73-
The current version of RDFLib is 7.1.2, see the ``CHANGELOG.md`` file for what's new in this release.
74-
7577
### Installation of the current main branch (for developers)
7678

7779
With *pip* you can also install rdflib from the git repository with one of the following options:

admin/get_merged_prs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import urllib.request
66

77
# https://api.github.com/search/issues?q=repo:rdflib/rdflib+is:pr+merged:%3E=2023-08-02&per_page=300&page=1
8-
LAST_RELEASE_DATE = "2024-10-29"
8+
LAST_RELEASE_DATE = "2025-01-18"
99
ISSUES_URL = "https://api.github.com/search/issues"
1010
ITEMS = []
1111
PAGE = 1

examples/datasets.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
This file contains a number of common tasks using the RDFLib Dataset class.
2+
This module contains a number of common tasks using the RDFLib Dataset class.
33
44
An RDFLib Dataset is an object that stores multiple Named Graphs - instances of RDFLib
55
Graph identified by IRI - within it and allows whole-of-dataset or single Graph use.
@@ -10,11 +10,11 @@
1010
There is an older implementation of a Dataset-like class in RDFLib < 7.x called
1111
ConjunctiveGraph that is now deprecated.
1212
13-
Sections in this file:
13+
Sections in this module:
1414
15-
1. Creating & Adding
16-
2. Looping & Counting
17-
3. Manipulating Graphs
15+
1. Creating & Growing Datasets
16+
2. Looping & Counting triples/quads in Datasets
17+
3. Manipulating Graphs with Datasets
1818
"""
1919

2020
from rdflib import Dataset, Graph, Literal, URIRef

examples/jsonld_serialization.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
11
"""
2-
JSON-LD is "A JSON-based Serialization for Linked Data" (https://www.w3.org/TR/json-ld/) that RDFLib implements for RDF serialization.
2+
JSON-LD is "A JSON-based Serialization for Linked Data" (https://www.w3.org/TR/json-ld/)
3+
that RDFLib implements for RDF serialization.
34
4-
This file demonstrated some of the JSON-LD things you can do with RDFLib. Parsing & serializing so far. More to be added later.
5+
This file demonstrated some of the JSON-LD things you can do with RDFLib. Parsing &
6+
serializing so far. More to be added later.
57
68
79
Parsing
810
-------
9-
There are a number of "flavours" of JSON-LD - compact and verbose etc. RDFLib can parse all of these in a normal RDFLib way.
11+
12+
There are a number of "flavours" of JSON-LD - compact and verbose etc. RDFLib can parse
13+
all of these in a normal RDFLib way.
1014
1115
1216
Serialization
1317
-------------
14-
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:
1518
16-
# 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
19+
JSON-LD has a number of options for serialization - more than other RDF formats. For
20+
example, IRIs within JSON-LD can be compacted down to CURIES when a "context" statement
21+
is added to the JSON-LD data that maps identifiers - short codes - to IRIs and namespace
22+
IRIs like this:
1723
18-
"@context": {
19-
"dct": "http://purl.org/dc/terms/",
20-
"schema": "https://schema.org/"
21-
}
24+
.. code-block:: json
25+
26+
"@context": {
27+
"dcterms": "http://purl.org/dc/terms/",
28+
"schema": "https://schema.org/"
29+
}
30+
31+
Here the short code "dcterms" is mapped to the IRI http://purl.org/dc/terms/ and
32+
"schema" to https://schema.org/, as per RDFLib's in-build namespace prefixes.
2233
"""
2334

2435
# import RDFLib and other things

rdflib/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
__docformat__ = "restructuredtext en"
5555

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

5959
__all__ = [
6060
"URIRef",

rdflib/extras/shacl.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
from rdflib.graph import _ObjectType
1616
from rdflib.term import IdentifiedNode
1717

18+
if TYPE_CHECKING:
19+
from rdflib.term import IdentifiedNode
20+
1821

1922
class SHACLPathError(Exception):
2023
pass

0 commit comments

Comments
 (0)