ToolUp.Graph.InMemory 0.21.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package ToolUp.Graph.InMemory --version 0.21.0
                    
NuGet\Install-Package ToolUp.Graph.InMemory -Version 0.21.0
                    
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="ToolUp.Graph.InMemory" Version="0.21.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ToolUp.Graph.InMemory" Version="0.21.0" />
                    
Directory.Packages.props
<PackageReference Include="ToolUp.Graph.InMemory" />
                    
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 ToolUp.Graph.InMemory --version 0.21.0
                    
#r "nuget: ToolUp.Graph.InMemory, 0.21.0"
                    
#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 ToolUp.Graph.InMemory@0.21.0
                    
#: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=ToolUp.Graph.InMemory&version=0.21.0
                    
Install as a Cake Addin
#tool nuget:?package=ToolUp.Graph.InMemory&version=0.21.0
                    
Install as a Cake Tool

ToolUp.Graph.InMemory

The zero-dependency default IGraphStore — the GP-2 floor. A consumer with default ServerConfig composition gets a working graph store with no external dependency and no added NuGet package.

What it is

  • Per-scope adjacency lists held as immutable ScopeGraph snapshots, one per tenant scope, so scopes are partitioned by construction (GP 4).
  • A bounded openCypher subset interpreter — the documented portability floor. A query that runs here is guaranteed to run against every engine companion; the reverse is not promised.

What it is not

  • Not a full Cypher engine. Out-of-subset constructs throw CypherSubsetException naming the clause — never a silently-wrong result. Compose an engine companion (Kùzu / Neo4j / AGE) for full Cypher.
  • Not durable. No snapshot-to-disk. It is a development / test / small-single-instance default; durable storage is what the engine companions bring.

Supported openCypher subset

MATCH  (n[:Label] [{prop: <lit>, ...}])
     | (a[:L]) <rel> (b[:L])
[WHERE <var.prop <op> <lit>, combined with AND / OR / parentheses>]
RETURN <var | var.prop> [AS alias] (',' ...)*
[ORDER BY <var.prop> [ASC|DESC]]
[LIMIT <int>]
  • <rel> is -[:T]->, <-[:T]-, or -[:T]- (undirected); the type T is optional and [r:T] binds the relationship variable (single hop only).
  • Variable-length paths: -[:T*lo..hi]->. Traversal is cycle-safe — a visited-node set guarantees termination on cyclic graphs.
  • <lit> is 'str' / "str" / int / float / true / false / $param.
  • Comparison operators: =, <>, >, >=, <, <=.

Out of subset (throws CypherSubsetException): CREATE / MERGE / SET / DELETE / WITH / UNWIND / OPTIONAL / CALL / aggregation functions / RETURN * / SKIP / UNION / multi-hop patterns / multiple comma-separated patterns.

Concurrency

Reads take the current immutable snapshot with no lock; per-scope mutations serialise the read-modify-write behind a short monitor lock that wraps only synchronous pure transforms (never held across an await). A concurrent reader never observes a half-applied mutation.

Licensed under Apache-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 (1)

Showing the top 1 NuGet packages that depend on ToolUp.Graph.InMemory:

Package Downloads
ToolUp.Platform.Server

ToolUp.Platform Server — Giraffe-over-ASP.NET Core implementation surface: scope resolution, DI, default in-process implementations, ServerApp composition root, middleware. Depends on ToolUp.Platform.Core.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.22.0 148 8/27/2026
0.21.0 212 8/26/2026
0.20.1 988 8/20/2026
0.20.0 990 8/19/2026