Coder Social home page Coder Social logo

seankilleen / neo4jclient Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dotnet4neo4j/neo4jclient

0.0 2.0 0.0 29.11 MB

.NET client binding for Neo4j

Home Page: https://www.nuget.org/packages/Neo4jClient

License: Microsoft Public License

C# 99.74% Batchfile 0.13% F# 0.07% Visual Basic .NET 0.06%

neo4jclient's Introduction

Neo4jClient


A .NET client for Neo4j. Supports Cypher queries via fluent interfaces, and some indexing operations.

Grab the latest drop straight from the Neo4jClient package on NuGet.

Read our wiki docs - Currently OUT OF DATE


Current Builds

The official Neo4jClient build and nuget package is automated via AppVeyor.


Stable 4.x Build status

Version 4.0.0 of Neo4jClient is now the stable version. There have been a lot of changes, additions, removals, so it's likely there will be breaking changes.


Changing from 3.x to 4.x

This isn't an exhaustive list of things you need to do, but I'll try to add things if I've forgotten them.

Uris

You will need to use the correct URI for the server version you are connecting to:

GraphClient

  • 3.x server: http://localhost:7474/db/data
  • 4.x server: http://localhost:7474/

BoltGraphClient

  • 3.x or 4.x server: neo4j://localhost:7687
  • Worth reviewing the Neo4j Documentation to see what you need to use.

Async

As this release is 100% async you will need to update any calls to Results or ExecuteWithoutResults to their Async equivalents.


Breaking Changes

  • Async endpoints only
    • To get this release out, Neo4jClient is Async only now.
  • Transactions will no longer use the TransactionScope class which means that MSDTC will no longer work.
    • This has been an issue since the dawn of Core/NetStandard - TransactionScope may be in NetStandard now - but the other classes the Transaction code was relying on wasn't.
  • The GraphClient and BoltGraphClient will no longer support Neo4j 3.4 or lower.
    • Largely this is because the Neo4j.Driver that does the Bolt side of things only targets 3.5+, and keeping all the backwards compatibility means a lot of work, for little gain.

Dependency Changes


Historical Notes

If you're changing from 2.x to 3.x, you'll want the below information, but you should really be on 4.x unless you have to target an older DB instance.

Changes in 3.x

  • Bolt!
  • Transactions now use AsyncLocal<> instead of ThreadStatic
    • Transactions still don't work in the .NET Core version for the same reason as listed below (in Breaking Changes in 2.0)
    • TransactionScope does exist in NetStandard 2.0 - but some of the other bits surrounding the Transaction management doesn't.
  • JSON.NET updated to 10.0.3
  • PathResults doesn't work with Bolt, you need to use PathResultsBolt instead.

Dependency Changes in 2.0

  • JSON.NET updated to 9.0.1

Breaking Changes in 2.0

  • If using the DotNet Core version of Neo4jClient - transactions will not work. This will be returned when DotNet Core gets the TransactionScope (See this comment for more details).

License Information

Licensed under MS-PL. See LICENSE in the root of this repository for full license text.


Updates to the 3.x releases

I will not be updating the 3.x version of the client, the focus is on 4.x and the features that gives us. Neo4j no longer actively support Neo4j 3.4 so you should consider updating if you can. Largely - anyone using the 3.x version of the client is coping with it's deficiencies, and as 4.x addresses most of them. ¯_(ツ)_/¯

neo4jclient's People

Contributors

tathamoddie avatar cskardon avatar arturosevilla avatar mavadat avatar simendsjo avatar aranm avatar neutmute avatar hoopoos avatar raphhaddad avatar wcrooy avatar scott-coates avatar danielcor avatar gpierrick avatar sbarski avatar brentonmcs avatar pjvds avatar drgraduss avatar bholdt avatar b2berry avatar tugberkugurlu avatar simonpinn avatar drawnhermanic avatar rnithiyananthan avatar maartenba avatar kupvadim avatar wis3guy avatar michaelbarnes avatar juwujaren avatar egarrington avatar danielmarbach avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.