Skip to content

Release 3.0.10

Compare
Choose a tag to compare
@gkellogg gkellogg released this 12 Feb 00:50
· 357 commits to develop since this release
  • N-Triples/N-Quads:

    • Single quote (') was missing from N-Triples/Quads escaped characters.
    • Change N-Triples literal output encoding to limit the number of ECHAR escapes used based on Canonical form of N-Triples:
      • Within STRING_LITERAL_QUOTE, only the characters U+0022, U+005C, U+000A, U+000D are encoded using ECHAR. ECHAR **must not** be used for characters that are allowed directly in STRING_LITERAL_QUOTE`.
    • Fix bug in NTriples::Reader.unescape where it was overeager; now uses a string scanner to iterate through the string buffer.
  • Query:

    • Make query validation optional. (Notation-3 patterns will appear to be invalid).
    • Better support for non-distinguished variables.
    • Calculate pattern cost based on position of variables.
    • Add Solutions#dup.
    • Add existential modifier to variables. Note that this is not preserved from queries, which record the binding using the variable name, without other qualities.
    • Have solution iterators also return enumerators.
    • Guard against nil bindings in solutions.
    • Add Solutions#merge based on JOIN semantics.
  • Miscellaneous:

    • Update Repository to remember statement options along with object, and not simply the object itself. This allows inferred statements to be added to the repo, and come back as having been inferred.
    • Implement URI marshaling methods to avoid issue with serializing mutex.
    • Dup components of a URI to avoid freeze issues.
    • Support milliseconds in dateTime and time datatyped literals.