hab/ntriples

一个用于发布以 N-Triples 编码数据的简单库

维护者

详细信息

git.sr.ht/~dmaus/php-ntriples

v1.0.1 2018-03-01 10:11 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:16:24 UTC


README

一个用于发布以 N-Triples 编码数据的简单库。

本软件包版权(c)2015-2017由Herzog August Bibliothek Wolfenbüttel拥有,并按照GNU通用公共许可证v3条款发布。

安装

您可以通过composer安装此包

composer require hab/ntriples

图和三元组的内部表示

三元组

三元组 被表示为一个数组,其中主题、谓词和对象分别位于位置0、1和2。

URI

URI 被表示为一个字符串。

字面量

字面量 被表示为 Literal 类的实例。一个字面量有一个值,可以有一个可选的数据类型或语言标记。

$literal = new HAB\NTriples\Literal('Hello, my darling', 'en');
echo $literal->getLanguage();

=> en

空白节点

空白节点 被表示为 BNode 类的实例。如果转换为字符串,它将返回一个唯一的节点标签。

$node = new HAB\NTriples\BNode();
echo (string)$node;

=> bnode_4c28e7db9528288b7519a1f5df639cf7

被表示为 Graph 类的实例。它有一个可选的名称,并实现了 Traversable 接口,以便方便地遍历图的三角形。

$graph = new HAB\NTriples\Graph('http://example.com/graph/1');
$graph->add('http://example.com/subject', 'http://purl.org/dc/elements/1.1/title', 'The Example');
echo count($graph);

=> 1

读取器

所有读取器都遵循相同的接口。您首先使用源URI调用 open() 读取。后续对 read() 的调用返回一个包含主题、谓词和对象数组的下一个三角形,或者如果源已耗尽则返回 false

您可以调用 rewind() 尝试回滚源。如果源不支持回滚,将抛出 RuntimeException

close() 的调用关闭读取器。

目前支持以下源格式

格式读取器
NTriplesHAB\NTriples\Reader\NTriples

序列化器

所有序列化器都遵循相同的接口。您使用任意数量的 Graph 实例调用 serialize()。序列化器返回包含序列化图的字符串。

目前支持以下序列化格式

格式序列化器
NTriplesHAB\NTriples\Serializer\NTriples
NQuadsHAB\NTriples\Serializer\NQuads
RDF/XMLHAB\NTriples\Serializer\RdfXml
TriXHAB\NTriples\Serializer\TriX