甜RDF/quick-rdf-io-raptor

允许访问 Raptor RDF 解析和序列化工具 (https://librdf.org/raptor/rapper.html)。

1.0.0-RC2 2024-05-16 09:32 UTC

This package is auto-updated.

Last update: 2024-09-16 10:09:45 UTC


README

它提供了一个使用来自 Raptor RDF 解析和序列化工具rapper 命令行工具的 RDF 解析器。生成的内部 PHP 表示(四元组等)与 https://github.com/sweetrdf/rdfInterface 兼容,可以与其他 rdfInterface 实现一起使用,例如 quickRdfIo,以序列化 RDF 到其他格式,例如。

安装

要求

  • PHP 8.0+
  • Raptor RDF 解析器工具已安装(我们需要其 rapper 命令行工具);通常它不是默认安装的一部分
    • 在 Debian/Ubuntu 上:运行 apt-get install raptor2-utils
    • 在其他 Linux 发行版中,该软件包可能具有不同的名称

Composer

使用 Composer 安装它: composer require sweetrdf/quick-rdf-io-raptor

您需要一个 rdfInterfaces 的实现,例如 quickRdf。作为开始,只需使用 composer require sweetrdf/quick-rdf

使用方法

注意:以下我们将使用来自 https://github.com/sweetrdf/quickRdf 的 rdfInterface 实现。在运行代码之前,请确保已安装此包。

解析

解析文件

use \quickrdf\DataFactory;
use \quickRdfIo\Raptor\Parser;

// create a file handle for a n-quads/n-triple file
$fileHandle = fopen('/path/to/n-quads-file.nq', 'r');

// init a parser instance and read file handle
$parser = new Parser(new DataFactory());
$quadsIterator = $parser->parseStream($fileHandle);

// iterate through the quads
// note: the file isn't read before, only as you iterating $quadIterator
foreach ($quadsIterator as $quad ) {
    var_dump($quad);
}

// free file handle
fclose($fileHandle);

解析字符串

use \quickrdf\DataFactory;
use \quickRdfIo\Raptor\Parser;

$str = '_:foo <http://foo> <http://bar> .';

// init a parser instance and read RDF string
$parser = new Parser(new DataFactory());
$quadsIterator = $parser->parse($str);

// iterate through the quads
foreach ($quadsIterator as $quad ) {
    var_dump($quad);
}

注意事项和已知问题

在使用此类时,请记住以下事项

  • Parser 类基本上是 rapper 命令的包装,这意味着输入必须准备以进行进一步处理(可能会影响性能)。需要一个可读的本地文件作为源以及一个本地文件用于生成的 N-Quads 输出,该输出稍后用于内部 NQuads 解析器。

许可

MIT