CypherOGM.Build 1.0.0

Suggested Alternatives

Blueprint41.Build

Additional Details

Use Blueprint41.Build instead.

dotnet add package CypherOGM.Build --version 1.0.0                
NuGet\Install-Package CypherOGM.Build -Version 1.0.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="CypherOGM.Build" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CypherOGM.Build --version 1.0.0                
#r "nuget: CypherOGM.Build, 1.0.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.
// Install CypherOGM.Build as a Cake Addin
#addin nuget:?package=CypherOGM.Build&version=1.0.0

// Install CypherOGM.Build as a Cake Tool
#tool nuget:?package=CypherOGM.Build&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

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 Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 134 4/8/2024 1.0.0 is deprecated because it has critical bugs.