artdarek / neo4j-4-laravel
Neo4j for Laravel 4。
Requires
- php: >=5.3.0
- everyman/neo4jphp: dev-master
Requires (Dev)
- illuminate/support: 4.0.*
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 以找到更多用法示例。