Cvoya.Graph.Model
1.0.0-alpha.20250718.1
dotnet add package Cvoya.Graph.Model --version 1.0.0-alpha.20250718.1
NuGet\Install-Package Cvoya.Graph.Model -Version 1.0.0-alpha.20250718.1
<PackageReference Include="Cvoya.Graph.Model" Version="1.0.0-alpha.20250718.1" />
<PackageVersion Include="Cvoya.Graph.Model" Version="1.0.0-alpha.20250718.1" />
<PackageReference Include="Cvoya.Graph.Model" />
paket add Cvoya.Graph.Model --version 1.0.0-alpha.20250718.1
#r "nuget: Cvoya.Graph.Model, 1.0.0-alpha.20250718.1"
#:package Cvoya.Graph.Model@1.0.0-alpha.20250718.1
#addin nuget:?package=Cvoya.Graph.Model&version=1.0.0-alpha.20250718.1&prerelease
#tool nuget:?package=Cvoya.Graph.Model&version=1.0.0-alpha.20250718.1&prerelease
Cvoya.Graph.Model
GraphModel is a powerful, type-safe .NET library for working with graph data structures and graph databases. This core package provides the fundamental abstractions, interfaces, and base implementations.
🚀 Quick Start
// Define your graph entities
[Node(Label = "User")]
public record User : Node
{
public string Email { get; set; }
public string Name { get; set; }
}
[Relationship(Label = "FOLLOWS")]
public record Follows : Relationship
{
public DateTime CreatedDate { get; set; }
}
// Use with a provider (Neo4j, etc.)
var store = new Neo4jGraphStore(connectionString);
var graph = store.Graph;
await graph.CreateNodeAsync(new User { Email = "user@example.com", Name = "John" });
📦 Core Features
- Type-safe entity modeling with attributes and interfaces
- LINQ-style querying with full IntelliSense support
- Graph traversal with depth control and filtering
- Transaction management with ACID guarantees
- Extensible provider model for different graph databases
- Compile-time validation with built-in analyzers
- Code generation for performant serialization/deserialization
🏗️ Architecture
This package provides the core abstractions:
INode
- Graph node interfaceIRelationship
- Graph relationship interfaceIGraph
- Main graph operations interfaceIGraphQueryable<T>
- LINQ-style querying- Attributes - Entity configuration (
[Node]
,[Relationship]
,[Property]
)
📚 Documentation
For comprehensive documentation, examples, and best practices:
🔗 Related Packages
- Cvoya.Graph.Model.Neo4j - Neo4j database provider
- Cvoya.Graph.Model.Serialization - Object serialization framework
- Cvoya.Graph.Model.Serialization.CodeGen - Code generation for performant serialization/deserialization
- Cvoya.Graph.Model.Analyzers - Compile-time code analyzers
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide.
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Need help? Check the troubleshooting guide or open an issue.
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 (2)
Showing the top 2 NuGet packages that depend on Cvoya.Graph.Model:
Package | Downloads |
---|---|
Cvoya.Graph.Model.Serialization
A serialization abstraction for the Graph Data Model. |
|
Cvoya.Graph.Model.Neo4j
A graph provider for the Neo4j database with support for LINQ and the updated Graph.Model abstraction. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0-alpha.20250718.1 | 70 | 7/18/2025 |
1.0.0-alpha.20250718.0 | 75 | 7/18/2025 |
1.0.0-alpha.20250716.4 | 111 | 7/16/2025 |