允许通过 lua 运行 SPARQL 查询

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 4

关注者: 4

分支: 1

开放问题: 0

类型:mediawiki-extension

1.0.0 2023-11-24 17:52 UTC

This package is auto-updated.

Last update: 2024-08-26 22:58:36 UTC


README

GitHub Workflow Status Type Coverage Psalm level Latest Stable Version Download count

MediaWiki 扩展,用于通过 Lua 执行 SPARQL 查询及其结果的模板。

Professional.Wiki 创建并维护 SPARQL。我们提供 Wikibase 托管Wikibase 开发MediaWiki 开发,以及 Wikibase 咨询

目录

使用文档

定义一个需要 SPARQL 绑定并使用其 runQuery 方法的 lua 模块。

示例:创建页面 Module:MySPARQL

local sparql = require('SPARQL') -- Load the SPARQL binding

local p = {}

function p.showFirstValue(frame)
  local sparqlQuery = frame.args[1]
  local queryResults = sparql.runQuery(sparqlQuery) -- Use the runQuery method

  local firstColName = queryResults['head']['vars'][0]
  return queryResults['results']['bindings'][0][firstColName]['value']

end

return p

然后可以通过 Scribunto 的正常机制在 wikitext 内部调用。示例

{{#invoke:MySPARQL|showFirstValue|你的 SPARQL 查询在这里}}

lua 模块示例

安装

平台要求

  • PHP 8.1 或更高版本(已测试至 8.2)
  • MediaWiki 1.39 或更高版本(已测试至 1.42-dev)
  • Scribunto 和 lua

我们还推荐安装 CodeEditor 扩展 以获得更好的 Lua 模块编辑体验。

安装 SPARQL 扩展

安装 SPARQL 扩展的推荐方式是使用 Composer 与 MediaWiki 内置的 Composer 支持

在命令行中,转到您的维基根目录。然后运行以下两个命令

COMPOSER=composer.local.json composer require --no-update professional-wiki/sparql:~1.0
composer update professional-wiki/sparql --no-dev -o

然后通过向您的维基的 LocalSettings.php 文件底部添加以下内容来启用扩展

wfLoadExtension( 'SPARQL' );

您可以通过打开您的维基的 Special:Version 页面来验证扩展是否成功启用。

PHP 配置

可以通过 LocalSettings.php 修改配置。

SPARQL 端点 URL

变量: $wgSPARQLEndpoint

对于扩展的功能是必需的。您可以在不设置此变量的情况下启用扩展而不会破坏您的维基,但扩展将无法工作。

示例

$wgSPARQLEndpoint = 'https://query.portal.mardi4nfdi.de/proxy/wdqs/bigdata/namespace/wdq/sparql';

开发

extensions/SPARQL/ 中运行 composer install 以使代码质量工具可用。

运行测试和 CI 检查

您可以通过在 SPARQL 目录中运行 make 命令来使用 Makefile

  • make ci: 运行一切
  • make test: 运行所有测试
  • make phpunit --filter FooBar: 只运行名称中包含 FooBar 的 PHPUnit 测试
  • make phpcs: 运行所有样式检查
  • make cs: 运行所有样式检查和静态分析

更新基线文件

有时 Psalm 和 PHPStan 会生成我们不希望修复的错误或警告。这些可以通过将它们添加到相应的基线文件来忽略。您可以使用 make stan-baselinemake psalm-baseline 更新这些文件。

发布说明

版本 1.0.0 - 2023-11-24

  • 将 Lua 绑定 SPARQL.runQuery 以执行 SPARQL 查询并返回 Lua 表格格式的结果
  • 与 MediaWiki 1.39、1.40 和 1.41 兼容
  • 与 PHP 8.1 和 8.2 兼容