tdt/triples

此包最新版本(v1.1.0)没有提供许可证信息。

v1.1.0 2016-01-26 15:54 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:55:39 UTC


README

Build Status

tdt/triples

tdt/triples 是一个库,可以集成到The DataTank 核心应用,除了 The DataTank 的 URI 空间外,它还提供了通过配置语义资源来构建您的 URI 空间的功能。

它从语义源中读取三元组,默认情况下将它们存储到基于 MySQL 的本地模拟三元组存储中。因此它需要一个 MySQL 数据库,所以请确保您的 datatank 项目配置了 MySQL 连接。

请注意,对于这种“三元组缓存”,它使用 semsol/arc2 库,该库在 PHP 5.3 和 5.4 上运行。从 5.5 版本开始,semsol/arc2 使用的 MySQL 驱动程序已被弃用。这可以通过创建一个不同的 TriplesRepository 实例来解决,该实例使用真正的三元组存储(或其他解决方案)来存储三元组。因为我们已经使用依赖注入构建了这种类型的缓存,这使得提供自己的三元组缓存变得容易。

用途

核心应用程序允许将数据源以任何机器可读格式发布为 RESTful,转换为网页格式。(例如,从 SPARQL、SHP、CSV、XLS 等转换为 JSON-LD、JSON、XML、PHP、RDF/XML、RDF/JSON,甚至地图可视化)

核心应用程序发布的每个数据源都有自己的 URI,并代表一定量的数据。现在,为了允许自动配置 URI 空间,并朝着语义网迈出一步,创建了 tdt/triples 包。

此包允许将一组语义源添加到 datatank 中,其中三元组的主语用于填充 datatank 核心中未使用的 URI。让我们看看一个例子。

The DataTank 有 2 个发布的数据源

http://foo.bar/first/datasource http://foo.bar/second/datasource

现在,如果组织有一组指向其域的语义数据,他们必须手动在相应的(或不相应的)URI 下发布不同的语义源。这就是 tdt/triples 发挥作用的地方。在包安装期间,将语义数据源添加到 datatank,语义源中存在的三元组的主语 URI 将会自动解析。

例如,如果您配置了一个具有主语为 http://foo.bar/demography/2013 的 turtle 文件,则该 URI 将会由 datatank 自动解析。在请求所有三元组时,可以找到配置的语义源中与请求 URI 相似的主语的三元组将被返回。

工作原理

当前支持的语义源是 Turtle 文件、RDF 文件和 SPARQL 端点。安装 tdt/triples 后,将应用以下工作流程

  1. 请求 URI 作为标识符
  2. datatank 检查核心(核心)应用程序是否在该标识符上发布了数据源
  3. 如果核心没有使用该标识符,则扫描所有语义源以查找匹配 URI 的主语的三元组
  4. 如果找到具有主语的三元组,则返回它们;如果没有找到,则返回 404

安装

此软件包适用于版本4.3或更高版本(如果4.3不可用,请尝试开发分支)的datatank核心,并且正在积极开发中。如果您有任何意见、建议、问题等,请毫不犹豫地将其记录在github仓库中。

  1. 编辑composer.json

编辑您的composer.json文件,并添加tdt/triples作为依赖项

"tdt/triples": "dev-master"

之后运行composer update命令。

  1. 迁移

此软件包需要一些额外的数据表来配置,所以请继续运行迁移命令!

$ php artisan migrate --package=tdt/triples
  1. 通知核心

让核心应用程序知道您已添加它应该考虑的功能。通过将'Tdt\Triples\TriplesServiceProvider'添加到位于app/config文件夹中的app.php文件中来实现。

  1. 更新

运行composer update,您就完成了!

您现在可以开始使用tdt/triples了。datatank中的每个API资源都位于/api下,triples也不例外。因此,api/triples是所有CRUD请求必须完成的URI。