Skip to content

RDFLib 4.2.2

Compare
Choose a tag to compare
@joernhees joernhees released this 29 Jan 17:18

This is a bug-fix release, and the last release in the 4.X.X series.

Bug fixes:

  • SPARQL bugs fixed:
    • Fix for filters in sub-queries
      #693
    • Fixed bind, initBindings and filter problems
      #294
      #555
      #580
      #586
      #601
      #615
      #617
      #619
      #630
      #653
      #686
      #688
      #692
    • Fixed unexpected None value in SPARQL-update
      #633
      #634
    • Fix sparql, group by and count of null values with optional
      #631
    • Fixed sparql sub-query and aggregation bugs
      #607
      #610
      #628
      #694
    • Fixed parsing Complex BGPs as triples
      #622
      #623
    • Fixed DISTINCT being ignored inside aggregate functions
      #404
      #611
      #678
    • Fix unicode encoding errors in sparql processor
      #446
      #599
    • Fixed SPARQL select nothing no longer returning a None row
      #554
      #592
    • Fixed aggregate operators COUNT and SAMPLE to ignore unbound / NULL values
      #564
      #563
      #567
      #568
    • Fix sparql relative uris
      #523
      #524
    • SPARQL can now compare xsd:date type as well, fixes #532
      #532
      #533
    • fix sparql path order on python3: "TypeError: unorderable types: SequencePath() < SequencePath()""
      #492
      #525
    • SPARQL parser now robust to spurious semicolon
      #381
      #528
    • Let paths be comparable against all nodes even in py3 (preparedQuery error)
      #545
      #552
    • Made behavior of initN in update and query more consistent
      #579
      #600
  • SparqlStore:
    • SparqlStore now closes underlying urllib response body
      #638
      #683
    • SparqlStore injectPrefixes only modifies query if prefixes present and if adds a newline in between
      #521
      #522
  • Fixes and tests for AuditableStore
    #537
    #557
  • Trig bugs fixed:
    • trig export of multiple graphs assigns wrong prefixes to prefixedNames
      #679
    • Trig serialiser writing empty named graph name for default graph
      #433
    • Trig parser can creating multiple contexts for the default graph
      #432
    • Trig serialisation handling prefixes incorrectly
      #428
      #699
  • Fixed Nquads parser handling of triples in default graph
    #535
    #536
  • Fixed TypeError in Turtle serializer (unorderable types: DocumentFragment() > DocumentFragment())
    #613
    #648
    #666
    #676
  • Fixed serialization and parsing of inf/nan
    #655
    #658
  • Fixed RDFa parser from failing on time elements with child nodes
    #576
    #577
  • Fix double reduction of \ escapes in from_n3
    #546
    #548
  • Fixed handling of xsd:base64Binary
    #646
    #674
  • Fixed Collection.setitem broken
    #604
    #605
  • Fix ImportError when main already loaded
    #616
  • Fixed broken top_level.txt file in distribution
    #571
    #572
    #573

Enhancements:

  • Added support for Python 3.5+
    #526
  • More aliases for common formats (nt, turtle)
    #701
  • Improved RDF1.1 ntriples support
    #695
    #700
  • Dependencies updated and improved compatibility with pyparsing, html5lib, SPARQLWrapper and elementtree
    #550
    #589
    #606
    #641
    #642
    #650
    #671
    #675
    #684
    #696
  • Improved prefix for SPARQL namespace in XML serialization
    #493
    #588
  • Performance improvements:
    • SPARQL Aggregation functions don't build up memory for each row
      #678
    • Collections now support += (iadd), fixes slow creation of large lists
      #609
      #612
      #691
    • SPARQL Optimisation to expand BGPs in a smarter way
      #547
  • SPARQLStore improvements
    • improved SPARQLStore BNode customizability
      #511
      #512
      #513
      #603
    • Adding the option of using POST for long queries in SPARQLStore
      #672
      #673
    • Exposed the timeout of SPARQLWrapper
      #531
  • SPARQL prepared query now carries the original (unparsed) parameters
    #565
  • added .n3 methods for path objects
    #553
  • Added support for xsd:gYear and xsd:gYearMonth
    #635
    #636
  • Allow duplicates in rdf:List
    #223
    #690
  • Improved slicing of Resource objects
    #529

Cleanups:

  • cleanup: SPARQL Prologue and Query new style classes
    #566
  • Reduce amount of warnings, especially closing opened file pointers
    #518
    #651
  • Improved ntriples parsing exceptions to actually tell you what's wrong
    #640
    #643
  • remove ancient and broken 2.3 support code.
    #680
    #681
  • Logger output improved
    #662
  • properly cite RGDA1
    #624
  • Avoid class reference to imported function
    #574
    #578
  • Use find_packages for package discovery.
    #590
  • Prepared ClosedNamespace (and _RDFNamespace) to inherit from Namespace (5.0.0)
    #551
    #595
  • Avoid verbose build logging
    #534
  • (ultra petty) Remove an unused import
    #593

Testing improvements:

  • updating deprecated testing syntax
    #697
  • make test 375 more portable (use sys.executable rather than python)
    #664
    #668
  • Removed outdated, skipped test for #130 that depended on content from the internet
    #256
  • enable all warnings during travis nosetests
    #517
  • travis updates
    #659
  • travis also builds release branches
    #598

Doc improvements:

  • Update list of builtin serialisers in docstring
    #621
  • Update reference to "Emulating container types"
    #575
    #581
    #583
    #584
  • docs: clarify the use of an identifier when persisting a triplestore
    #654
  • DOC: unamed -> unnamed, typos
    #562