Help:RDF导出

根据用户对于文章的语义标注，Semantic MediaWiki能够采用OWL/RDF格式生成机读型文档，从而可以采用特殊页面Special:ExportRDF来访问这些文档. 而且，还有一个维护脚本，可以自动生成所有语义数据的完整导出. 本文旨在阐述如何采用OWL本体语言对标注加以形式化的解释，以及如何生成合适的RDF序列化.

导出功能的使用
借助于Special:ExportRDF页面，通过在输入栏当中输入文章列表，用户可以轻松地访问所生成的RDF. 这种导出结果当中将包含一份OWL/RDF规范（specification），其中备有所导出元素的各种描述块（description blocks）. 除了所请求的文章，导出结果当中还包括对于任何其他元素（如所提到过的实例、属性以及类）的基本声明. 有两项设置可以进一步影响所导出的那套文章：


 * 递归式导出（Recursive export）： 每篇文章通常都会与其他各种各样的文章之间存在着不同的关系. 正常情况下，对于其他这些文章只是进行简要的声明，从而在需要的时候各种工具可以找出进一步的RDF规范. 通过启用递归式导出功能，将会立即导出关于所遇到对象的全部信息. 这一过程将会针对所有进一步的对象而继续进行下去，因而此选项可能导致庞大的结果.


 * 反向链接（Backlinks）： RDF数据模型是建立在有向图（directed graphs）的基础之上. 当导出一篇文章的时候，我们通常导出的仅仅是相应元素在其中以主语（subject）出现的那些声明，而所导出的文档之中并不包括链入式链接（incoming links）. 这就对RDF浏览器形成了限制，因为在没有首先获取整个RDF之前，这些浏览器就无法访问所有与某事物存在某种关系的元素. 有鉴于此，我们可以启用反向链接（backlinks）的导出. 这样，也将导出所有与任何所导出的文章存在关系的文章.

服务器管理员可以对上述这些选项的可用性加以限制，并且可以为无法提供任何参数的情况设置默认取值（参见下文）. 原因就是，上述这些选项，尤其是组合起来的时候，可以轻松地造成以RDF格式导出维基站点的主要组成部分，而这可能会过度损害大型网站的性能.

除了Special:ExportRDF页面上的表单外，亦可通过直接调用合适的URLs来获取RDF. 这种办法适合于直接链接到RDF规范. 就其基本形式而言，可以通过在导出服务URL的后面追加一个（URL编码型）文章名称来实现. 例如，可以通过链接到：

http://wiki.ontoworld.org/index.php/Special:ExportRDF/ESWC2006

来直接获取该RDF. 或者，亦可将该文章名称指定为该URL当中的一个GET参数"page"（页面），比如：

http://wiki.ontoworld.org/index.php?title=Special:ExportRDF&page=ESWC2006

额外的GET参数
除了标题（title）和页面（page）外，ExportRDF还有额外的GET（查询字符串）参数. 如果管理员禁用了这两项设置的话，则将会忽略二者. 如果未提供任何设置，则适用的将是站点级的默认取值. 例如，维基站点ontoworld.org就始终采用反向链接来导出RDF.
 * 可以通过把"backlinks"设置为1或0，分别来启用或禁用反向链接.
 * 可以通过把"recursive"设置为1或0，分别来启用或禁用递归式导出.

ExportRDF输出的默认内容类型（Content-Type）为application/xml（且charset=UTF-8）. 可以通过添加"xmlmime=rdf" GET参数来设置内容类型application/rdf+xml. 一些处理工具处理结果输出时需要这种RDF MIMEType【注：多用途互联网邮件扩展（MIME，Multipurpose Internet Mail Extensions）】.

导出全部数据
除了维基站点的Special:ExportRDF功能，还有一个维护脚本，可让您导出一次性导出维基站点的全部语义数据. 该脚本称为SMW_dumpRDF.php，并且可在SMW的维护目录当中找到它. 该目录当中还包含一份README自述文件，其中描述了在您本地的MediaWiki安装当中如何安装维护脚本.

维护脚本SMW_dumpRDF.php可以生成完整的导出，亦可将其限制到schema（方案、架构）的某些元素. 比如，仅仅导出类别层级结构或者仅仅是那些特征属性（attributes）及其类型. 该脚本自身当中对细节情况进行了描述.

可以轻松地将该脚本作为一项cronjob加以自动运行，从而定期生成RDF转储形式（dumps）. 对于ontoworld.org，可以从 http://ontoworld.org/RDF/ 那里获得所产生的这种转储形式.

维基页面到本体元素的映射
导出会将维基站点当中的页面与页面当中所讨论的"事物"区别对待. ……

可以向Semantic MediaWiki当中导入外部词表（如foaf或Dublin Core），并且将SMW当中的特征属性（attributes）和关系（relations）与外部词表关联起来，从而在RDF导出结果当中，SMW特征属性和关系将导出为外部词表当中的属性（properties）（比如，foaf:knows或skos:concept）.

类别
MediaWiki类别关系是利用已有的RDF/RDFS属性来导出的. 简而言之：
 * 普通文章里面的类别指定（category assignment）将导出为rdf:type，而这表明“是某个类的一个实例”. 因此，MediaWiki类别的运用就好比是，就"圣地亚哥是城市类的一个实例"而言的"is a"（"是一个……"，类属关系）.
 * 类别文章当中的类别指定将导出为rdfs:subClassOf，而这表明"一个类的所有实例也都是另一个类的实例". 因此，在类别文章里面运用MediaWiki类别就好比是，就"直辖市的所有实例都是城市"而言的"is a"（"是一种……"，类属关系）.

目前，MediaWiki类别的很多用法都与这些语义相冲突. 例如，文章Urban decay（城市衰退）可能就在城市类别Cities当中，但其并非城市. 同样，Category:City museums（城市博物馆）也可能就在城市类别Cities当中，但城市博物馆也不属于是城市.

有关OWL DL的限制
...TODO