Skip to content

RDFlib 6.2.0

Compare
Choose a tag to compare
@aucampia aucampia released this 16 Jul 12:05
7395c57

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