PHPackages                             innmind/neo4j-dbal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. innmind/neo4j-dbal

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

innmind/neo4j-dbal
==================

Abstraction layer of the Neo4j http API

6.1.0(5y ago)11.6k[1 issues](https://github.com/Innmind/neo4j-dbal/issues)2MITPHPPHP ~7.4|~8.0

Since May 1Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Innmind/neo4j-dbal)[ Packagist](https://packagist.org/packages/innmind/neo4j-dbal)[ Docs](http://github.com/Innmind/neo4j-dbal)[ RSS](/packages/innmind-neo4j-dbal/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelogDependencies (10)Versions (24)Used By (2)

neo4j-dbal
==========

[](#neo4j-dbal)

[![Build Status](https://github.com/Innmind/neo4j-dbal/workflows/CI/badge.svg?branch=master)](https://github.com/Innmind/neo4j-dbal/actions?query=workflow%3ACI)[![codecov](https://camo.githubusercontent.com/7c8f42095bd1348b35a69216ae6ff5217d82380d19e367d847181d2dc8f3d5c1/68747470733a2f2f636f6465636f762e696f2f67682f496e6e6d696e642f6e656f346a2d6462616c2f6272616e63682f646576656c6f702f67726170682f62616467652e737667)](https://codecov.io/gh/Innmind/neo4j-dbal)[![Type Coverage](https://camo.githubusercontent.com/b06d0b85a2f625fe4284830a6b7c0f476aec37bfd3f648b7530c781526509e6a/68747470733a2f2f73686570686572642e6465762f6769746875622f496e6e6d696e642f6e656f346a2d6462616c2f636f7665726167652e737667)](https://shepherd.dev/github/Innmind/neo4j-dbal)

PHP abstraction layer for neo4j graph database

Installation
------------

[](#installation)

Run the following command in your project to add this library:

```
composer require innmind/neo4j-dbal
```

Documentation
-------------

[](#documentation)

Basic example to run a query:

```
use function Innmind\Neo4j\DBAL\bootstrap;
use Innmind\Neo4j\DBAL\{
    Query,
    Clause\Expression\Relationship
};
use Innmind\OperatingSystem\Factory;

$os = Factory::build();
$connection = bootstrap(
    $os->remote()->http(),
    $os->clock(),
);

$query = (new Query)
    ->match('n', ['LabelA', 'LabelB'])
        ->withProperty('foo', '$param')
        ->withParameter('param', 'value')
    ->linkedTo('n2')
    ->through('r', 'REL_TYPE', 'right')
    ->return('n', 'n2', 'r');
echo $query->cypher(); //MATCH (n:LabelA:LabelB { foo: $param })-[r:REL_TYPE]->(n2) RETURN n, n2, r

$result = $connection->execute($query);
echo $result->nodes()->count(); //2
echo $result->relationships()->count(); //1
```

**Note**: Each object in this library is **immutable**, so `$query->match('n')->match('n2')` is different than `$query->match('n'); $query->match('n2')`.

### Querying

[](#querying)

You have 3 options to execute a query:

- use [`Query`](src/Query/Query.php) to build the query via its API
- use [`Cypher`](src/Query/Cypher.php) where you put the raw cypher query
- create your own class that implements [`Query`](src/Query.php)

Structure
---------

[](#structure)

[![](graph.svg)](graph.svg)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~100 days

Recently: every ~232 days

Total

22

Last Release

1920d ago

Major Versions

1.0.1 → 2.0.02016-02-21

2.2.0 → 3.0.02017-02-23

3.0.0 → 4.0.02017-09-24

4.3.0 → 5.0.02019-01-07

5.0.0 → 6.0.02020-03-24

PHP version history (6 changes)0.1PHP &gt;=5.4

2.0.0PHP &gt;=7.0

3.0.0PHP ~7.1

4.1.0PHP ~7.2

6.0.0PHP ~7.4

6.1.0PHP ~7.4|~8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/851425?v=4)[Baptiste Langlade](/maintainers/Baptouuuu)[@Baptouuuu](https://github.com/Baptouuuu)

---

Top Contributors

[![Baptouuuu](https://avatars.githubusercontent.com/u/851425?v=4)](https://github.com/Baptouuuu "Baptouuuu (248 commits)")

---

Tags

wrapperneo4j

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/innmind-neo4j-dbal/health.svg)

```
[![Health](https://phpackages.com/badges/innmind-neo4j-dbal/health.svg)](https://phpackages.com/packages/innmind-neo4j-dbal)
```

###  Alternatives

[vinelab/neoeloquent

Laravel wrapper for the Neo4j graph database REST interface

65393.1k1](/packages/vinelab-neoeloquent)[symfony/ai-store

Low-level abstraction for storing and retrieving documents in a vector store.

19292.4k53](/packages/symfony-ai-store)[stefanak-michal/bolt

PHP library to provide connectivity to graph database over TCP socket with Bolt specification

79655.8k8](/packages/stefanak-michal-bolt)[graphaware/neo4j-common

Common Utilities library for Neo4j

24876.2k24](/packages/graphaware-neo4j-common)[neo4j/neo4j-bundle

Symfony integration for Neo4j

8272.1k](/packages/neo4j-neo4j-bundle)[stefangabos/zebra_database

An advanced, compact and lightweight MySQL database wrapper library, built around PHP's MySQLi extension.

11812.0k](/packages/stefangabos-zebra-database)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
