openeuropa/rdf_skos

包含 RDF SKOS 实体类型的 Drupal 模块。

安装次数: 114 570

依赖项: 10

建议者: 0

安全性: 0

星标: 0

关注者: 20

分支: 3

开放问题: 4

类型:drupal-module


README

此模块提供了一个专用的实体类型用于 SKOS 模型。该模块需要访问一个 三元组存储数据库,例如 Virtuoso 7

从 0.11.0 升级到 1.0.0-alpha1

1.0.0-alpha1 中,已移除对 rdf_entity 模块的依赖,并引入了 sparql_entity_storage 模块(有关更多信息,请参阅 rdf_entity 模块的 Readme)。

根据 rdf_entity 模块的建议,以下步骤可以用于在生产环境中更新 rdf_skos

更新过程需要分为三个部署,这可能会产生单独的站点发布。

第一次部署

  1. 在您将 rdf_skos 更新到 1.0.0-alpha1 之前,要求一个空的 drupal/sparql_entity_storage 模块版本
    $ composer require drupal/sparql_entity_storage:dev-empty-module
    
  2. 部署到生产环境。
  3. 启用模块(这可以是上述部署过程的一部分,具体取决于您的配置)。

此时,您的网站的 composer.json 应该看起来像这样

{
    ...
    "openeuropa/rdf_skos": "~0.11.0",
    "drupal/sparql_entity_storage": "dev-empty-module",
    ...
}

第二次部署

  1. 从您的 composer.json 中删除对空的 drupal/sparql_entity_storage 模块的要求。
  2. 需要 drupal/rdf_entity 的新 1.0-alpha21 版本和 openeuropa/rdf_skos 的新 1.0.0-alpha1 版本。
  3. 部署到生产环境。
  4. 卸载 drupal/rdf_entity 模块(这可以是上述部署过程的一部分,具体取决于您的配置)。

此时,您的网站的 composer.json 应该看起来像这样

{
    ...
    "openeuropa/rdf_skos": "~1.0.0-alpha1",
    "drupal/rdf_entity": "~1.0-alpha21",
    ...
}

第三次部署

  1. 删除对 drupal/rdf_entity 的依赖。
  2. 部署到生产环境。

此时,您的网站的 composer.json 应该看起来像这样

{
    ...
    "openeuropa/rdf_skos": "~1.0.0-alpha1",
    ...
}

完成这些步骤后,您的网站应使用 drupal/sparql_entity_storage 和最新的 drupal/rdf_skos 模块版本,而 drupal/rdf_entity 模块将不再存在于您的代码库中。

技术细节和限制

该模块允许在 Drupal 中将 SKOS 概念方案和概念作为实体加载。实体将从相关配置中指定的图 IRIs 加载。

由于所有图都传递给了加载实体的方法,这强制了在所有图中都拥有唯一 IRIs(Drupalese 中的 IDs)的限制。

开发环境设置

初始设置

您可以通过以下步骤构建测试站点。

  • 安装 Virtuoso。最简单的方法是使用 OpenEuropa 的 三元组存储 开发 Docker 容器,该容器还预导入了主要的 Europa 词汇表。
  • 安装所有 composer 依赖项
$ composer install
  • 通过复制 runner.yml.distrunner.yml 并更改相关值(如您的数据库凭据)来自定义构建设置。

  • 通过运行以下命令设置测试站点

$ ./vendor/bin/run drupal:site-setup

这将将在测试站点中的适当目录中创建模块的符号链接,并在测试配置文件(如 behat.yml.dist)中执行令牌替换。

请注意:项目文件和目录是通过使用 OpenEuropa Task Runner 的 Drupal 项目符号链接 命令在测试站点中符号链接的。

如果您在项目的根目录中添加了新文件或目录,您需要重新运行 drupal:site-setup 以确保它们被正确符号链接。

如果您不希望重新运行完整的站点设置,您可以简单地运行

$ ./vendor/bin/run drupal:symlink-project
  • 通过运行以下命令安装测试站点
$ ./vendor/bin/run drupal:site-install

您的测试站点将在 ./build 下可用。

使用Docker Compose

或者,您可以使用Docker和Docker-compose以及提供的配置来构建测试站点。

要求

您可以为您的本地Docker设置进行任何必要的更改。然而,默认设置应该足够设置项目。

运行

$ docker-compose up -d

然后

$ docker-compose exec web composer install
$ docker-compose exec web ./vendor/bin/run drupal:site-install

您的测试站点将在 http://localhost:8080/build 下可用。

运行grumphp测试

$ docker-compose exec web ./vendor/bin/grumphp run

运行phpunit测试

$ docker-compose exec web ./vendor/bin/phpunit

运行behat测试

$ docker-compose exec web ./vendor/bin/behat

处理内容

该项目包含以下任务运行器命令,用于在RDF存储中处理内容,它们需要Docker Compose服务处于运行状态。

清除所有数据

$ docker-compose exec sparql ./vendor/bin/robo purge

或者,如果您可以在主机机器上运行命令

$ ./vendor/bin/run sparql:purge

导入默认数据

$ docker-compose exec sparql ./vendor/bin/robo import

或者,如果您可以在主机机器上运行命令

$ ./vendor/bin/run sparql:import

重置所有数据,即运行清除和导入

$ docker-compose exec sparql ./vendor/bin/robo purge
$ docker-compose exec sparql ./vendor/bin/robo import

或者,如果您可以在主机机器上运行命令

$ ./vendor/bin/run sparql:reset