Rdflib Versions Save

RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.

4.2.2

7 years ago

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

4.2.1

8 years ago

This is a bug-fix release.

Minor enhancements:

  • Added a Networkx connector #471, #507
  • Added a graph_tool connector #473
  • Added a graphs method to the Dataset object #504, #495
  • Batch commits for SPARQLUpdateStore #486

Bug fixes:

  • Fixed bnode collision bug #506, #496, #494
  • fix util.from_n3() parsing Literals with datatypes and Namespace support #503, #502
  • make Identifier.__hash__ stable wrt. multi processes #501, #500
  • fix handling URLInputSource without content-type #499, #498
  • no relative import in algebra when run as a script #497
  • Duplicate option in armstrong theme.conf removed #491
  • Variable.__repr__ returns a python representation string, not n3 #488
  • fixed broken example #482
  • trig output fixes #480
  • set PYTHONPATH to make rdfpipe tests use the right rdflib version #477
  • fix RDF/XML problem with unqualified use of rdf:about #470, #468
  • AuditableStore improvements #469, #463
  • added asserts for graph.set([s,p,o]) so s and p aren't None #467
  • threading.RLock instances are context managers #465
  • SPARQLStore does not transform Literal('') into Literal('None') anymore #459, #457
  • slight performance increase for graph.all_nodes() #458

Testing improvements:

  • travis: migrate to docker container infrastructure #508
  • test for narrow python builds (chars > 0xFFFF) (related to #453, #454 ) #456, #509
  • dropped testing py3.2 #448
  • Running a local fuseki server on travis and making it failsafe #476, #475, #474, #466, #460
  • exclude def main(): functions from test coverage analysis #472

4.2.0

9 years ago

This is a new minor version of RDFLib including a handful of new features:

  • Supporting N-Triples 1.1 syntax using UTF-8 encoding #447, #449, #400
  • Graph comparison now really works using RGDA1 (RDF Graph Digest Algorithm 1) #441 #385
  • More graceful degradation than simple crashing for unicode chars > 0xFFFF on narrow python builds. Parsing such characters will now work, but issue a UnicodeWarning. If you run python -W all you will already see a warning on import rdflib will show a warning (ImportWarning). #453, #454
  • URLInputSource now supports json-ld #425
  • SPARQLStore is now graph aware #401, #402
  • SPARQLStore now uses SPARQLWrapper for updates #397
  • Certain logging output is immediately shown in interactive mode #414
  • Python 3.4 fully supported #418

Minor enhancements & bugs fixed:

  • Fixed double invocation of 2to3 #437
  • PyRDFa parser missing brackets #434
  • Correctly handle \uXXXX and \UXXXXXXXX escapes in n3 files #426
  • Logging cleanups and keeping it on stderr #420 #414 #413
  • n3: allow @base URI to have a trailing '#' #407 #379
  • microdata: add file:// to base if it's a filename so rdflib can parse its own output #406 #403
  • TSV Results parse skips empty bindings in result #390
  • fixed accidental test run due to name #389
  • Bad boolean list serialization to Turtle & fixed ambiguity between Literal(False) and None #387 #382
  • Current version number & PyPI link in README.md #383