Varve.Turtle
0.1.0-preview.20
dotnet add package Varve.Turtle --version 0.1.0-preview.20
NuGet\Install-Package Varve.Turtle -Version 0.1.0-preview.20
<PackageReference Include="Varve.Turtle" Version="0.1.0-preview.20" />
<PackageVersion Include="Varve.Turtle" Version="0.1.0-preview.20" />
<PackageReference Include="Varve.Turtle" />
paket add Varve.Turtle --version 0.1.0-preview.20
#r "nuget: Varve.Turtle, 0.1.0-preview.20"
#:package Varve.Turtle@0.1.0-preview.20
#addin nuget:?package=Varve.Turtle&version=0.1.0-preview.20&prerelease
#tool nuget:?package=Varve.Turtle&version=0.1.0-preview.20&prerelease
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
rdf11Turtle, TriG, N-Triples and N-Quads suites and therdf12N-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, aStream, aStreamasynchronously, and aPipeReader— plusTurtleReaderandNQuadsReaderfor 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
c14nsuites 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
rdf12suites gate them. The writer declaresVERSION "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 | Versions 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. |
-
net10.0
- Varve.Rdf (>= 0.1.0-preview.20)
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 |