A .NET client binding for Neo4j graph database with fluent Cypher query support.
Neo4jClient is a .NET client library that enables developers to interact with Neo4j graph databases from .NET applications. It provides a fluent API for constructing Cypher queries and handles database connections, transactions, and result mapping. The library solves the problem of integrating graph database functionality into .NET codebases with a type-safe, developer-friendly interface.
.NET developers building applications that need to store, query, or analyze connected data using Neo4j graph databases. This includes enterprise applications, data analysis tools, and systems requiring complex relationship modeling.
Developers choose Neo4jClient because it offers a native .NET experience with strong typing, async support, and a fluent query interface that reduces boilerplate code. It's maintained to track Neo4j server versions and provides both HTTP and Bolt protocol support for flexibility.
.NET client binding for Neo4j
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a strongly-typed, fluent API for building Cypher queries, making graph operations intuitive and reducing manual string concatenation errors, as emphasized in the README's focus on type safety.
Designed as async-only, aligning with modern .NET patterns for better scalability in concurrent applications, with all operations requiring async/await usage as noted in the breaking changes.
Includes both GraphClient for HTTP/REST and BoltGraphClient for high-performance binary connections, allowing developers to choose based on Neo4j server version and performance needs, as detailed in the URI setup instructions.
Specifically targets Neo4j 4.x servers, leveraging the latest driver capabilities and ensuring support for new features, though it drops backward compatibility with older versions as stated in the README.
The wiki documentation is explicitly marked as 'Currently OUT OF DATE' in the README, which can create hurdles for onboarding, troubleshooting, and understanding new features.
Major version updates, like from 3.x to 4.x, introduce significant breaking changes such as async-only operations and dropped Neo4j 3.4 support, requiring non-trivial code migrations and potential downtime.
No longer uses TransactionScope, so MSDTC-based distributed transactions are unsupported, which limits integration with certain enterprise systems and legacy .NET workflows, as admitted in the breaking changes section.
Strong dependency on Neo4j 4.x means forced upgrades for older database instances, and future server changes might necessitate similar migrations, increasing maintenance overhead.