artdarek/neo4j-4-laravel

Neo4j for Laravel 4。

1.0.0 2013-10-07 14:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:00:46 UTC


README

Neo4j-4-laravel 是一个简单的 Neo4j 服务提供器,用于 Laravel 4。它基于 Neo4jPHP,这是一个封装 Neo4j 图数据库的 PHP 库。Neo4jPHP 的目标是使用 PHP 提供对 Neo4j REST API 所有功能的访问。Neo4j-4-laravel 的目标是确保 Neo4jPHP 与 Laravel 4 的简单集成。

安装

使用 composer 安装此包。

$ composer require artdarek/neo4j-4-laravel

注册包

将 Neo4j-4-laravel 服务提供器添加到 app/config/app.php 中的配置

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

配置

有两种方式可以配置 neo4j-4-laravel。您可以选择最方便的方式。您可以将 Neo4j 凭据放入 app/config/database.php(选项 1)文件或使用包配置文件(选项 2),该文件可以通过 artisan 命令生成。

选项 1:使用 app/config/database.php 文件配置 neo4j

只需在您的 app/config/database.php 文件末尾添加以下代码

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

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

选项 2:使用包配置文件配置 neo4j

从您项目的根目录运行命令行

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

app/config/packages/artdarek/neo4j-4-laravel/config.php 中设置您的 neo4j-4-laravel 凭据

return array( 

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

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

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

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

	),
);

用法

节点是图数据库中的两种主要实体类型之一。节点是零个或多个键值对的集合。Neo4jPHP 使得创建和操作节点变得非常容易。

创建新节点

以下代码片段创建了一些节点,为每个节点设置了某些属性,并将节点保存到服务器。

$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();

通过 ID 检索节点并更新

节点创建后,可以使用节点 ID 在以后从服务器检索节点。以下代码检索节点并打印其属性

$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

删除节点

只要设置了 ID,就可以删除节点。请注意,如果节点是任何关系的起点或终点,则无法删除节点。

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

更多用法示例

访问 Neo4jPHP Wiki 以找到更多用法示例。