Varve.Turtle 0.1.0-preview.20

This is a prerelease version of Varve.Turtle.
dotnet add package Varve.Turtle --version 0.1.0-preview.20
                    
NuGet\Install-Package Varve.Turtle -Version 0.1.0-preview.20
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Varve.Turtle" Version="0.1.0-preview.20" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Varve.Turtle" Version="0.1.0-preview.20" />
                    
Directory.Packages.props
<PackageReference Include="Varve.Turtle" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Varve.Turtle --version 0.1.0-preview.20
                    
#r "nuget: Varve.Turtle, 0.1.0-preview.20"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Varve.Turtle@0.1.0-preview.20
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Varve.Turtle&version=0.1.0-preview.20&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Varve.Turtle&version=0.1.0-preview.20&prerelease
                    
Install as a Cake Tool

Varve.Turtle

N-Triples, N-Quads, Turtle and TriG, read and written over UTF-8, allocating exactly zero bytes per quad.

  • All 883 cases of the W3C rdf11 Turtle, TriG, N-Triples and N-Quads suites and the rdf12 N-Triples and N-Quads syntax suites pass, with no exemptions. Syntax and evaluation both: an evaluation test's dataset is compared up to a bijection of blank nodes.
  • Five ways in: a span, a ReadOnlySequence, a Stream, a Stream asynchronously, and a PipeReader — plus TurtleReader and NQuadsReader for pulling one quad at a time. The answer does not depend on how the input arrived: every suite input is parsed whole and then again split at each byte offset, and required to give the same quads, or the same error kind and position; and every suite input is read both ways round, push and pull, and required to give the same answer again.
  • The recovery unit fits the syntax. N-Triples resumes after the next newline; Turtle, which has no line structure, resumes after the next . at nesting depth zero and outside a string or IRI, and a failed statement produces no quads at all — including ones a blank node property list inside it had already emitted.
  • Canonical N-Triples and N-Quads output, RDF 1.2's (ADR 0061), so two canonical documents are comparable byte for byte; RDF 1.2's c14n suites gate it. A Turtle round trip is isomorphic rather than byte-identical, because blank node labels are the parser's; writing what was written reproduces it exactly.
  • RDF 1.2 throughout: base directions and triple terms in N-Triples and N-Quads, and in Turtle and TriG the reified triples, triple terms, annotations, reifiers and version directive of the Working Drafts (ADR 0121), where the rdf12 suites gate them. The writer declares VERSION "1.2" on its own the moment it writes a construct RDF 1.1 cannot read, never silently.
TurtleOptions options = new() { Syntax = RdfSyntax.Turtle };

ParseResult result = TurtleParser.Parse(
    utf8,
    static (in QuadView quad) => Console.WriteLine(quad.Subject.Lexical.Length),
    in options);

Writing needs a TurtleWriter, because a Turtle document has state a single statement does not — the prefixes in scope, and in TriG the graph block that is open. It declares no prefix it was not given: a prefix nobody declared is one the reader of the output has to guess the meaning of.

using TurtleWriter writer = new(output, new TurtleWriteOptions());
writer.DeclarePrefix("ex"u8, "http://example.org/"u8);
writer.Write(in quad);

The quad handed to the callback points into the parser's own buffer and is valid only for that call — which the type system enforces, because a ref struct cannot be captured or stored. Call Materialise() to keep one.

Layer 2 of Varve, a .NET-native event-sourced RDF store and SPARQL toolkit. MPL-2.0.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Varve.Turtle:

Package Downloads
Varve.Sparql.Store

SPARQL 1.1 Update over a Varve store: every request pinned, evaluated operation by operation over an overlay, and committed as one commit.

Varve.Protocol

SPARQL 1.1 Protocol, Graph Store Protocol, service description, time travel, change feed and diff over HTTP for a Varve store, as ASP.NET Core endpoint groups.

Varve.Protocol.Client

The HTTP client for a Varve server: SPARQL Protocol queries and updates, the Graph Store Protocol, the change feed and the admin API, with the SERVICE handler and the document fetch that federate a query and a LOAD under an endpoint policy.

Varve.Delta

The application/vnd.varve.delta change-feed format, version 1, read for ever: the reader, the writer and the record model of Varve's commits resource and diff.

Varve.Management

The management plane's declarations: the varve: vocabulary for datasets, settings, placement and grants, their reader, SHACL shapes and residual check, grant evaluation over a caller with graph templates, and the RDFC-1.0 plan that varve apply converges.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.20 65 11/10/2026
0.1.0-preview.19 92 11/6/2026
0.1.0-preview.18 87 11/6/2026
0.1.0-preview.17 85 11/6/2026
0.1.0-preview.16 89 11/3/2026
0.1.0-preview.15 338 10/26/2026
0.1.0-preview.14 89 10/26/2026
0.1.0-preview.13 89 10/26/2026
0.1.0-preview.12 103 10/23/2026
0.1.0-preview.11 78 10/21/2026
0.1.0-preview.10 86 10/20/2026
0.1.0-preview.9 89 10/19/2026
0.1.0-preview.8 83 10/17/2026
0.1.0-preview.7 85 10/17/2026
0.1.0-preview.6 78 10/15/2026
0.1.0-preview.5 69 10/15/2026
0.1.0-preview.4 79 10/13/2026
0.1.0-preview.3 67 10/12/2026
0.1.0-preview.2 68 10/9/2026
0.1.0-preview.1 77 10/7/2026