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

Update rdflib to 4.2.1 #4390

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.1

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

Changelog

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('select ... ') :
   print row.age, row["name"]
  • "Slicing" of Graphs and Resources as syntactic sugar:
    (271)
graph[bob : FOAF.knows/FOAF.name]
          -> 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)
>>> URIRef('http://example.org/')+'test
rdflib.term.URIRef('http://example.org/test')
  • 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! 🤖

@EnTeQuAk EnTeQuAk self-assigned this Jan 18, 2017
@EnTeQuAk EnTeQuAk closed this Jan 18, 2017
@EnTeQuAk EnTeQuAk deleted the pyup-update-rdflib-3.4.0-to-4.2.1 branch January 18, 2017 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants