CypherOGM 1.0.0
See the version list below for details.
dotnet add package CypherOGM --version 1.0.0
NuGet\Install-Package CypherOGM -Version 1.0.0
<PackageReference Include="CypherOGM" Version="1.0.0" />
paket add CypherOGM --version 1.0.0
#r "nuget: CypherOGM, 1.0.0"
// Install CypherOGM as a Cake Addin #addin nuget:?package=CypherOGM&version=1.0.0 // Install CypherOGM as a Cake Tool #tool nuget:?package=CypherOGM&version=1.0.0
*It's an extension of actual Blueprint41 library. Added features are listed below:
- Add Composite Unique Constraints for Node and Relationships
- Exposing Explicit Transaction Commit*
<div>
<div><img align="left" src="https://github.com/circles-arrows/blueprint41/assets/121929116/88c219d4-403b-4e98-81a6-f1f3055a0a33" alt="Blueprint41" width="180" height="180"></div>
<div align="right">
<div align="left"> </div>
<div align="left"><b> ✔️ Supports for Neo4j and Memgraph</b></div>
<div align="left"><b> ✔️ Works Visual Studio, Visual Studio Code and Rider</b></div>
<div align="left"><b> ✔️ Develop on Windows, macOS or Linux</b></div>
<div align="left"> </div>
<div align="left"><h1>Blueprint41</h1></div>
<div align="right">
<a href="https://www.nuget.org/packages/Blueprint4"><img alt="NuGet" src="https://img.shields.io/nuget/v/Blueprint41.svg"></a>
<a href="https://www.nuget.org/packages/Blueprint4"><img alt="downloads" src="https://img.shields.io/nuget/dt/Blueprint41"></a>
<img alt="repo size" src="https://img.shields.io/github/repo-size/circles-arrows/blueprint41">
<img alt="license" src="https://img.shields.io/github/license/circles-arrows/Blueprint41">
<a href="https://sonarcloud.io/summary/new_code?id=circles-arrows_blueprint41"><img alt="Quality Gate Status" src="https://sonarcloud.io/api/project_badges/measure?project=circles-arrows_blueprint41&metric=alert_status"></a>
</div>
</div>
</div>
.NET ORM for Neo4j and Memgraph Database
Simplify database operations through generated data access objects.
Frictionless Development with Intellisense
Neo4j Plugins (Optional)
To learn more, please visit Extension and Plugins.
Documentation
To learn more, please visit Blueprint41 wiki.
Connection
PersistenceProvider.CurrentPersistenceProvider = new Neo4JPersistenceProvider($"bolt://localhost:7687", $"neo4j", $"password");
Automated Deployment of Schema Upgrades
// Datastore defines the latest schema definition
Datastore model = new Datastore();
// Sync database schema with the latest upgrade scripts
model.Execute(true);
Type Safe Creation of Nodes and Relationships
using (Transaction.Begin())
{
Movie matrix = new Movie()
{
Title = "The Matrix",
Tagline = "Welcome to the Real World",
Released = new DateTime(1999, 3, 31)
};
Person keanu = new Person()
{
Name = "Keanu Reeves",
Born = new DateTime(1964, 9, 2)
};
Person lana = new Person()
{
Name = "Lana Wachowski",
Born = new DateTime(1961, 7, 30)
};
Person lilly = new Person()
{
Name = "Lilly Wachowski",
Born = new DateTime(1967, 12, 29)
};
// Creates relationship via Type-safe generated objects
movie.Actors.Add(keanu);
movie.Directors.Add(lana);
movie.Directors.Add(lilly);
movie.Genre.Add(Genre.Load(Genre.StaticData.Name.Action));
movie.Genre.Add(Genre.Load(Genre.StaticData.Name.Sci_Fi));
// Commits detected changes to database
Transaction.Commit();
}
Type Safe Querying of the Graph
using (Transaction.Begin())
{
// Get Movies of Keanu(Direct relationship)
Person keanu = Person.LoadByName("Keanu Reeves");
EntityCollection<Movie> movies = keanu.ActedIn; // Movies are retrieve here
// Get Director of Keanu(Spans multiple relationships)
var query = Transaction.CompiledQuery
.Match
(
Node.Person.Alias(out var director)
.In.PERSON_DIRECTED_MOVIE.Out.
Movie
.Out.PERSON_ACTED_IN_MOVIE.In.
Person.Alias(out var actor)
)
.Where(actor.Name == "Keanu Reeves")
.Return(director)
.Compile();
List<Person> directors = Person.LoadWhere(query);
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Crc32.NET (>= 1.2.0)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.CodeDom (>= 8.0.0)
- System.Text.Json (>= 8.0.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on CypherOGM:
Package | Downloads |
---|---|
CypherOGM.MemgraphDriver
Driver needed to connect to Memgraph using Blueprint41 |
|
CypherOGM.Neo4jDriver.v5
Driver needed to connect to Neo4j using Blueprint41 |
GitHub repositories
This package is not used by any popular GitHub repositories.