Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency rdflib to v6.3.2 #38

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 23, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
rdflib 6.0.0 -> 6.3.2 age adoption passing confidence

Release Notes

RDFLib/rdflib (rdflib)

v6.3.2

Compare Source

fix: ROUND, ENCODE_FOR_URI and SECONDS SPARQL functions (#​2314)

Commit af17916, closes #​2314.

ROUND was not correctly rounding negative numbers towards positive infinity,
ENCODE_FOR_URI incorrectly treated / as safe, and SECONDS did not include
fractional seconds.

This change corrects these issues.

fix: add __hash__ and __eq__ back to rdflib.paths.Path (#​2292)

Commit fe1a8f8, closes #​2292.

These methods were removed when @total_ordering was added, but
@total_ordering does not add them, so removing them essentially
removes functionality.

This change adds the methods back and adds tests to ensure they work
correctly.

All path related tests are also moved into one file.

fix: Add to_dict method to the JSON-LD Context class. (#​2310)

Commit d7883eb, closes #​2310.

Context.to_dict is used in JSON-LD serialization, but it was not implemented.
This change adds the method.

fix: add the wgs namespace binding back (#​2294)

Commit adf8eb2, closes #​2294.

#​1686 inadvertently removed the wgs prefix.
This change adds it back.

fix: change the prefix for https://schema.org/ back to schema (#​2312)

Commit 3faa01b, closes #​2312.

The default prefix for https://schema.org/ registered with
rdflib.namespace.NamespaceManager was inadvertently changed to sdo in 6.2.0,
this however constitutes a breaking change, as code that was using the schema
prefix would no longer have the same behaviour. This change changes the prefix
back to schema.

fix: include docs and examples in the sdist tarball (#​2289)

Commit 394fb50, closes #​2289.

The sdists generated by setuptools included the docs and examples
directories, and they are needed for building docs and running tests using the
sdist.

This change includes these directories in the sdist tarball.

A test:sdist task is also added to Taskfile.yml which uses the sdists to run
pytest and build docs.

fix: IRI to URI conversion (#​2304)

Commit dfa4054, closes #​2304.

The URI to IRI conversion was percentage-quoting characters that should not have
been quoted, like equals in the query string. It was also not quoting things
that should have been quoted, like the username and password components of a
URI.

This change improves the conversion by only quoting characters that are not
allowed in specific parts of the URI and quoting previously unquoted components.
The safe characters for each segment are taken from
RFC3986.

The new behavior is heavily inspired by

werkzeug.urls.iri_to_uri
though there are some differences.

fix: JSON-LD context construction from a dict (#​2306)

Commit 832e693, closes #​2306.

A variable was only being initialized for string-valued inputs, but if a dict
input was passed the variable would still be accessed, resulting in a
UnboundLocalError.

This change initializes the variable always, instead of only when string-valued
input is used to construct a JSON-LD context.

fix: reference to global inside get_target_namespace_elements (#​2311)

Commit 4da67f9, closes #​2311.

get_target_namespace_elements references the args global, which is not
defined if the function is called from outside the module. This commit fixes
that instead referencing the argument passed to the function.

fix: restore the 6.1.1 default bound namespaces (#​2313)

Commit 57bb428, closes #​2313.

The namespaces bound by default by rdflib.graph.Graph and
rdflib.namespace.NamespaceManager was reduced in version 6.2.0 of RDFLib,
however, this also would cause code that worked with 6.1.1 to break, so this
constituted a breaking change. This change restores the previous behaviour,
binding the same namespaces as was bound in 6.1.1.

To bind a reduced set of namespaces, the bind_namespaces parameter of
rdflib.graph.Graph or rdflib.namespace.NamespaceManager can be used.

test: add webtest marker to tests that use the internet (#​2295)

Commit cfe6e37, closes #​2295.

This is being done so that it is easier for downstream packagers to run the test
suite without requiring internet access.

To run only tests that does not use the internet, run pytest -m "not webtest".

The validation workflow validates that test run without internet access by
running the tests inside firejail --net=none.

chore: Update CONTRIBUTORS from commit history (#​2305)

Commit 1ab4fc0, closes #​2305.

This ensures contributors are credited. Also added .mailmap to fix early misattributed contributions.

docs: fix typo in NamespaceManager documentation (#​2291)

Commit 7a05c15, closes #​2291.

Changed cdterms to dcterms, see #​2196 for more info.

v6.3.1

Compare Source

This is a patch release that includes a singular user facing fix, which is the
inclusion of the test directory in the sdist release artifact.

The following sections describe the changes included in this version.

build: explicitly specify packages in pyproject.toml (#​2280)

Commit 334787b, closes #​2280.

The default behaviour makes it more of a hassle to republish RDFLib to
a separate package, something which I plan to do for testing purposes
and possibly other reasons.

More changes may follow in a similar vein.

build: include test in sdist (#​2282)

Commit e3884b7, closes #​2282.

A perhaps minor regression from earlier versions is that the sdist does not include the test folder, which makes it harder for downstreams to use a single source of truth to build and test a reliable package. This restores the test folder for sdists.

docs: don't use kroki (#​2284)

Commit bea782f, closes #​2284.

The Kroki server is currently experiencing some issues which breaks our
build, this change eliminates the use of Kroki in favour of directly
using the generated SVG images which is checked into git alongside the
PlantUML sources.

I also added a task to the Taskfile to re-generate the SVG images from
the PlantUML sources by calling docker.

v6.3.0

Compare Source

This is a minor release that includes bug fixes and features.

Important Information
  • RDFLib will drop support for Python 3.7 when it becomes EOL on 2023-06-27,
    this will not be considered a breaking change, and RDFLib's major version
    number will not be changed solely on the basis of Python 3.7 support being
    dropped.
User facing changes

This section lists changes that have a potential impact on users of RDFLib,
changes with no user impact are not included in this section.

  • Add chunk serializer that facilitates the encoding of a graph into multiple
    N-Triples encoded chunks.
    PR #​1968.

  • Fixes passing NamespaceManager in ConjunctiveGraph's method get_context().
    The get_context() method will now pass the NamespaceManager of ConjunctiveGraph to the namespace_manager attribute of the newly created context graph, instead of the ConjunctiveGraph object itself. This cleans up an old FIXME comment.
    PR #​2073.

  • InfixOWL fixes and cleanup.
    Closed issue #​2030.
    PR #​2024,
    and PR #​2033.

    • rdflib.extras.infixowl.Restriction.__init__ will now raise a ValueError
      if there is no restriction value instead of an AssertionError.
    • Fixed numerous issues with
      rdflib.extras.infixowl.Restriction.restrictionKind which was essentially
      not working at all.
    • Fixed how rdflib.extras.infixowl.Property.__repr__ uses
      rdflib.namespace.OWL.
    • Removed rdflib.extras.infixowl.Infix.__ror__ and
      rdflib.extras.infixowl.Infix.__or__ as they were broken.
    • Removed unused rdflib.extras.infixowl.termDeletionDecorator.
    • Added rdflib.extras.infixowl.MalformedClassError which will replace
      rdflib.extras.infixowl.MalformedClass (which is an exception) in the next
      major version.
    • Eliminated the use of mutable data structures in some argument defaults.
  • Fixed some cross-referencing issues in RDFLib documentation.
    Closed issue #​1878.
    PR #​2036.

  • Fixed import of xml.sax.handler in rdflib.plugins.parsers.trix so that it
    no longer tries to import it from xml.sax.saxutils.
    PR #​2041.

  • Removed a pre python 3.5 regex related workaround in the REPLACE SPARQL
    function.
    PR #​2042.

  • Fixed some issues with SPARQL XML result parsing that caused problems with
    lxml. Closed issue #​2035,
    issue #​1847.
    PR #​2044.

    • Result parsing from
      TextIO
      streams now work correctly with lxml installed and with XML documents that
      are not utf-8 encoded.
    • Elements inside <results> that are not <result> are now ignored.
    • Elements inside <result> that are not <binding> are now ignored.
    • Also added type hints to rdflib.plugins.sparql.results.xmlresults.
  • Added type hints to the following modules:

  • Removed pre python 3.7 compatibility code.
    PR #​2066.

    • Removed fallback in case the shutil module does not have the move
      function.
  • Improve file-URI and path handling in Graph.serialize and Result.serialize to
    address problems with windows path handling in Result.serialize and to make
    the behavior between Graph.serialize and Result.serialie more consistent.
    Closed issue #​2067.
    PR #​2065.

    • String values for the destination argument will now only be treated as
      file URIs if urllib.parse.urlparse returns their schema as file.
    • Simplified file writing to avoid a temporary file.
  • Narrow the type of context-identifiers/graph-names from rdflib.term.Node to
    rdflib.term.IdentifiedNode as no supported abstract syntax allows for other
    types of context-identifiers.
    PR #​2069.

  • Always parse HexTuple files as utf-8.
    PR #​2070.

  • Fixed handling of Literal datatype to correctly differentiate between
    blank string values and undefined values, also changed the datatype of
    rdflib.term.Literal.datatype from Optional[str] to Optional[URIRef] now
    that all non-URIRef str values will be converted to URIRef.
    PR #​2076.

  • Fixed the generation of VALUES block for federated queries.
    The values block was including non-variable values like BNodes which resulted
    in invalid queries. Closed issue #​2079.
    PR #​2084.

  • Only register the rdflib.plugins.stores.berkeleydb.BerkeleyDB as a store
    plugin if the berkeleydb module is present.
    Closed issue #​1816.
    PR #​2096.

  • Fixed serialization of BNodes in TriG.
    The TriG serializer was only considering BNode references inside a single
    graph and not counting the BNodes subjects as references when considering if a
    BNode should be serialized as unlabeled blank nodes (i.e. [ ]), and as a
    result it was serializing BNodes as unlabeled if they were in fact referencing
    BNodes in other graphs.
    PR #​2085.

  • Deprecated rdflib.path.evalPath in favor of rdflib.path.eval_path which is
    PEP-8 compliant. PR #​2046

  • Added charset=UTF-8 to the Content-Type header sent when doing an update
    with SPARQLConnector. Closed issue
    #​2095
    . PR
    #​2112
    .

  • Removed the rdflib.plugins.sparql.parserutils.plist class as it served no
    discernible purpose. PR #​2143

  • Changed the TriG serializer to not generate prefixes for empty graph IDs.
    Closed issue #​2154.
    PR #​2160.

  • Fixed handling of relative context files in the JSON-LD parser.
    Closed issue #​2164.
    PR #​2165.

  • Improved failure handling in when computing QName for an unbound namespace.
    PR #​2169.

  • Fixed a typo in the default bound namespace for DCTERMS.
    PR #​2173.

  • Add support for supplying a custom namespace manager to n3() methods.
    PR #​2174.

  • Fixed the query string parameters for SPARQLConnector when using POST method.
    PR #​2180.

  • Fixed extra keyword argument and header handling in SPARQLConnector that
    resulted in headers from SPARQLConnector.update polluting headers from
    SPARQLConnector.query vice versa.
    PR #​2183

  • Added version restrictions for dependencies.
    PR #​2187

  • Switch to using importlib for getting the version of RDFLib instead of
    hard-coding it in __version__.
    PR #​2187.

  • Removed non-runtime extras, for building documentation, running tests and
    other development operations the versions and dependencies are now
    managed with Poetry.
    PR #​2187.

  • Fixed a bug that occurred when VALUES was used outside a GROUP BY clause.
    PR #​2188.

  • Fixed a bug that occurred when using SELECT * inside another SELECT *.
    Closed issue #​1722.
    PR #​2190.

  • Added SPARQL DESCRIBE query implementation.
    Closes issue #​479.
    PR #​2221.

  • Fixed a bug in rdflib.tools.defined_namespace_creator that occurred when
    multiple rdfs:comment were present on one resource.
    PR #​2254.

  • Fixed rdflib.util._iri2uri() to not quote the netloc parameter.
    PR #​2255.

  • Fixed the HexTuple parser's handling of input sources to works for more input sources.
    PR #​2255.

  • Fixed the creation of input source objects from IO stream sources.
    PR #​2255.

  • Eliminated the use of the deprecated rdflib.path.evalPath function.
    PR #​2266

  • Added documentation for security considerations and available mitigations.
    Closed issue #​1844.
    PR #​2267.

PRs merged since last release

v6.2.0

Compare Source

This is a minor release that includes bug fixes and features.

User facing changes

This section lists changes that have a potential impact on users of RDFLib,
changes with no user impact are not included in this section.

  • SPARQL: Fixed handing of HAVING clause with variable composition. Closed
    issue #​936 and issue
    #​935
    , PR
    #​1093
    .
  • JSON-LD parser: better support for content negotiation. Closed issue
    #​1423
    , PR
    #​1436
    .
  • Removed the following functions that were marked as deprecated and scheduled
    for removal in version 6.0.0: Graph.load, Graph.seq, Graph.comment,
    Graph.label. PR #​1527.
  • Use functools.total_ordering to implement most comparison operations for
    rdflib.paths.Path. Closed issue
    #​685
    , PR
    #​1528
    .
  • Fixed error handling for invalid URIs. Closed issue
    #​821
    , PR
    #​1529
    .
  • InfixOWL: Fixed handling of cardinality 0. Closed issue
    #​1453
    and issue
    #​944
    , PR
    #​1530
    .
  • Added quad support to handling to rdflib.graph.ReadOnlyGraphAggregate.quads.
    Closed issue #​430, PR
    #​1590
  • Fixed base validation used when joining URIs. PR
    #​1607
    .
  • Add GEO defined namespace for GeoSPARQL. Closed issue
    #​1371
    , PR
    #​1622
    .
  • Explicitly raise exception when
    rdflib.plugins.stores.sparqlstore.SPARQLStore.update is called. Closed
    issue #​1032, PR
    #​1623
    .
  • Added rdflib.plugins.sparql.processor.prepareUpdate. Closed issue
    #​272
    and discussion
    #​1581
    , PR
    #​1624
    .
  • Added rdflib.namespace.DefinedNamespaceMeta.__dir__. Closed issue
    #​1593
    , PR
    #​1626
    .
  • Removed TypeCheckError, SubjectTypeError, PredicateTypeError,
    ObjectTypeError and ContextTypeError as these exceptions are not raised by
    RDFLib and their existence will only confuse users which may expect them to be
    used. Also remove corresponding check_context, check_subject,
    check_predicate, check_object, check_statement, check_pattern that is
    unused. PR #​1640.
  • Improved the population of the Accept HTTP header so that it is correctly
    populated for all formats. PR
    #​1643
    .
  • Fixed some issues with SPARQL Algebra handling/translation. PR
    #​1645
    .
  • Add nquads to recognized file extensions.
    PR #​1653.
  • Fixed issues that prevented HexTuples roundtripping.
    PR #​1656.
  • Make rdflib.plugins.sparql.operators.unregister_custom_function idempotent.
    Closed issue #​1492,
    PR #​1659.
  • Fixed the handling of escape sequences in the N-Triples and N-Quads parsers.
    These parsers will now correctly handle strings like "\\r". The time it
    takes for these parsers to parse strings with escape sequences will be
    increased, and the increase will be correlated with the amount of escape
    sequences that occur in a string. For strings with many escape sequences the
    parsing speed seems to be almost 4 times slower. Closed issue
    #​1655
    , PR
    #​1663
    .
    • Also marked rdflib.compat.decodeStringEscape as deprecated as this
      function is not used anywhere in RDFLib anymore and the utility that it does
      provide is not implemented correctly. It will be removed in RDFLib 7.0.0
  • Added an abstract class IdentifiedNode as a superclass of BNode and
    URIRef. Closed issue #​1526,
    PR #​1680.
  • Fixed turtle serialization of rdf:type in subject, object. Closed issue
    #​1649
    , PR
    #​1649
    .
  • Fixed turtle serialization of PNames that contain brackets. Closed issue
    #​1661
    , PR
    #​1678
    .
  • Added support for selecting which namespace prefixes to bind. Closed issue
    #​1679
    and issue #​1880, PR
    #​1686
    , PR
    #​1845
    and PR
    #​2018
    .
    • Also added ConjunctiveGraph.get_graph.
    • Also added an override argument to Store.bind which behaves similarly to
      the override parameter for NamespaceManager.bind.
    • Also fixed handing of support of the override parameter to
      NamespaceManager.bind by passing.
  • Eliminated a DeprecationWarning related to plugin loading issue
    #​1631
    , PR
    #​1694
    .
  • Removed the rdflib.graph.ContextNode and rdflib.graph.DatasetQuad type
    aliases. These were not being widely used in RDFLib and were also not correct.
    PR #​1695.
  • Added DefinedNamespace.as_jsonld_context. PR
    #​1706
    .
  • Added rdflib.namespace.WGS for WGS84. Closed issue
    #​1709
    , PR
    #​1710
    .
  • Improved performance of DefinedNamespace by caching attribute values. PR
    #​1718
    .
  • Only configure python logging if sys.stderr has a isatty attribute. Closed
    issue #​1760, PR
    #​1761
    .
  • Removed unused rdflib.compat.etree_register_namespace. PR
    #​1768
    .
  • Fixed numeric shortcut handling in rdflib.util.from_n3. Closed issue
    #​1769
    , PR
    #​1771
    .
  • Add ability to detect and mark ill-typed literals. Closed issue
    #​1757
    and issue
    #​848
    , PR
    #​1773
    and PR
    #​2003
    .
  • Optimized NamespaceManager.compute_qname by caching validity. PR
    #​1779
    .
  • SPARQL: Fixed the handling of EXISTS inside BIND for SPARQL. This was
    raising an exception during evaluation before but is now correctly handled.
    Closed issue #​1472, PR
    #​1794
    .
  • Propagate exceptions from SPARQL TSV result parser. Closed issue
    #​1477
    , PR
    #​1809
  • Eliminate usage of rdflib.term.RDFLibGenid as a type as this caused issues
    with querying. Closed issue
    #​1808
    , PR
    #​1821
  • Fixed handing of DefinedNamespace control attributes so that
    inspect.signature works correctly on defined namespaces. PR
    #​1825
    .
  • Fixed namespace rebinding in Memory, SimpleMemory and BerkelyDB stores.
    Closed issue #​1826, PR
    #​1843
    .
  • Fixed issues with the N3 serializer. Closed issue
    #​1701
    and issue
    #​1807
    , PR
    #​1858
    :
    • The N3 serializer was incorrectly considers a subject as seralized if it is serialized in a quoted graph.
    • The N3 serializer does not consider that the predicate of a triple can also
      be a graph.
  • Added NamespaceManager.expand_curie. Closed issue
    #​1868
    , PR
    #​1869
    .
  • Added Literal.__sub__ and support for datetimes to both Literal.__add__
    and Literal.__sub__. PR #​1870.
  • SPARQL: Fix None/undefined handing in GROUP_CONCAT. Closed issue
    #​1467
    , PR
    #​1887
    .
  • SPARQL: Fixed result handling for SERVICE directive. Closed issue
    #​1278
    , PR
    #​1894
    .
  • Change the skolem default authority for RDFLib from http://rdlib.net/ to
    https://rdflib.github.io and also change other uses of http://rdlib.net/
    to https://rdflib.github.io. Closed issue
    #​1824
    , PR
    #​1901
    .
  • Fixes handling of non-ascii characters in IRIs. Closed issue
    #​1429
    , PR
    #​1902
    .
  • Pass generate to NamespaceManager.compute_qname from
    NamespaceManager.compute_qname_strict so it raises an error in the same
    case as the "non-strict" version. PR
    #​1934
    .
  • Log warnings when encountering ill-typed literals.
    PR #​1944.
  • Fixed error handling in TriX serializer. PR
    #​1945
    .
  • Fixed QName generation in XML serializer.
    PR #​1951
  • Remove unnecessary hex expansion for PN_LOCAL in SPARQL parser. Closed issue
    #​1957
    ,
    PR #​1959.
  • Changed the TriX parser to support both trix and TriX as root element. PR
    #​1966
    .
  • Fix SPARQL CSV result serialization of blank nodes.
    PR #​1979.
  • Added a URIRef.fragment property.
    PR #​1991.
  • Remove superfluous newline from N-Triples output. Closed issue
    #​1998
    , PR
    #​1999
    .
  • Added a bunch of type hints. The following modules have nearly complete type hints now:
    • rdflib.namespace
    • rdflib.term
    • rdflib.parser
PRs merged since last release

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title fix(deps): update dependency rdflib to v6.3.1 fix(deps): update dependency rdflib to v6.3.2 Mar 27, 2023
@renovate renovate bot force-pushed the renovate/rdflib-6.x-lockfile branch from df6f9de to f9b79fd Compare May 28, 2023 12:26
@renovate renovate bot force-pushed the renovate/rdflib-6.x-lockfile branch from f9b79fd to 737a1b1 Compare July 9, 2023 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants