professional-wiki / sparql
允许通过 lua 运行 SPARQL 查询
Requires
- php: >=8.1
- composer/installers: ^2|^1.0.1
- jeroen-de-dauw/file-fetcher: ^6.1.0
Requires (Dev)
- mediawiki/mediawiki-codesniffer: ^42.0.0
- phpstan/phpstan: ^1.10.39
- vimeo/psalm: ^5.15.0
This package is auto-updated.
Last update: 2024-08-26 22:58:36 UTC
README
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 模块示例
安装
平台要求
我们还推荐安装 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-baseline
和 make 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 兼容