openeuropa / rdf_skos
包含 RDF SKOS 实体类型的 Drupal 模块。
Requires
- php: >=8.1
- drupal/core: ^10
- drupal/sparql_entity_storage: ^2.0.0-alpha12
Requires (Dev)
- composer/installers: ^1.11
- drupal/core-composer-scaffold: ^10
- drupal/drupal-extension: ^5.0
- drush/drush: ^12
- mikey179/vfsstream: ^1.6.10
- nikic/php-parser: ^4
- openeuropa/behat-transformation-context: ^0.2
- openeuropa/code-review: ^2.0.0-alpha6
- openeuropa/task-runner-drupal-project-symlink: ^1.0-beta6
- phpspec/prophecy-phpunit: ^2
- symfony/phpunit-bridge: ^6.2
- 1.x-dev
- 1.0.0
- 1.0.0-alpha10
- 1.0.0-alpha9
- 1.0.0-alpha8
- 1.0.0-alpha7
- 1.0.0-alpha6
- 1.0.0-alpha5
- 1.0.0-alpha4
- 1.0.0-alpha3
- 1.0.0-alpha2
- 1.0.0-alpha1
- 0.x-dev
- 0.12.0.x-dev
- 0.12.0
- 0.11.0
- 0.10.0
- 0.9.0
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.0
- dev-OEL-3065
- dev-OES-1106
- dev-release-1.0.0-alpha4
- dev-release-1.0.0-alpha3
- dev-master
- dev-EWPP-727-0.x
- dev-release-1.0.0-alpha1
- dev-EWPP-176
- dev-OPENEUROPA-3048-test
- dev-OPENEUROPA-2258-test-php72
This package is auto-updated.
Last update: 2024-08-26 13:40:49 UTC
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
更新过程需要分为三个部署,这可能会产生单独的站点发布。
第一次部署
- 在您将
rdf_skos
更新到1.0.0-alpha1
之前,要求一个空的drupal/sparql_entity_storage
模块版本$ composer require drupal/sparql_entity_storage:dev-empty-module
- 部署到生产环境。
- 启用模块(这可以是上述部署过程的一部分,具体取决于您的配置)。
此时,您的网站的 composer.json
应该看起来像这样
{
...
"openeuropa/rdf_skos": "~0.11.0",
"drupal/sparql_entity_storage": "dev-empty-module",
...
}
第二次部署
- 从您的
composer.json
中删除对空的drupal/sparql_entity_storage
模块的要求。 - 需要
drupal/rdf_entity
的新1.0-alpha21
版本和openeuropa/rdf_skos
的新1.0.0-alpha1
版本。 - 部署到生产环境。
- 卸载
drupal/rdf_entity
模块(这可以是上述部署过程的一部分,具体取决于您的配置)。
此时,您的网站的 composer.json
应该看起来像这样
{
...
"openeuropa/rdf_skos": "~1.0.0-alpha1",
"drupal/rdf_entity": "~1.0-alpha21",
...
}
第三次部署
- 删除对
drupal/rdf_entity
的依赖。 - 部署到生产环境。
此时,您的网站的 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.dist
到runner.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