专业-wiki/语义-wikibase

MediaWiki 扩展,使 Wikibase 数据在 Semantic MediaWiki 中可用

资助包维护!
JeroenDeDauw

安装: 333

依赖: 0

建议者: 0

安全: 0

星级: 15

关注者: 7

分支: 4

开放问题: 3

类型:mediawiki-extension

0.1.0 2020-08-22 22:03 UTC

This package is auto-updated.

Last update: 2024-09-10 15:33:25 UTC


README

Wikibase 提供数据,使其在 Semantic MediaWiki 中可用的 MediaWiki 扩展。

语义 Wikibase 由 Professional.Wiki 创建,并在 Frans AL van der Horst 的帮助下开发。

演示

平台要求

安装

首先安装 MediaWiki、Semantic MediaWiki 和 Wikibase Repository。

推荐使用 Composer 和 MediaWiki 内置的 Composer 支持安装 Semantic Wikibase。

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

COMPOSER=composer.local.json composer require --no-update professional-wiki/semantic-wikibase:*
composer update professional-wiki/semantic-wikibase --no-dev -o

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

wfLoadExtension( 'SemanticWikibase' );

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

作为最后一步,您需要配置属性命名空间。请参阅配置部分。

翻译后的数据

属于 Wikibase 项目和属性 的数据被翻译为 Semantic MediaWiki 属性值对。

标签、描述、ID 等

翻译后的数据形式 Wikibase 数据模型元素 => SMW 属性名称 (SMW 属性类型)

  • EntityId => Wikibase ID (文本)
  • Labels => Wikibase 标签 (单语文本)
  • Descriptions => Wikibase 描述 (单语文本)
  • Aliases => Wikibase 别名 (单语文本)

声明

当一个 声明 被翻译时,只有 "主要 snak" 的值被存储在 SMW 中。

SMW 属性名称是 Wikibase 属性的 ID,例如 P42。Wikibase 属性的标签被添加为别名。这意味着在 SMW 查询中,[[P42::+]][[Capital city::+]] 都是有效的。

已弃用的声明永远不会被翻译。如果有首选声明,则普通声明不会翻译。SMW 属性类型基于 Wikibase 属性类型。只有支持属性类型的声明才会被翻译。

支持的属性类型

目前不支持类型

  • 实体模式 (entity-schema)
  • 地理形状 (geo-shape)
  • 表格数据 (tabular-data)

配置

您可以通过 LocalSettings.php 配置 Semantic Wikibase。

属性命名空间

这是设置语义 Wikibase 所需的唯一配置。

Wikibase 和 Semantic MediaWiki 都添加了一个名为 "Property" 的属性命名空间。这会导致冲突,可以通过重命名 Wikibase 属性命名空间或 Semantic MediaWiki 属性命名空间来解决。

重命名 Wikibase 属性命名空间

$wgExtraNamespaces[WB_NS_PROPERTY] = 'WikibaseProperty';
$wgExtraNamespaces[WB_NS_PROPERTY_TALK] = 'WikibaseProperty_talk';

重命名 SMW 属性命名空间

$wgExtensionFunctions[] = function() {
    $GLOBALS['wgExtraNamespaces'][SMW_NS_PROPERTY] = 'SemanticProperty';
    $GLOBALS['wgExtraNamespaces'][SMW_NS_PROPERTY_TALK] = 'SemanticProperty_talk';
};

您可以选择将这些命名空间重命名为什么。它们不需要是 WikibaseProperty 和/或 SemanticProperty。只要它们不相同,语义 Wikibase 就可以正常工作。

您可能需要设置这些额外权限以避免在创建新项目或属性时出错。

$wgGroupPermissions['user']['item-create'] = true;
$wgGroupPermissions['user']['property-create'] = true;

属性标签语言

用于属性标签翻译的语言默认为维基语言($wgLanguageCode)。

这意味着,如果您的维基语言是英语,并且您有一个属性 P1,其荷兰语标签为 "lokatie",英语标签为 "location",那么在 Semantic MediaWiki 中的属性名称将是 "location"。

您可以指定使用与维基语言不同的语言。这是通过 $wgSemanticWikibaseLanguage 设置来完成的。以下示例中,P1 的标签将是 "lokatie"。

$wgSemanticWikibaseLanguage = 'nl';

禁用实体类型/命名空间的翻译

$smwgNamespacesWithSemanticLinks[WB_NS_ITEM] = false;
$smwgNamespacesWithSemanticLinks[WB_NS_PROPERTY] = false;

增强想法

数据翻译

  • 能够将实体列入白名单或黑名单以进行翻译
  • 能够将陈述列入白名单或黑名单以进行翻译
  • 对限定符、参考、陈述等级和其他非主要 snak 数据的翻译
  • 对项目和其他属性之外的实体提供支持
  • 翻译项目 sitelinks

属性

  • 检测并可能预防 Wikibase 和 SMW 之间属性名称冲突
  • 在 SMW 属性页面上对 Wikibase 属性的(多语言)描述
  • 在 Special:Browse 上对 Wikibase 属性进行分组

Professional.Wiki 提供商业 MediaWiki 开发Wikibase 开发托管维基

发布说明

版本 0.1

发布于 2020 年 9 月 3 日