2009年5月11日星期一

【毕设】日志-2009.05.06

-------------------
[日志] 2009.05.06

  上午来到实验室,继续写类别关系建立代码。期间发现之前写的查询接口不好用,重写了针对层次关系的数据库查询、插入接口函数。

  下午修正了之前实体抽取的小问题。维基有一个页面重定向的设置,即几个实体名都指向一个页面,如“熊猫”和“大熊猫”其实都会指向“大熊猫”页面,但是在维基XML正文中是以[[大熊猫熊猫]]形式存在。在处理时只需要前半部分即可,减少了无用实体的数量。晚上写完了RelationCat类别关系表的建立代码,但是权值累加的部分还有问题。

  晚上与师兄讨论了接口以及必要的数据结构,另外明确了几个问题。

遇到的问题:

  下午与同组同学讨论时发现,在CategoryLinks表中,以子类名(cl_sortkey)作为条件查询父类(cl_to),返回结果需要很长时间。也许是由于cl_sortkey没有索引,如果为其建立索引,不知需要多长时间,也许需要数天。这个问题不解决,想大规模建立类别关联关系是不可能的。服务器运行写好的代码,一段时间后仍然会因出错而停住,或许Linux平台比较特殊,目前没有解决的办法。

  类别关系权值的处理方法是,如果数据库中存在当前将要插入的类别对,则将其权值加1。目前的处理方法是,把rc_to和rc_sortkey设为约束键,如果插入的新项是数据库中已存在的,则程序抛出异常,如 java.sql.SQLException: Duplicate entry 'Ruwanda-Afurika' for key 'sortkey_to' ,在异常处理部分添加查询、更新代码。不过目前仍存在错误,添加的新代码会抛出新的异常,导致程序卡死。

下一步计划:

  完成类别关系抽取功能,开始写接口的遍历功能。

没有评论:

发表评论