mcuadros/php-cayley

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

PHP 对 Google Cayley 图数据库 REST 接口的包装器。

dev-master 2016-04-12 20:11 UTC

This package is not auto-updated.

Last update: 2020-06-22 05:49:19 UTC


README

PHP 对 Google's Cayley 图数据库 REST 接口的包装器。

Cayley 是一个开源的图数据库,受到 Freebase 和 Google 的 知识图谱 的启发。它的目标是成为开发者的工具箱的一部分,用于处理 Linked Data 以及一般图形形状的数据(语义网、社交网络等)。

Cayley 的默认查询语言是基于 JavaScript 的 Gremlin。php-cayley 是这个 Gremlin Javascript API 的 PHP 版本,Gremlin 的所有方法和模式都适用于这个库。

要求

  • php >=5.5.0
  • guzzlehttp/guzzle ~6.0

安装

推荐通过 composer 安装 php-cayley。您可以在 Packagist 上查看 包信息

{
    "require": {
        "mcuadros/php-cayley": "dev-master"
    }
}

用法

基本示例

$cayley = new Cayley\Client();
$query = $cayley->graph()->vertex('Humphrey Bogart')->all();
$result = $cayley->query($query);
print_r($result);

形态示例

$cayley = new Cayley\Client();

$filmToActor = $cayley->graph()
    ->morphism()
    ->out('/film/film/starring')
    ->out('/film/performance/actor');

$query = $cayley->graph()
    ->vertex()
    ->has('name', 'Casablanca')
    ->follow($filmToActor)
    ->out('name')
    ->all();

$starring = $cayley->query($query);
foreach($starring as $actor) {
    var_dump($actor['id']);
}

这些示例基于示例数据库 30kmoviedata.nq.gz 中的数据。

有关更多信息,请阅读 Gremlin Javascript API 文档。

测试

测试在 tests 文件夹中。要运行它们,您需要 PHPUnit。示例

$ phpunit --configuration phpunit.xml.dist

许可证

MIT,请参阅 LICENSE