Cvoya.Graph
1.0.0
Prefix Reserved
dotnet add package Cvoya.Graph --version 1.0.0
NuGet\Install-Package Cvoya.Graph -Version 1.0.0
<PackageReference Include="Cvoya.Graph" Version="1.0.0" />
<PackageVersion Include="Cvoya.Graph" Version="1.0.0" />
<PackageReference Include="Cvoya.Graph" />
paket add Cvoya.Graph --version 1.0.0
#r "nuget: Cvoya.Graph, 1.0.0"
#:package Cvoya.Graph@1.0.0
#addin nuget:?package=Cvoya.Graph&version=1.0.0
#tool nuget:?package=Cvoya.Graph&version=1.0.0
Downloadable open-source computer software from CVOYA. See the CVOYA software catalog.
Cvoya.Graph
Cvoya.Graph is the provider-neutral model, LINQ query surface, transaction contract, and mutation
API for CVOYA Graph.
Entity model
IEntity is an empty marker. INode exposes labels and IRelationship exposes its type; neither
interface exposes provider identity. Relationship endpoints and physical direction are returned by
path segments rather than stored on relationship values.
Domain keys are optional:
[Node(Label = "User")]
public record User : Node
{
[Property(IsKey = true)]
public string Email { get; set; } = string.Empty;
public string Name { get; set; } = string.Empty;
public bool IsActive { get; set; }
}
[Relationship(Label = "FOLLOWS")]
public record Follows : Relationship
{
public DateTime Since { get; set; }
}
Remove IsKey and User remains a valid keyless entity. A property named Id or Direction is
ordinary domain data unless its attributes say otherwise.
Query and mutation
Install a database provider, obtain its IGraph, and compose synchronous query roots with async
terminals:
var activeUsers = await graph.Nodes<User>()
.Where(user => user.IsActive)
.OrderBy(user => user.Name)
.ToListAsync(cancellationToken);
var updated = await graph.Nodes<User>()
.Where(user => user.Email.EndsWith("@old.example"))
.UpdateAsync(setters => setters
.SetProperty(user => user.IsActive, false),
cancellationToken);
Create relationships by supplying endpoint intent separately from relationship data:
var alice = graph.Nodes<User>().Where(user => user.Email == "alice@example.com");
var bob = graph.Nodes<User>().Where(user => user.Email == "bob@example.com");
await graph.CreateRelationshipAsync(
alice,
new Follows { Since = DateTime.UtcNow },
bob,
cancellationToken: cancellationToken);
Each selected endpoint must resolve to exactly one node. Hybrid and all-new overloads are also
available through CreateAsync; CreateSelfLoopAsync handles one new node used as both endpoints.
Core contracts
IGraph— query roots, search, transactions, standalone node creation, and managed-index refreshIGraphQueryable<T>— typed LINQ composition, traversal, and async terminalsINode,IRelationship,IGraphPath, andIGraphPathSegment— portable graph valuesGraphCommandExtensions— endpoint-intent creation plus set-based update and delete[Node],[Relationship], and[Property]— mapping and optional schema metadata
Related packages
- Cvoya.Graph.Neo4j — Neo4j provider
- Cvoya.Graph.Age — PostgreSQL + Apache AGE provider
- Cvoya.Graph.InMemory — reference provider and test double
- Cvoya.Graph.Cypher — Cypher planner, AST, renderer, and dialect SPI
- Cvoya.Graph.Serialization — provider-neutral serialization and materialization
- Cvoya.Graph.Serialization.CodeGen — incremental serializer generator
- Cvoya.Graph.Analyzers — optional model diagnostics
- Cvoya.Graph.CompatibilityTests — provider contract suite
See the complete documentation, the contributing guide, and the Apache 2.0 license.
| 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
- No dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Cvoya.Graph:
| Package | Downloads |
|---|---|
|
Cvoya.Graph.Serialization
Serialization abstractions and materialization for CVOYA Graph. |
|
|
Cvoya.Graph.Cypher
CVOYA Graph typed Cypher AST and validation framework for graph query generation. |
|
|
Cvoya.Graph.CompatibilityTests
A shippable compatibility test suite (TCK) for CVOYA Graph providers: a harness SPI, capability-aware skips, and a compliance guard, so a provider can prove it implements the CVOYA Graph contract. |
|
|
Cvoya.Graph.Neo4j
CVOYA Graph provider for Neo4j, with LINQ support and the Cvoya.Graph abstraction. |
|
|
Cvoya.Graph.Age
CVOYA Graph provider for PostgreSQL and Apache AGE, with LINQ support for the Cvoya.Graph abstraction. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 43 | 7/23/2026 |
| 1.0.0-alpha.20260717 | 98 | 7/17/2026 |