innmind/neo4j-dbal

此包已被弃用且不再维护。未建议替代包。

Neo4j HTTP API 抽象层

6.1.0 2021-02-14 10:05 UTC

This package is auto-updated.

Last update: 2023-11-01 14:26:25 UTC


README

Build Status codecov Type Coverage

neo4j 图形数据库的 PHP 抽象层

安装

在您的项目中运行以下命令以添加此库

composer require innmind/neo4j-dbal

文档

运行查询的基本示例

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

注意:此库中的每个对象都是 不可变的,因此 $query->match('n')->match('n2')$query->match('n'); $query->match('n2') 不同。

查询

您有 3 种方式执行查询

  • 使用 Query 通过其 API 构建查询
  • 使用 Cypher 其中放置原始 Cypher 查询
  • 创建自己的类,该类实现了 Query

结构