Skip to content

Releases: dotnetrdf/dotnetrdf

v3.4.1

09 Oct 08:29
238337f

Choose a tag to compare

This is a minor bug-fix and performance enhancement release.

ENHANCEMENT: Update the asynchronous pull query engine to use indexed lookups for joins.
FIX: Constructors for SPARQL update commands now validate inputs to guard against null values for required parameters. Documentation has been updated for the affected classes.
FIX: Fixed the logic for determining the base URI specified by custom RDF handlers when parsing. Thanks to @rorlic for the report. (#758)

v3.4.1-pre001

19 Sep 14:36
5850950

Choose a tag to compare

v3.4.1-pre001 Pre-release
Pre-release

This is an minor enhancement release that adds indexed lookup for joins using the pull query processor and updates library dependencies.

v3.4.0

19 Sep 11:54
c1a5127

Choose a tag to compare

dotNetRDF v3.4.0

v3.3.2

26 Jan 16:43
d587c1a

Choose a tag to compare

This release fixes a couple of bugs in the RDFS reasoner.

  • Fix to handle graphs where there is a circular chain of rdfs:subPropertyOf or rdfs:subClassOf triples (#680)
  • Fix to handle graphs where there is a resource with multiple rdfs:subPropertyOf or rdfs:subClassOf properties (#682)

dotNetRDF v3.3.0

17 Oct 17:39
a12eb0c

Choose a tag to compare

dotNetRDF v3.3.0

  • NEW: A new SPARQL query processor that works on an asynchronous enumeration approach which aims to minimize the number and size of intermediate result sets with a view to being able to support queries over larger in-memory datasets. The new implementation makes use of .NET async enumerables and thus is not supported under .NET Framework. As a result of this compatibility issue, the processor is provided in a separate NuGet package (dotNetRdf.Query.Pull) . This new processor should be considered EXPERIMENTAL with this release and is not recommended for production use.

  • ENHANCEMENT: The JSON-LD DefaultDocumentLoader static class now exposes properties to configure the maximum allowed response size and maximum number of redirects to follow when loading JSON-LD documents from the web. Under the hood the implementation has been updated to use the more modern HttpClient stack in .NET. Thanks to @zotanmew for the report. (#650)

  • ENHANCEMENT: The QueryBuilder now optimises the generated SparqlQuery by default. Whether or not to optimize the generated query, and which optimisers to apply can be controlled through arguments to the Build method. Thanks to @RetYn for the report. (#658)

v3.2.1

17 Jul 15:55
c212a48

Choose a tag to compare

This is a bug-fix release addressing a number of issues reported by members of the dotNetRDF user community.

  • FIX: Fix SERVICE query timeout calculation in update commands which was causing SPARQL updates with a SERVICE clause to abort prematurely. Thanks to @rdstn for the report. (#641)
  • ENHANCEMENT: Update default syntax of the TRiG parser to be RDF 1.1 + RDF Star to be consistent with the defaults of the NTriples, NQuads and Turtle parsers. Thanks to @markus-ap for the report. (#640)
  • FIX: Fix parsing of datatyped literals in collections in TRiG 1.1 + RDF Star
  • FIX: Fix handling of QNames starting with "prefix" in Turtle tokenizer
  • FIX: Fix RdfCanonicalizer so that the line ending in the canonical NQuads output is always \n and not \r\n on Windows platforms. Thanks to @veikkoeeva for the report. (#631)
  • FIX: Fix handling of CONSTRUCT queries so that blank nodes in the CONSTRUCT template are unique for each solution binding. Thanks to @JohanMollevikCap for the report. (#639)
  • FIX: Fix HtmlSchemaWriter to handle writing classes whose IRI is not successfully compressed to a QName. Thanks to @sixdiamants for the report. (#629)

v3.2.0

11 Jun 11:19

Choose a tag to compare

dotNetRDF v3.2.0

Changes in this release

  • NEW: Implementation of the November 2023 draft of the W3C RDF Dataset Canonicalization specification. Thanks to @zotanmew and @deviant for this contribution. (#615)
  • NEW: Linked Data Fragments (LDF) client - a new implementation of the IGraph interface that dispatches all graph operations to a Triple Pattern Fragments (TPF) endpoint. Thanks to @langsamu for the contribution. (#608)
  • ENHANCEMENT: The Loader class can now load quad formats such as TRiG and JSON-LD to graphs. The graph will contain the merge of all triples across all graphs provided by the quad format parser. (#487)
  • FIX: Fixed the formatting of pretty-printed Turtle files to put each item in an RDF collection onto a separate line. Thanks to @MichaelHoffmeisterFesto for the bug report. (#606)
  • FIX: Fix for querying and constructing language tagged strings in the Leviathan engine. Thanks to @ddeschepper for the report and fix (#627)
  • ENHANCEMENT: Eliminate use of deprecated Lucene.NET APIs from the full text index implementation. (#597)

dotNetRDF v3.1.1

07 Oct 17:08

Choose a tag to compare

This is primarily a bugfix release with one new API added to provide more control over how SPARQL results are constructed.

  • FIX: Fixed a bug in the JsonLdWriter that caused an error when handling an RDF list with an unreferenced initial blank node. Thanks to @petarhristov94 for the report and repro. (#600)
  • FIX: Fixed a bug with handling multiple .GroupBy() calls in the QueryBuilder which was resulting in only the first and last expressions in the GroupBy chain to be added to the built query. Thanks to @jiatao99 for the bug report and proposed fix. (#407)
  • ENHANCEMENT: Added VDS.RDF.Query.ISparqlResultFactory to allow implementers to specify how an ISet of variable bindings are converted to an ISparqlResult instance before being passed to the client's ISparqlResultHandler. The factory instance to be used can now be set via the LeviathanQueryOptions.SparqlResultFactory property. The default implementation creates instances of the VDS.RDF.SparqlResult class. Thanks to @jiatao99 for the suggestion. (#478)

v3.1.0

10 Sep 12:19

Choose a tag to compare

dotNetRDF v3.1.0

Changes in this release:

  • FIX: We marked a few additional APIs as obsolete. These are mostly internal/protected APIs so this change will only affect users who are extending the affected classes. The APIs that have been deprecated are those that are internally implemented using the old HttpWebRequest web APIs and all of them have alternatives that are implemented uing the more modern HttpClient API. (#88)
  • FIX: The processing of a SPARQL zero-or-more property path was fixed to properly handle the case where there is no initial context and the path must be treated as matching all triples that match the subject and object elements of the triple pattern. Thanks to @giacomociti for the bug report and repro. (#571)
  • ENHANCEMENT: The BaseTripleCollection class (which is the type of the Triples property on IGraph) now supports indexing with a three-tuple of nullable INode instances as a more compact way to use the existing WithSubject(), WithSubjectPredicate() etc. methods. e.g. graph.Triples[(s, p, null)] returns an enumeration of all triples with the specified subject and predicate nodes. (#498)
  • ENHANCEMENT: The ConfigurationLoader now supports creating NodeFactory and UriFactory instances and using them to configure Graphs and Triple Stores. It has also been updated to provide a way to set the name of a graph independetly of the BaseUri of the graph. (#500)
  • ENHANCEMENT: Language tag validation in the NodeFactory now supports three modes. LanguageTagValidationMode.None disables langauge tag validation. LanguageTagValidationMode.Turtle validates language tags against the more relaxed definition in the Turtle 1.1 specification. LanguageTagValidationMode.WellFormed validates language tags against the stricter BCP-47 production for well-formed tags. The default validation mode is now set to LanguageTagValidationMode.Turtle. The properties NodeFactory.ValidateLanguageTags and NodeFactoryOptions.ValidateLanguageTags are both deprecated and replaced by INodeFactory.LanguageTagValidation and NodeFactoryOptions.LanguageTagValidation respectively. Thanks to @IS4Code for their suggestions and input on this. (#565)
  • FIX:* Fix for the code that detects compressable collections which should ensure that rdf:List collections that can be represented in compressed syntax in Turtle/N3/TriG are properly compressed, and to ensure that oddly shaped lists where list nodes have multiple or missing rdf:first triples or multiple rdf:rest triples do not cause the serialisation process to throw an exception. Thanks to @faubulous for the report (#519, #575)
  • DOCUMENTATION:* Add documentation about the way we now sign the assemblies, how that affects the use of the assemblies we distribute and our recommendation for users who need signed assemblies for full-trust situations.

v3.0.0

19 Mar 12:22
9e26601

Choose a tag to compare

dotNetRDF 3.0.0

This is a new major version of the dotNetRDF library.

This release introduces a number of breaking API changes and a repackaging of the monolithic 2.x library into several smaller modules, as well as support for new features such as RDF-Star. Upgrading users are strongly advised to read through the section on Upgrading to dotNetRDF 3.0 in the documentation for guidance on upgrading to 3.0.

dotNetRDF 3.0.0 can be found here on NuGet and also on GitHub.