Cohesive.Relations
0.1.0-alpha.78
See the version list below for details.
dotnet add package Cohesive.Relations --version 0.1.0-alpha.78
NuGet\Install-Package Cohesive.Relations -Version 0.1.0-alpha.78
<PackageReference Include="Cohesive.Relations" Version="0.1.0-alpha.78" />
<PackageVersion Include="Cohesive.Relations" Version="0.1.0-alpha.78" />
<PackageReference Include="Cohesive.Relations" />
paket add Cohesive.Relations --version 0.1.0-alpha.78
#r "nuget: Cohesive.Relations, 0.1.0-alpha.78"
#:package Cohesive.Relations@0.1.0-alpha.78
#addin nuget:?package=Cohesive.Relations&version=0.1.0-alpha.78&prerelease
#tool nuget:?package=Cohesive.Relations&version=0.1.0-alpha.78&prerelease
Cohesive.Relations
Cohesive.Relations lets applications describe relationships, projections, filters, and queries in typed C# while
leaving storage placement and execution strategy to compilers and adapters.
Install
dotnet add package Cohesive.Relations
Author a relation
A complete Load -> LoadDto relation needs no hand-authored node IDs, binding names, source placement, or adapter
configuration:
var author = RelationQuery.Expression();
var loads = author.Source<Load>();
var loadDtos = author.Project(
loads,
(Load load) => new LoadDto
{
Id = load.Id,
Status = load.Status
});
var relation = loadDtos.BuildRelation(dto => dto.Id);
The authoring session derives the logical nodes, bindings, shapes, field assignments, relation identity, display name,
and provenance. relation contains the canonical definition and structured validation diagnostics.
Add a relationship when the result needs another fact:
var author = RelationQuery.Expression();
var loads = author.Source<Load>();
var customers = author.Traverse<Load, Customer>(
loads,
load => load.CustomerId);
var searchDocuments = author.Project(
customers,
(Load load, Customer customer) => new LoadSearchDto
{
Id = load.Id,
CustomerName = customer.Name
});
var loadSearch = searchDocuments.BuildRelation(dto => dto.Id);
The same traversal may become an in-memory lookup, a PostgreSQL join, bounded source reads followed by local correlation, or another capability-compatible realization. The relation itself does not change.
Use it for
- DTO mapping and enrichment.
- Independently invoked row and aggregation queries.
- Application read models, API results, integration payloads, and reports.
- Field-demand, dependency, lineage, and missing-input analysis.
- Relation-derived materialized views and targeted rebuild planning.
- Portable execution across supplied objects and registered physical sources.
How execution stays honest
The canonical relation/query document is the semantic authority. An invocation selects results and parameters; compilation derives the exact fields and operations it needs. A target must prove those requirements against its capabilities and operating boundaries. Unsupported semantics and incomplete source evidence produce structured diagnostics rather than a weakened query or a misleading empty result.
The expression API is the normal application surface. Structural authoring and direct IR construction remain available for importers, generators, persistence tooling, and compiler tests.
Continue
- Getting started builds, evaluates, and enriches a relation.
- Execution and adapters covers supplied facts, acquisition, placement, and native compilation.
- Diagnostics explains incomplete evidence and requirement gaps.
- Capability reference is generated from the implemented target profiles.
- Migration covers the retired relation-query stack.
- Internals retains the complete semantic model, compiler architecture, use cases, and design rationale.
Adapter-specific guides are available for
Cohesive.Adapters.Postgres,
Cohesive.Adapters.Cosmos, and
Cohesive.Adapters.Elastic.
| 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
- Cohesive (>= 0.1.0-alpha.78)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Cohesive.Relations:
| Package | Downloads |
|---|---|
|
Cohesive.Transitions
Cohesive semantic system definition and orchestration building blocks. |
|
|
Cohesive.Processes
Cohesive semantic system definition and orchestration building blocks. |
|
|
Cohesive.Storage
Cohesive semantic system definition and orchestration building blocks. |
|
|
Cohesive.Host
Cohesive semantic system definition and orchestration building blocks. |
|
|
Cohesive.Identity
Cohesive semantic system definition and orchestration building blocks. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.99 | 0 | 9/20/2026 |
| 0.1.0-alpha.98 | 0 | 9/19/2026 |
| 0.1.0-alpha.97 | 0 | 9/19/2026 |
| 0.1.0-alpha.96 | 39 | 9/19/2026 |
| 0.1.0-alpha.95 | 46 | 9/18/2026 |
| 0.1.0-alpha.94 | 49 | 9/18/2026 |
| 0.1.0-alpha.93 | 43 | 9/18/2026 |
| 0.1.0-alpha.92 | 54 | 9/18/2026 |
| 0.1.0-alpha.91 | 56 | 9/18/2026 |
| 0.1.0-alpha.90 | 56 | 9/18/2026 |
| 0.1.0-alpha.89 | 79 | 9/18/2026 |
| 0.1.0-alpha.88 | 80 | 9/18/2026 |
| 0.1.0-alpha.87 | 86 | 9/17/2026 |
| 0.1.0-alpha.86 | 102 | 9/17/2026 |
| 0.1.0-alpha.85 | 104 | 9/17/2026 |
| 0.1.0-alpha.84 | 109 | 9/17/2026 |
| 0.1.0-alpha.83 | 102 | 9/16/2026 |
| 0.1.0-alpha.82 | 129 | 9/16/2026 |
| 0.1.0-alpha.81 | 126 | 9/16/2026 |
| 0.1.0-alpha.78 | 167 | 9/7/2026 |