PHPackages                             artdarek/neo4j-4-laravel - 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. artdarek/neo4j-4-laravel

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

artdarek/neo4j-4-laravel
========================

Neo4j for Laravel 4.

1.0.0(12y ago)282.4k6[3 issues](https://github.com/artdarek/neo4j-4-laravel/issues)MITPHPPHP &gt;=5.3.0

Since Oct 7Pushed 8y ago3 watchersCompare

[ Source](https://github.com/artdarek/neo4j-4-laravel)[ Packagist](https://packagist.org/packages/artdarek/neo4j-4-laravel)[ Docs](https://github.com/artdarek/neo4j-4-laravel)[ RSS](/packages/artdarek-neo4j-4-laravel/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Neo4j Service Provider for Laravel 4
====================================

[](#neo4j-service-provider-for-laravel-4)

Neo4j-4-laravel is a simple Neo4j service provider for Laravel 4. It is based on [Neo4jPHP](https://github.com/jadell/neo4jphp)witch is a PHP library wrapping the Neo4j graph database. The goal of Neo4jPHP is to provide you with access to all the functionality of the Neo4j REST API via PHP. The goal of Neo4j-4-laravel is to ensure you Neo4jPHP easy integration with Laravel 4.

---

- [Installation](#installation)
- [Registering the Package](#registering-the-package)
- [Configuration](#Configuration)
- [Usage](#usage)
- [More usage examples](#more-usage-examples)

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

[](#installation)

Use [composer](http://getcomposer.org) to install this package.

```
$ composer require artdarek/neo4j-4-laravel

```

### Registering the Package

[](#registering-the-package)

Add the Neo4j-4-laravel Service Provider to your config in `app/config/app.php`:

```
'providers' => array(
	'Artdarek\Neo4j\Neo4jServiceProvider'
),
```

### Configuration

[](#configuration)

There are two ways to configure neo4j-4-laravel. You can choose the most convenient way for you. You can put your Neo4j credentials into `app/config/database.php` (option 1) file or use package config file which you can be generated through command line by artisan (option 2).

#### Option 1: Configure neo4j using `app/config/database.php` file

[](#option-1-configure-neo4j-using-appconfigdatabasephp-file)

Simply add this code at the end of your `app/config/database.php` file:

```
	/*
	|--------------------------------------------------------------------------
	| Neo4j Databases
	|--------------------------------------------------------------------------
	*/

	'neo4j' => [
		'default' => [
			'host'     => 'localhost',
			'port'     => 7474,
			'username' => null,
			'password' => null,
		],
	],
```

#### Option 2: Configure neo4j using package config file

[](#option-2-configure-neo4j-using-package-config-file)

Run on the command line from the root of your project:

```
$ php artisan config:publish artdarek/neo4j-4-laravel

```

Set your neo4j-4-laravel credentials in `app/config/packages/artdarek/neo4j-4-laravel/config.php`

```
return array(

	/*
	|--------------------------------------------------------------------------
	| Neo4j Config
	|--------------------------------------------------------------------------
	*/
	'default' => array(

		/**
		 * Host
		 */
		'host' => 'localhost',

		/**
		 * Port
		 */
		'port' => 7474,

		/**
		 * Credentials
		 */
		'username' => null,
		'password' => null

	),
);
```

Usage
-----

[](#usage)

Nodes are the first of the two major entity types in a graph database. A node is a collection of zero or more key-value pairs. Neo4jPHP makes it very easy to create and work with nodes.

### Creating new node

[](#creating-new-node)

The following code snippet creates some nodes, sets some properties on each, and saves the nodes to the server.

```
$arthur = Neo4j::makeNode();
$arthur->setProperty('name', 'Arthur Dent')
    ->setProperty('mood', 'nervous')
    ->setProperty('home', 'small cottage')
    ->save();

$ford = Neo4j::makeNode();
$ford->setProperty('name', 'Ford Prefect')
    ->setProperty('occupation', 'travel writer')
    ->save();

$arthurId = $arthur->getId();
```

### Retrieve a Node by ID and Update

[](#retrieve-a-node-by-id-and-update)

Now that the node has been created, the node's id can be used to retrieve the node from the server later. The following code retrieves the node and prints its properties:

```
$character = Neo4j::getNode($arthurId);

foreach ($character->getProperties() as $key => $value) {
    echo "$key: $value\n";
}

// prints:
// name: Arthur Dent
// mood: nervous
// home: small cottage

$character->removeProperty('mood')
    ->setProperty('home', 'demolished')
    ->save();

foreach ($character->getProperties() as $key => $value) {
    echo "$key: $value\n";
}

// prints:
// name: Arthur Dent
// home: demolished
```

### Delete a Node

[](#delete-a-node)

A node can be deleted as long as its ID has been set. Also note that a node cannot be deleted if it is the start or end point of any relationship.

```
$earth = Neo4j::getNode(123);
$earth->delete();
```

### More usage examples

[](#more-usage-examples)

Go to [Neo4jPHP Wiki](https://github.com/jadell/neo4jphp/wiki) to find more usage examples.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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

Unknown

Total

1

Last Release

4607d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/98c27704daccc4dc6d490ba8c1a2c0bd5e86898ef589418036f3a608a08bd081?d=identicon)[artdarek](/maintainers/artdarek)

---

Top Contributors

[![artdarek](https://avatars.githubusercontent.com/u/1362351?v=4)](https://github.com/artdarek "artdarek (7 commits)")[![Schnoop](https://avatars.githubusercontent.com/u/1263407?v=4)](https://github.com/Schnoop "Schnoop (1 commits)")

---

Tags

laraveldatabaseservice providerneo4jlaravel4neo4jphp

### Embed Badge

![Health badge](/badges/artdarek-neo4j-4-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/artdarek-neo4j-4-laravel/health.svg)](https://phpackages.com/packages/artdarek-neo4j-4-laravel)
```

###  Alternatives

[ulobby/neoeloquent

Laravel wrapper for the Neo4j graph database REST interface

4473.4k](/packages/ulobby-neoeloquent)[hirevoice/neo4jphp-ogm

Doctrine2-style entity mapper for Neo4j graph database

15918.6k1](/packages/hirevoice-neo4jphp-ogm)[cubettech/lacassa

Cassandra based query builder for laravel.

358.5k](/packages/cubettech-lacassa)

PHPackages © 2026

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