Skip to content
This repository has been archived by the owner on Feb 1, 2019. It is now read-only.

Update rdflib to 4.2.2 #515

Closed
wants to merge 1 commit into from
Closed

Conversation

pyup-bot
Copy link
Contributor

There's a new version of rdflib available.
You are currently using 3.4.0. I have updated it to 4.2.2

These links might come in handy: PyPI | Changelog | Repo

Changelog

4.2.2

========================

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

========================

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

========================

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

4.1.2

========================

This is a bug-fix release.

  • Fixed unicode/str bug in py3 for rdfpipe
    375

4.1.1

========================

This is a bug-fix release.

This will be the last RDFLib release to support python 2.5.

  • The RDF/XML Parser was made stricter, now raises exceptions for
    illegal repeated node-elements.
    363
  • The SPARQLUpdateStore now supports non-ascii unicode in update
    statements
    356
  • Fixed a bug in the NTriple/NQuad parser wrt. to unicode escape sequences
    352
  • HTML5Lib is no longer pinned to 0.95
    355
  • RDF/XML Serializer now uses parseType=Literal for well-formed XML literals
  • A bug in the manchester OWL syntax was fixed
    355

4.1

======================

This is a new minor version RDFLib, which includes a handful of new features:

  • A TriG parser was added (we already had a serializer) - it is
    up-to-date wrt. to the newest spec from: http://www.w3.org/TR/trig/
  • The Turtle parser was made up to date wrt. to the latest Turtle spec.
  • Many more tests have been added - RDFLib now has over 2000
    (passing!) tests. This is mainly thanks to the NT, Turtle, TriG,
    NQuads and SPARQL test-suites from W3C. This also included many
    fixes to the nt and nquad parsers.
  • ConjunctiveGraph and Dataset now support directly adding/removing
    quads with add/addN/remove methods.
  • rdfpipe command now supports datasets, and reading/writing context
    sensitive formats.
  • Optional graph-tracking was added to the Store interface, allowing
    empty graphs to be tracked for Datasets. The DataSet class also saw
    a general clean-up, see: 309
  • After long deprecation, BackwardCompatibleGraph was removed.

Minor enhancements/bugs fixed:

  • Many code samples in the documentation were fixed thanks to PuckCh
  • The new IOMemory store was optimised a bit
  • SPARQL(Update)Store has been made more generic.
  • MD5 sums were never reinitialized in rdflib.compare
  • Correct default value for empty prefix in N3
    312
  • Fixed tests when running in a non UTF-8 locale
    344
  • Prefix in the original turtle have an impact on SPARQL query
    resolution
    313
  • Duplicate BNode IDs from N3 Parser
    305
  • Use QNames for TriG graph names
    330
  • \uXXXX escapes in Turtle/N3 were fixed
    335
  • A way to limit the number of triples retrieved from the
    SPARQLStore was added
    346
  • Dots in localnames in Turtle
    345
    336
  • BNode as Graph's public ID
    300
  • Introduced ordering of QuotedGraphs
    291

4.0.1

========================

Following RDFLib tradition, some bugs snuck into the 4.0 release.
This is a bug-fixing release:

  • the new URI validation caused lots of problems, but is
    nescessary to avoid ''RDF injection'' vulnerabilities. In the
    spirit of ''be liberal in what you accept, but conservative in
    what you produce", we moved validation to serialisation time.
  • the rdflib.tools package was missing from the
    setup.py script, and was therefore not included in the
    PYPI tarballs.
  • RDF parser choked on empty namespace URI
    288
  • Parsing from sys.stdin was broken
    285
  • The new IO store had problems with concurrent modifications if
    several graphs used the same store
    286
  • Moved HTML5Lib dependency to the recently released 1.0b1 which
    support python3

4.0

======================

This release includes several major changes:

  • The new SPARQL 1.1 engine (rdflib-sparql) has been included in
    the core distribution. SPARQL 1.1 queries and updates should
    work out of the box.
  • SPARQL paths are exposed as operators on URIRefs, these can
    then be be used with graph.triples and friends:
 List names of friends of Bob:
g.triples(( bob, FOAF.knows/FOAF.name , None ))
All super-classes:

g.triples(( cls, RDFS.subClassOf * '+', None ))

 * a new ```graph.update``` method will apply SPARQL update statements
  • Several RDF 1.1 features are available:
  • A new DataSet class
  • XMLLiteral and HTMLLiterals
  • BNode (de)skolemization is supported through BNode.skolemize,
    URIRef.de_skolemize, Graph.skolemize and Graph.de_skolemize
  • Handled of Literal equality was split into lexical comparison
    (for normal == operator) and value space (using new Node.eq
    methods). This introduces some slight backwards incomaptible
    changes, but was necessary, as the old version had
    inconsisten hash and equality methods that could lead the
    literals not working correctly in dicts/sets.
    The new way is more in line with how SPARQL 1.1 works.
    For the full details, see:

https://github.com/RDFLib/rdflib/wiki/Literal-reworking

  • Iterating over QueryResults will generate ResultRow objects,
    these allow access to variable bindings as attributes or as a
    dict. I.e.
for row in graph.query(&#39;select ... &#39;) :
   print row.age, row[&quot;name&quot;]
  • "Slicing" of Graphs and Resources as syntactic sugar:
    (271)
graph[bob : FOAF.knows/FOAF.name]
          -&gt; generator over the names of Bobs friends
  • The SPARQLStore and SPARQLUpdateStore are now included
    in the RDFLib core
  • The documentation has been given a major overhaul, and examples
    for most features have been added.

Minor Changes:

  • String operations on URIRefs return new URIRefs: (258)
&gt;&gt;&gt; URIRef(&#39;http://example.org/&#39;)+&#39;test
rdflib.term.URIRef(&#39;http://example.org/test&#39;)
  • Parser/Serializer plugins are also found by mime-type, not just
    by plugin name: (277)
  • Namespace is no longer a subclass of URIRef
  • URIRefs and Literal language tags are validated on construction,
    avoiding some "RDF-injection" issues (266)
  • A new memory store needs much less memory when loading large
    graphs (268)
  • Turtle/N3 serializer now supports the base keyword correctly (248)
  • py2exe support was fixed (257)
  • Several bugs in the TriG serializer were fixed
  • Several bugs in the NQuads parser were fixed

Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

Happy merging! 🤖

@wagnerand wagnerand closed this Mar 16, 2017
@wagnerand wagnerand deleted the pyup-update-rdflib-3.4.0-to-4.2.2 branch March 16, 2017 14:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants