在MediaWiki系统中查询结构化数据库

来自Jamesqi
跳转至: 导航搜索

--James Qi 2009年7月13日 (一) 23:40 (CST)

  很久以前写过一篇《在MediaWiki的非结构化数据中部分实现结构化数据库功能》的日志,是用模板和动态页面列表的办法来实现,但也只能部分实现,并不是一个很完善、很正规的办法。

  前一阵子有一位网上的朋友问我“能否把数据存在数据库中的表里,然后让它动态的显示在mediawiki的页面上呢?”,我当时也没有研究过,建议他自己在MediaWiki官方网站的扩展程序中查找试一试。

  现在因为我们自己准备将一部分实用查询的功能进行深化,有不少数据都是结构化数据库从来的,如何结合到MediaWiki中来确实还是一个大问题,我初步设想了几种办法:

  1. 使用动态页面列表的方式来实现;
  2. 使用专门的结构化数据库读取扩展程序来实现;
  3. 编写PHP程序来读取MySQL数据,并与MediaWiki结合起来;
  4. 不用MediaWiki系统,使用其他的方式来实现。

  这其中前两种是重点考虑的办法,后两者尽量避免。

  第一种办法如果能够实现就尽量用第一种,毕竟这是我以前用得比较熟悉的,但现在的问题是读取时需要进行范围判断,例如 Where x>=ip1 And x<=ip2 ,在DPL的扩展中我想通过titlematch, includematch以及rexep正则表达式来实现,但似乎无法实现,也曾经用更简单的分类办法来判断,但没有成功,后面还会再试一试,但能用的可能性不是很大。

  第二种办法今天找到了几个看似符合需要的扩展程序:

  但实际在安装后就无法继续运行,可能是哪里的设置有问题,毕竟对数据库方面的操作还不是很熟悉,导入测试数据也花费了一番功夫。时间很紧了,这两天还要抓紧继续试验,尽快找出解决办法!


--James Qi 2009年7月14日 (二) 23:25 (CST)

  今天又进行了一些测试,昨天是把扩展程序的路径写掉了一部分,现在用DataInvoker是可以实现数据库调用的,简单的Select语句、输出成功,很复杂的还没有进行测试。

  然后又试着把DPL升级到目前最新的1.8.6,有了title>=和title<=的功能,这样再加一些其他分类、计数限制,可以实现比较title大小的目的,需要将导入的数据title转换为起始ip或者结束ip的整数形式,以便在动态页面列表中进行比较,然后在页面中显示title为ip3-ip4的4个字节形式($wgAllowDisplayTitle=true; $wgRestrictDisplayTitle=false; {{DISPLAYTITLE:{{{ip3}}}-{{{ip4}}}}})。

  最终决定不采用那几种数据库扩展程序了,而是使用DynamicPageList的新版本来解决这个问题。把这个关键问题之一解决了,后面好再进行其它的工作。

标签:MediaWiki扩展数据库
相关内容:
  1. 2010-11-10 22:20:28 MediaWiki-1.15升级到1.16.0步骤
  2. 2010-11-04 22:52:58 开启MediaWiki的搜索建议(Search Suggest)功能
  3. 2010-11-03 11:26:02 MediaWiki-1.15.0升级到1.16.0中出现的问题
  4. 2010-11-02 23:52:05 MediaWiki-1.15准备升级到1.16
  5. 2010-10-22 22:29:00 想写一本关于MediaWiki的书,有人需要吗?
  6. 2010-09-20 11:33:29 直接操作MediaWiki的MySQL数据库
  7. 2010-09-04 00:20:09 修改模板对付MediaWiki及扩展程序的Bug
  8. 2010-08-31 00:47:49 分割大容量MediaWiki数据库
  9. 2010-07-08 23:08:13 用HTML和站间链接减小MediaWiki数据库记录
  10. 2010-06-12 12:27:01 将数据导入MediaWiki进行到底
  11. 2010-05-22 12:21:42 数据库出了大问题:无法启动、数据丢失、备份失效
  12. 2010-05-20 22:01:46 导入大量名录数据到MediaWiki网站的例子
  13. 2010-05-05 15:06:09 不懂PHP编程也可以修改MediaWiki程序
  14. 2010-04-18 10:01:21 名录数据库集合网站
  15. 2010-04-03 22:45:40 MediaWiki导入XML数据中需要转义的字符

关于“在MediaWiki系统中查询结构化数据库”的留言:

目前暂无留言

新增相关留言