<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://qingliezhiquan.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%94%BE%E5%BC%83_Semantic_MediaWiki</id>
	<title>为什么没放弃 Semantic MediaWiki - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://qingliezhiquan.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%94%BE%E5%BC%83_Semantic_MediaWiki"/>
	<link rel="alternate" type="text/html" href="https://qingliezhiquan.com/mediawiki/index.php?title=%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%94%BE%E5%BC%83_Semantic_MediaWiki&amp;action=history"/>
	<updated>2026-08-11T09:06:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://qingliezhiquan.com/mediawiki/index.php?title=%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%94%BE%E5%BC%83_Semantic_MediaWiki&amp;diff=7921&amp;oldid=prev</id>
		<title>Mwroot: Created page with &quot;20250522 update:  因为我解决了 Semantic MediaWiki 使用 apcu 导致前后端缓存不一致的问题，即改用 redis 缓存。所以，我真正用上了 Semantic MediaWiki。没办法，它确实很符合我要完成的一项工作的需求。  ---- Semantic MediaWiki 是 MediaWiki 一系列拓展的合集。宣称是实现 MediaWiki 的语义化。有可能是我还没搞懂，以我目前的认知来看，用它性价比很低，值得直接放弃，后来者...&quot;</title>
		<link rel="alternate" type="text/html" href="https://qingliezhiquan.com/mediawiki/index.php?title=%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B2%A1%E6%94%BE%E5%BC%83_Semantic_MediaWiki&amp;diff=7921&amp;oldid=prev"/>
		<updated>2025-09-29T02:14:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;20250522 update:  因为我解决了 Semantic MediaWiki 使用 apcu 导致前后端缓存不一致的问题，即改用 redis 缓存。所以，我真正用上了 Semantic MediaWiki。没办法，它确实很符合我要完成的一项工作的需求。  ---- Semantic MediaWiki 是 MediaWiki 一系列拓展的合集。宣称是实现 MediaWiki 的语义化。有可能是我还没搞懂，以我目前的认知来看，用它性价比很低，值得直接放弃，后来者...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;20250522 update:&lt;br /&gt;
&lt;br /&gt;
因为我解决了 Semantic MediaWiki 使用 apcu 导致前后端缓存不一致的问题，即改用 redis 缓存。所以，我真正用上了 Semantic MediaWiki。没办法，它确实很符合我要完成的一项工作的需求。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Semantic MediaWiki 是 MediaWiki 一系列拓展的合集。宣称是实现 MediaWiki 的语义化。有可能是我还没搞懂，以我目前的认知来看，用它性价比很低，值得直接放弃，后来者想尝试的，建议试试 Cargo。&lt;br /&gt;
&lt;br /&gt;
== 原因 ==&lt;br /&gt;
我放弃 Semantic MediaWiki 的原因有以下：&lt;br /&gt;
# 主观原因，composer 在国内网络联通性太差，普通人很难搞定。这将导致新手安装都无法顺畅，更不要谈应用它了&lt;br /&gt;
# 客观原因，MediaWiki 官方舍弃了 Semantic 方案，自行开发了一套语义化方案&lt;br /&gt;
# Semantic MediaWiki 的缓存做得很垃圾，删掉的属性一会儿又出现了，逼死强迫症&lt;br /&gt;
# Semantic MediaWiki 的速度很慢，改点东西很卡顿，这是 feature，不是 bug，要自行手动运行各类 job 脚本&lt;br /&gt;
# Semantic MediaWiki 的 Create Template 缺乏健壮性，套出来的 Forms 与预想有较大出入，又丑又怪&lt;br /&gt;
&lt;br /&gt;
当然，以上可能全是因为我还没有彻底弄懂它，但我已经不想在它身上耗时间了。&lt;br /&gt;
&lt;br /&gt;
== 理解 ==&lt;br /&gt;
[[File:Semantic.png|500px]]&lt;br /&gt;
&lt;br /&gt;
我最初想用 Semantic MediaWiki，是出于自动化需求，我想 MediaWiki 自动帮我搞定开庭日期、案名、案件程序、各类名单。&lt;br /&gt;
&lt;br /&gt;
以我现在的了解，Semantic MediaWiki 做的就是一件事：给文字添加一种属性。根据此属性，后续可以查询、自动显示、美化、自动拼装。&lt;br /&gt;
&lt;br /&gt;
但是，操作的繁杂性，与预期的收益，完全不成正比。&lt;br /&gt;
&lt;br /&gt;
在我看来，难度大于七步，入手大于七天，与赚钱无关，就不值得学了。&lt;br /&gt;
&lt;br /&gt;
万一以后又有了迫切需要 Semantic MediaWiki 的场合，或者我对它的了解更加深入，或者它被我吐槽的点得到完善，我又一次需要它，为了减少以后的折腾时间，记录一下现今对 Semantic MediaWiki 的一些东西的理解及操作。&lt;br /&gt;
&lt;br /&gt;
== 安装 ==&lt;br /&gt;
首先，检查兼容性：&lt;br /&gt;
# mediawiki 版本&lt;br /&gt;
# php 版本&lt;br /&gt;
# mbstring 是否安装&lt;br /&gt;
# pcre 版本&lt;br /&gt;
# mysql 版本&lt;br /&gt;
# elasticsearch 版本&lt;br /&gt;
&lt;br /&gt;
其次，使用 composer 安装，在 mediawiki/composer.local.json 中添加以下：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;require&amp;quot;: {&lt;br /&gt;
                  &amp;quot;mediawiki/semantic-media-wiki&amp;quot;: &amp;quot;~5.0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 在 /var/lib/mediawiki 目录安装且更新数据库&lt;br /&gt;
composer update --no-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 去 LocalSetting.php 添加：&lt;br /&gt;
wfLoadExtension( &amp;#039;SemanticMediaWiki&amp;#039; );&lt;br /&gt;
enableSemantics( &amp;#039;example.org&amp;#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
sudo php maintenance/update.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚本 ==&lt;br /&gt;
; disposeOutdatedEntities.php&lt;br /&gt;
: 翻译：处理并删除已过期的实体&lt;br /&gt;
: 说明：在 SMW 中，如果某些实体（如属性或概念）因版本升级或配置变更已失效，这个脚本会将它们清理掉，避免数据库中留存陈旧数据。&lt;br /&gt;
&lt;br /&gt;
; dumpRDF.php&lt;br /&gt;
: 翻译：导出现有三元组为 RDF 格式&lt;br /&gt;
: 说明：把数据库中存储的所有语义三元组（Subject–Predicate–Object）输出为标准的 RDF 文件，方便与其它工具或语义网平台交换数据。&lt;br /&gt;
&lt;br /&gt;
; populateHashField.php&lt;br /&gt;
: 翻译：批量填充 “smw_hash” 数据库字段&lt;br /&gt;
: 说明：在从旧版本升级到 SMW 3.0.1+ 时，用于一次性为所有实体生成并写入哈希值字段，加快后续的数据比较和查找。&lt;br /&gt;
&lt;br /&gt;
; purgeEntityCache.php&lt;br /&gt;
: 翻译：一次性清空所有实体相关的缓存条目&lt;br /&gt;
: 说明：不仅清除页面缓存，还会删除那些与实体（概念、属性）关联的各种缓存，使下一次访问从头重建数据，常用于调试或重大配置变更后。&lt;br /&gt;
&lt;br /&gt;
; rebuildConceptCache.php&lt;br /&gt;
: 翻译：重建概念（分类）缓存&lt;br /&gt;
: 说明：针对 SMW 概念（即分类）生成或更新其在页面侧的缓存视图，确保分类展示或查询结果与底层数据一致。&lt;br /&gt;
&lt;br /&gt;
; rebuildData.php&lt;br /&gt;
: 翻译：重建所有语义数据&lt;br /&gt;
: 说明：根据你选定的数据存储后端（如默认存储或 Elasticsearch），重新解析所有页面上的语义注释，生成最新的存储索引，适用于大规模更新后。&lt;br /&gt;
&lt;br /&gt;
; rebuildElasticIndex.php&lt;br /&gt;
: 翻译：重建 Elasticsearch 索引&lt;br /&gt;
: 说明：当你使用 Elasticsearch 作为 SMW 后端时，此脚本会重新创建搜索索引，确保引擎中包含所有最新的实体文档。&lt;br /&gt;
&lt;br /&gt;
; rebuildElasticMissingDocuments.php&lt;br /&gt;
: 翻译：查找并补建 Elasticsearch 中缺失的文档&lt;br /&gt;
: 说明：扫描索引与数据库差异，对于 Elasticsearch 中漏掉的实体，自动调度更新任务，将它们重新加入索引，防止查询遗漏。&lt;br /&gt;
&lt;br /&gt;
; rebuildFulltextSearchTable.php&lt;br /&gt;
: 翻译：重建全文搜索数据表&lt;br /&gt;
: 说明：如果你开启了 SMW 的全文检索功能，这个脚本会清空并重建用于全文搜索的专用表，保证搜索内容的完整与准确。&lt;br /&gt;
&lt;br /&gt;
; rebuildPropertyStatistics.php&lt;br /&gt;
: 翻译：重建属性使用统计信息&lt;br /&gt;
: 说明：统计各语义属性在整个 wiki 中出现的次数，并将结果缓存下来，以便在 Special:Statistics 或其他报表页面中快速展示。&lt;br /&gt;
&lt;br /&gt;
; removeDuplicateEntities.php&lt;br /&gt;
: 翻译：删除未被其他表引用的重复实体&lt;br /&gt;
: 说明：在长期使用中可能会产生多余、重复的实体记录，此脚本会识别那些孤立无用的实体并将其从主实体表中移除，节省存储空间。&lt;br /&gt;
&lt;br /&gt;
; runImport.php&lt;br /&gt;
: 翻译：从导入文件批量导入内容&lt;br /&gt;
: 说明：配合 SMW 的导出/备份功能使用，可以将提前准备好的语义数据文件一次性导入到当前 wiki 中。&lt;br /&gt;
&lt;br /&gt;
; setupStore.php&lt;br /&gt;
: 翻译：初始化或重置数据存储后端&lt;br /&gt;
: 说明：用于安装新站或更换存储方案时，一键创建或更新数据库表结构与索引，保障所选存储后端（MySQL、Elasticsearch 等）与 SMW 版本兼容。&lt;br /&gt;
&lt;br /&gt;
; updateEntityCollation.php&lt;br /&gt;
: 翻译：批量更新 “smw_sort” 排序字段的字符集／校对规则&lt;br /&gt;
: 说明：当你修改了实体存储表的字符集或校对规则（collation）设置后，运行此脚本可让所有已有实体的排序字段重新生成，避免排序异常。&lt;br /&gt;
&lt;br /&gt;
; updateEntityCountMap.php&lt;br /&gt;
: 翻译：批量填充 “smw_countmap” 计数字段&lt;br /&gt;
: 说明：在升级到 SMW 3.2+ 后，新增了存储实体引用计数的字段，本脚本会一次性为所有实体计算并写入引用次数，以支持统计功能。&lt;br /&gt;
&lt;br /&gt;
; updateQueryDependencies.php&lt;br /&gt;
: 翻译：更新所有包含嵌入式查询的实体&lt;br /&gt;
: 说明：当实体页面中包含 #ask 等嵌入式查询时，修改了查询逻辑或模板后，运行此脚本可触发重新处理，保证页内查询结果与最新定义一致。&lt;br /&gt;
&lt;br /&gt;
== 生态 ==&lt;br /&gt;
&lt;br /&gt;
以下对 Semantic MediaWiki（SMW）相关扩展按功能类别进行归纳说明，每个小节说明扩展的用途、使用场景、主要解决的问题，并辅以简单示例。&lt;br /&gt;
&lt;br /&gt;
SMW 核心提供了在 MediaWiki 上存储及查询结构化数据的能力，而这些扩展则在此基础上：添加/修改数据、可视化展示、扩展存储能力、与三元存储交互、监控变化、导入外部数据及提供各种工具。它们解决了从表单输入、层次组织、数据可视化、引文管理、跨语言链接到外部数据集成等一系列需求，帮助构建功能丰富的语义知识库。&lt;br /&gt;
&lt;br /&gt;
=== 添加与修改数据 ===&lt;br /&gt;
&lt;br /&gt;
==== Cognitive Process Designer ====&lt;br /&gt;
&lt;br /&gt;
用途：通过界面创建、导入、导出和注释 BPMN（业务流程模型与符号）流程。​&lt;br /&gt;
&lt;br /&gt;
场景：团队需在 wiki 内记录和共享标准化业务流程，例如审批或采购流程。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需外部建模工具，即可在 wiki 中直观地管理流程模型及版本。&lt;br /&gt;
&lt;br /&gt;
示例：财务部门使用该扩展在 wiki 上绘制并注释“报销审批”流程图，方便新同事学习。&lt;br /&gt;
&lt;br /&gt;
==== HierarchyBuilder ====&lt;br /&gt;
&lt;br /&gt;
用途：定义并维护页面间的层级结构，可将该层级作为表单输入类型。​&lt;br /&gt;
&lt;br /&gt;
场景：需要组织并呈现人员架构或组织结构图时。&lt;br /&gt;
&lt;br /&gt;
解决问题：避免手动维护多重子页面或复杂模板，通过语义属性动态生成层次视图。&lt;br /&gt;
&lt;br /&gt;
示例：HR 在 wiki 中用该扩展建立公司部门树状图，并在员工档案表单中作为“所属部门”下拉项。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Forms（Page Forms） ====&lt;br /&gt;
&lt;br /&gt;
用途：基于模板字段自动生成页面创建/编辑表单。​&lt;br /&gt;
&lt;br /&gt;
场景：任何希望用表单代替手动填写模板参数的场景，如产品信息录入。&lt;br /&gt;
&lt;br /&gt;
解决问题：规范数据录入格式，降低模板编辑出错率，提高用户体验。&lt;br /&gt;
&lt;br /&gt;
示例：技术团队为“服务器配置”页面创建表单，输入 CPU、内存和存储等字段即可完成页面创建。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Forms Select ====&lt;br /&gt;
&lt;br /&gt;
用途：在 Page Forms 中生成可动态获取值的下拉选择项。​&lt;br /&gt;
&lt;br /&gt;
场景：当表单选项源自已有的语义查询结果，如从已定义的“项目列表”中选项目。&lt;br /&gt;
&lt;br /&gt;
解决问题：避免手动维护下拉选项，自动与语义数据保持一致。&lt;br /&gt;
&lt;br /&gt;
示例：在“任务分配”表单中，下拉框实时列出所有“活跃项目”供选择。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Glossary ====&lt;br /&gt;
&lt;br /&gt;
用途：定义术语和缩略词及其解释，鼠标悬停时显示定义。​&lt;br /&gt;
&lt;br /&gt;
场景：技术文档或百科类内容中，频繁出现专业术语需即时查看释义。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需额外跳转，提升阅读连贯性和学习效率。&lt;br /&gt;
&lt;br /&gt;
示例：在生物学相关条目中，将“蛋白质组学”添加至术语表，悬停即可显示简介。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Organization ====&lt;br /&gt;
&lt;br /&gt;
用途：提供可配置的组织结构模板，比如人员、任务等信息。​&lt;br /&gt;
&lt;br /&gt;
场景：企业内部管理人员档案、任务分配及部门信息时。&lt;br /&gt;
&lt;br /&gt;
解决问题：通过标准化模板和语义字段，统一展示与查询组织信息。&lt;br /&gt;
&lt;br /&gt;
示例：使用该扩展创建“员工信息”模板，包含姓名、职位、联系方式等属性。&lt;br /&gt;
&lt;br /&gt;
=== 展示数据 ===&lt;br /&gt;
&lt;br /&gt;
==== Semantic Result Formats ====&lt;br /&gt;
&lt;br /&gt;
用途：为 #ask 查询提供大量可视化结果格式，如日历、时间轴、图表等。​&lt;br /&gt;
&lt;br /&gt;
场景：需要将查询结果按日历展示项目进度，或用图表展示统计数据。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需自定义前端组件，即可在 wiki 内生成丰富多样的可视化输出。&lt;br /&gt;
&lt;br /&gt;
示例：用日历格式显示“会议安排”查询结果，按日期高亮标注。&lt;br /&gt;
&lt;br /&gt;
==== Maps ====&lt;br /&gt;
&lt;br /&gt;
用途：利用 Google Maps、OpenLayers、Leaflet 等服务在地图上显示地理坐标数据。​&lt;br /&gt;
&lt;br /&gt;
场景：项目管理、事件分布可视化，或地点型内容（旅游、门店）展示。&lt;br /&gt;
&lt;br /&gt;
解决问题：与语义坐标结合，自动在地图上标出相关页面对应的位置。&lt;br /&gt;
&lt;br /&gt;
示例：在“野生动物观察”页面，用地图展示所有记录了坐标的观察点。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Compound Queries ====&lt;br /&gt;
&lt;br /&gt;
用途：通过 #compound_query 同时展示多个语义查询结果。​&lt;br /&gt;
&lt;br /&gt;
场景：需在同一页面并列显示不同类型的数据，如同时展示在线用户和最近编辑。&lt;br /&gt;
&lt;br /&gt;
解决问题：避免多次嵌套调用 #ask，统一筛选和布局。&lt;br /&gt;
&lt;br /&gt;
示例：在“仪表盘”页面同时列出“高优先级任务”和“即将到期事件”。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Drilldown ====&lt;br /&gt;
&lt;br /&gt;
用途：提供基于分类和属性过滤的分面导航（faceted browser）。​&lt;br /&gt;
&lt;br /&gt;
场景：面对大量条目，需要按属性快速缩小结果集时。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需外部框架，即可在 wiki 内实现多维度数据筛选。&lt;br /&gt;
&lt;br /&gt;
示例：在“图书目录”页面，按“作者”“出版年份”“主题”逐层过滤。&lt;br /&gt;
&lt;br /&gt;
==== Technology Portfolio ====&lt;br /&gt;
&lt;br /&gt;
用途：为 #ask 查询添加“投资组合”式的可视化格式。​&lt;br /&gt;
&lt;br /&gt;
场景：IT 资产管理或技术成熟度评估时，以矩阵形式展示项目布局。&lt;br /&gt;
&lt;br /&gt;
解决问题：直观体现不同项目在各象限（如风险/收益）中的分布。&lt;br /&gt;
&lt;br /&gt;
示例：在“产品路线”页面，用组合图显示各产品的成熟度与市场潜力。&lt;br /&gt;
&lt;br /&gt;
==== Technology Radar ====&lt;br /&gt;
&lt;br /&gt;
用途：为 #ask 查询添加“雷达图”式可视化格式。​&lt;br /&gt;
&lt;br /&gt;
场景：展示技术趋势或能力评估雷达图形。&lt;br /&gt;
&lt;br /&gt;
解决问题：一览多维度指标，便于比较与决策。&lt;br /&gt;
&lt;br /&gt;
示例：在“技能矩阵”页面，用雷达图展示团队在不同技术栈上的能力。&lt;br /&gt;
&lt;br /&gt;
=== 存储附加数据 ===&lt;br /&gt;
&lt;br /&gt;
==== Semantic Cite ====&lt;br /&gt;
&lt;br /&gt;
用途：定义 #scite 解析函数，用于生成引用脚注并将引用信息以语义属性存储。​&lt;br /&gt;
&lt;br /&gt;
场景：学术或文档项目中，需要同时显示脚注和后续查询引用统计。&lt;br /&gt;
&lt;br /&gt;
解决问题：引用管理与语义查询结合，支持“被引用次数”等统计。&lt;br /&gt;
&lt;br /&gt;
示例：在技术文档中调用 #scite，同时生成带元数据的参考列表，可通过查询列出所有引用该文档的页面。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Interlanguage Links ====&lt;br /&gt;
&lt;br /&gt;
用途：定义跨语言页面间链接的解析函数，存储并查询不同语言对应关系。​&lt;br /&gt;
&lt;br /&gt;
场景：多语言文档维护，需要在不同语言版本间互链。&lt;br /&gt;
&lt;br /&gt;
解决问题：区别于 Translate 扩展，支持在不同页面之间的语义链接管理。&lt;br /&gt;
&lt;br /&gt;
示例：在英文条目中使用 &amp;lt;nowiki&amp;gt;{{interlanguagelink:fr|PageName}}&amp;lt;/nowiki&amp;gt;，自动记录并展示法文对应页面。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Internal Objects ====&lt;br /&gt;
&lt;br /&gt;
用途：提供 #set_internal 等函数，实现“子对象”（n 元关系）语义存储。​&lt;br /&gt;
&lt;br /&gt;
场景：一条页面需存储多组同类属性，如课程及其多个授课时间。&lt;br /&gt;
&lt;br /&gt;
解决问题：标准属性只能一对多，子对象支持多对多复合数据建模。&lt;br /&gt;
&lt;br /&gt;
示例：在“会议”页面内，分别记录多场分会的信息（名称、时间、地点）。&lt;br /&gt;
&lt;br /&gt;
==== Semantic Extra Special Properties ====&lt;br /&gt;
&lt;br /&gt;
用途：为所有页面添加额外的特殊属性，如“贡献用户”“首创用户”“当前修订 ID”等。​&lt;br /&gt;
&lt;br /&gt;
场景：需要对页面元信息做查询或展示。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需自定义维护，即可在查询中使用丰富的内置页眉属性。&lt;br /&gt;
&lt;br /&gt;
示例：通过内置属性查询列出“本月新创建页面”及其创建者。&lt;br /&gt;
&lt;br /&gt;
=== 通过 RDF 三元存储存储数据 ===&lt;br /&gt;
&lt;br /&gt;
==== LinkedWiki ====&lt;br /&gt;
&lt;br /&gt;
用途：连接到外部 RDF 三元存储（如 4store），并可在 wiki 内发起 SPARQL 查询。​&lt;br /&gt;
&lt;br /&gt;
场景：需要与 Wikidata 或其他 SPARQL 端点集成时。&lt;br /&gt;
&lt;br /&gt;
解决问题：突破 SMW 内部存储，直接在 wiki 中消费和呈现任意三元存储数据。&lt;br /&gt;
&lt;br /&gt;
示例：在页面中直接用 SPARQL 查询 Wikidata，显示某地标的坐标和简介。&lt;br /&gt;
&lt;br /&gt;
==== SPARQL Result format ====&lt;br /&gt;
&lt;br /&gt;
用途：对接不同 SPARQL 端点并以多种格式呈现查询结果。​&lt;br /&gt;
&lt;br /&gt;
场景：跨域整合语义数据并在 wiki 中直观展示。&lt;br /&gt;
&lt;br /&gt;
解决问题：免去手动解析 JSON/XML，自动格式化 SPARQL 输出。&lt;br /&gt;
&lt;br /&gt;
=== 监控与工作流 ===&lt;br /&gt;
&lt;br /&gt;
==== Semantic Watchlist ====&lt;br /&gt;
&lt;br /&gt;
用途：为语义属性变化设置专属监视列表，并可分组、通过邮件通知。​&lt;br /&gt;
&lt;br /&gt;
场景：关注关键数据属性（如库存、状态）变动的项目管理。&lt;br /&gt;
&lt;br /&gt;
解决问题：传统 watchlist 仅监视页面，无法聚焦属性级别的变化。&lt;br /&gt;
&lt;br /&gt;
示例：财务人员监控“预算剩余”属性，一旦修改即收到邮件提醒。&lt;br /&gt;
&lt;br /&gt;
=== 导入外部数据 ===&lt;br /&gt;
&lt;br /&gt;
==== External Data ====&lt;br /&gt;
&lt;br /&gt;
用途：从外部 URL、数据库、LDAP、SOAP/REST 服务或文件中检索、过滤并格式化数据到 wiki。​&lt;br /&gt;
&lt;br /&gt;
场景：需要将 ERP、CRM 等系统数据实时展示在 wiki 页面。&lt;br /&gt;
&lt;br /&gt;
解决问题：无需中间脚本，直接在 wiki 内调用外部接口并可选存储为语义属性。&lt;br /&gt;
&lt;br /&gt;
示例：在“销售报表”页面，实时拉取公司 CRM 系统的月度销售额并生成表格。&lt;br /&gt;
&lt;br /&gt;
=== 工具类扩展 ===&lt;br /&gt;
&lt;br /&gt;
以下扩展多为辅助开发或集成工具，常在大型部署或与第三方系统对接时使用：&lt;br /&gt;
&lt;br /&gt;
==== PhpTags SMW ====&lt;br /&gt;
&lt;br /&gt;
可在 PHPTags 中查询和修改 SMW 数据。​&lt;br /&gt;
&lt;br /&gt;
==== Semantic Breadcrumb Links ====&lt;br /&gt;
&lt;br /&gt;
基于语义属性动态生成面包屑导航。​&lt;br /&gt;
&lt;br /&gt;
==== Semantic Dependency Updater ====&lt;br /&gt;
&lt;br /&gt;
监控页面语义数据变化并自动更新依赖页面（null-edit）。​&lt;br /&gt;
&lt;br /&gt;
==== Semantic Dependency ====&lt;br /&gt;
&lt;br /&gt;
定义页面间语义依赖关系，当被依赖页面数据变化时触发更新。​&lt;br /&gt;
&lt;br /&gt;
==== Semantic Meta Tags ====&lt;br /&gt;
&lt;br /&gt;
根据语义属性生成 HTML &amp;lt;meta&amp;gt; 标签，便于 SEO 和社交平台分享。​&lt;br /&gt;
&lt;br /&gt;
==== Semantic Scribunto ====&lt;br /&gt;
&lt;br /&gt;
在 Scribunto 模块中原生支持 SMW 数据访问。​&lt;br /&gt;
&lt;br /&gt;
==== SMWConnector ====&lt;br /&gt;
&lt;br /&gt;
BlueSpice 与 SMW 之间的核心接口，用于集成与扩展。​&lt;br /&gt;
&lt;br /&gt;
==== Title Icon ====&lt;br /&gt;
&lt;br /&gt;
为页面名称旁添加图标，提升列表或分类视图的可视化效果。​&lt;/div&gt;</summary>
		<author><name>Mwroot</name></author>
	</entry>
</feed>