JWPL 处理维基百科数据用于 NLP
处理 zhwiki
JWPL https://dkpro.github.io/dkpro-jwpl/ 是一个 Wikipedia 处理工具, 主要功能是将 Wikipedia dump https://dumps.wikimedia.org/ 的文件经过处理, 优化导入 MySQL 数据库, 用于 NLP 过程. 以下以 zhwiki-20170201 为例.
JWPLDataMachine https://dkpro.github.io/dkpro-jwpl/DataMachine/ 用以处理 wiki dump 数据, 最终将数据导入 MySQL, 用于 NLP, 表结构不同于 wkipedia 官方的表, 这里的表是针对于 NLP 目的的. 处理步骤如下:
数据格式转换. 处理 zhwiki dump 的文件, 转换为 tsv 格式数据, 以便用 mysqlimport 导入到 MySQL 中, 命令
java -Xmx4g -cp $M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.datamachine/1.1.0/de.tudarmstadt.ukp.wikipedia.datamachine-1.1.0.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.mwdumper/1.1.0/de.tudarmstadt.ukp.wikipedia.mwdumper-1.1.0.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.wikimachine/1.1.0/de.tudarmstadt.ukp.wikipedia.wikimachine-1.1.0.jar:$M2_REPO/javax/activation/activation/1.1/activation-1.1.jar:$M2_REPO/javax/mail/mail/1.4.1/mail-1.4.1.jar:$M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar:$M2_REPO.NET/sf/trove4j/trove4j/3.0.2/trove4j-3.0.2.jar:$M2_REPO/org/apache/ant/ant/1.8.3/ant-1.8.3.jar:$M2_REPO/org/apache/ant/ant-launcher/1.8.3/ant-launcher-1.8.3.jar:$M2_REPO/org/springframework/spring-asm/3.1.1.RELEASE/spring-asm-3.1.1.RELEASE.jar:$M2_REPO/org/springframework/spring-core/3.1.1.RELEASE/spring-core-3.1.1.RELEASE.jar:$M2_REPO/org/springframework/spring-beans/3.1.1.RELEASE/spring-beans-3.1.1.RELEASE.jar de.tudarmstadt.ukp.wikipedia.datamachine.domain.JWPLDataMachine chinese 頁面分類 全部消歧義頁面 zhwiki-20170201/
其中:
$M2_REPO 是 maven2 本地库的目录, 这个目录默认为~/.m2/repository, 可通过 shell 命令定义环境变量, 命令: export M2_REPO=~/.m2/repository, 请确保已经下载依赖包.
zhwiki-20170201 / 文件夹下有三个文件 zhwiki-20170201-categorylinks.sql.gz zhwiki-20170201-pagelinks.sql.gz zhwiki-20170201-pages-articles.xml.bz2. 根据实际情况改为自己存放这三个文件的目录.
-Xmx4g 参数表示设置 JVM 最大内存为 4g, 在处理这个版本的 wiki dump 时, 内存消耗实际上没超过 2g, 主要是消耗 CPU 资源. 程序处理时, 会在当前目录生成以日期命名的. txt 日志文件, 整个过程约一个小时.
创建数据库. Linux shell 下命令:
$ mysqladmin -u[USER] -p create [DB_NAME] DEFAULT CHARACTER SET utf8;
或 MySQL shell 下
MySQL> CREATE DATABASE [DB_NAME] DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
其中 [USER], [DB_NAME] 为用户名和数据库 DB 名, 如在 MySQL shell 中创建 db 命令如下:
MySQL> CREATE DATABASE zhjwpl DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
注意: 务必指定编码为 utf8.
创建表. 把中的内容复制粘贴到本地文件, 在 MySQL shell 中执行.
MySQL> SOURCE jwpl_tables.sql;
简繁转换.(此步骤非必要, 但建议完成)中文维基百科中有大量简繁混杂文本, 连类别名, 条目标题有的是简体, 有的是繁体, 我们可以将繁体转换为简体, 尽管简繁转换不是简单的一一映射, 一简对多繁, 一繁对多简, 但是, 就字符长度来看, 简繁是一对一的, 即一个繁体字符转换到简体也只占一个字符. 我们可以利用 opencc https://github.com/BYVoid/OpenCC 工具进行简繁转换. 由于导入数据库时只导 output/*.txt(output 中所有 txt 文件, 实际上也只有 txt 文件, 共 11 个), 则只对 output 中的 txt 文件转换即可. output 中, 实际上只有 Page.txt, PageMapLine.txt, page_categories.txt, Category.txt, MetaData.txt, page_redirects.txt 这 6 个文件包含中文, 这些文件需要利用 opencc 进行转换, 而 category_inlinks.txt, category_outlinks.txt, category_pages.txt, page_inlinks.txt, page_outlinks.txt 这 5 个文件只包含数值 ID, 没有中文, 不需要转换. 我们这里把 output 中需要转换的文件进行处理后输出到与 output 平行结构的目录 chs 中, 文件名是对应的, 将不需要转换的文件直接复制到 chs 目录中(或做软链接). 转换时的命令类似:
$ opencc -c t2s -i output/Page.txt -o chs/Page.txt
导入数据. JWPLDataMachine 处理 wiki dump 的三个文件时, 会在其所在目录下创建 output 目录, 并生成 11 个 txt 文件, 文件中数据是 tsv 格式(tab separated values), 在 MySQL shell 中可通过 LOAD DATA INFILE... 命令来导入, 但命令不如使用 mysqlimport 方便, 故不在 MySQL shell 中导入, 利用 mysqlimport 工具导入, 假如当前工作目录是 wiki dump 三个文所在目录(zhwiki-20170201/), 命令是:
$ mysqlimport -u root -p --local --default-character-set=utf8 zhjwpl chs/*.txt
执行一段时间 (大约一两个小时) 后, 数据都被导入, 输出提示每个表成功插入的记录 (Recores) 数量, 这些数量和对应 txt 文件的行数应该是一致的. 另外输出提示有几个警告(warning), 忽略之. 如果没有进行简繁转换, 命令中的 chs 应该换为 output 目录.
使用
需要依赖 de.tudarmstadt.ukp.wikipedia:de.tudarmstadt.ukp.wikipedia.API:${version}, 使用较简单, 参考官方示例 https://dkpro.github.io/dkpro-jwpl/JwplTutorial/ .
说明
处理 dump 的文件时, JWPLDataMachine 类接受以下几个参数: [LANGUAGE] [MAIN_CATEGORY_NAME] [DISAMBIGUATION_CATEGORY_NAME] [SOURCE_DIRECTORY].
参数 LANGUAGE 指处理维基百科的语言, 中文维基百科为 chinese.
MAIN_CATEGORY_NAME 指的是 Wikipedia 层次分类体系中的顶级类别名称, 这个类别名可能会随时间变化, 目前为 "頁面分類"(2017 年 3 月).
DISAMBIGUATION_CATEGORY_NAME 所有消歧页都会包含的类别. 不像官网描述的是包含子消歧类别的类别 (Category:"消歧义"), 也不像官网所举英文例对应中文的类别. 不然以 "消歧义"(或在带繁体版中用其对应繁体版) 得到的消歧页只有 13 个. 这里参数应该是 "全部消歧義頁面".
如何获取顶级类别名: 随便搜索一篇文章, 如 "分类", 点击其中一个类别标签, 转到类别页面, URL 类似 / wiki/Category: 分类系统, 在 "分类: 分类系统" 下方有个导航条,"页面分类> 人文学科> 文学> 书籍> 图书资讯科学> 分类系统", 点击一级导航 "页面分类", 进入页面 "分类: 页面分类" 页面, 文章标题是 "分类: 页面分类", 正文有描述 "这里是维基百科页面分类系统的最高级", 那么顶级类别就是这个页面中描述的类别, 这个页面对应的 URL 类似 / wiki/Category: 頁面分類, 则类别名是 "頁面分類", 即 URL 中的名称, 而非 "分类: 页面分类" 或 "页面分类", 类别名 (category), 条目名(page title) 在数据库中有的是繁体, 即使是简体中文语言下的维基百科.
使用顶层类别名 "頁面分類" 和消歧义类别名 "消歧义" 进行处理后, 在得出的 1266195 个 page 中, 只有 13 个消歧页(disabiguation page), 剩下的是 article page, 不知为何这么少, 感觉不合理. 13 个消歧页的 id 分别是 1832186 5376724 5420049 5431949 5455483 5463308 5470979 5511092 5544906 5553846 5553849 5566592 5566629, 查看 id 为 1832186 的 page,title 为 "义胆雄心", 于在线 zhwiki https://zh.wikipedia.org/ 查看, 确实是消歧页, 也就说简体的 "消歧义" 类别也是消歧类型, 但只有 13 个结果显然也让人担心.
没有看 dataMachine 工具包的源码, 担心是简繁体原因导致消歧页丢失, 不想以繁体的 "消歧義" 作为 JWPLDataMachine 的消歧类别参数再尝试处理数据, 过程太复杂. 转而首先进行 zhwiki dump 数据的简繁转换, 然后再用 jwpl 工具处理, 这样 jwpl 接触到的数据就全是简体.
上述步骤得小改一下. 假设处于目录 zhwiki-20170201/, 其中有下载的三个主要文件 zhwiki-20170201-pagelinks.sql.gz zhwiki-20170201-categorylinks.sql.gz zhwiki-20170201-pages-articles.xml.bz2, 进行以下步骤:
先把 zhwiki dump 数据转为简体. 先解压 3 个文件, 得到纯文本文件, 而后用 opencc 转换, 之后压缩成对应压缩格式的文件. 命令如下:
# 把 3 个压缩文件解压为文本文件
gunzip -k zhwiki-20170201-categorylinks.sql.gz #解压
gunzip -k zhwiki-20170201-pagelinks.sql.gz #解压
bunzip2 -k zhwiki-20170201-pages-articles.xml.bz2 #解压
cd .. && mkdir chswiki-20170201 #进入上级目录, 并创建一个与 zhwiki-20170201 / 平行的目录, 以存放简体版中文维基数据
# 对 3 个文本文件进行繁体转简体操作
opencc -c t2s -i zhwiki-20170201/zhwiki-20170201-categorylinks.sql -o chswiki-20170201/chsziki-20170201-categorylinks.sql #繁体转简体
opencc -c t2s -i zhwiki-20170201/zhwiki-20170201-pagelinks.sql -o chswiki-20170201/chswiki-20170201-pagelinks.sql #繁体转简体
opencc -c t2s -i zhwiki-20170201/zhwiki-20170201-pages-articles.xml -o chswiki-20170201/chswiki-20170201-pages-articles.xml #繁体转简体
# 将 3 个简体版文本文件压缩成对应格式的文件: 2 个. gz, 一个. bz2
cd chswiki-20170201
gzip chswiki-20170201-categorylinks.sql
gzip chswiki-20170201-pagelinks.sql
bzip2 chswiki-20170201-pages-articles.xml
与上述的步骤一样了, 用 JWPLDataMatchine 工具处理数据, 但顶级类别名和消歧义类别名都是简体的, 目录参数是对应的简体版数据的目录 chswiki-20170201/, 即 "页面分类","消歧义". 命令行
cd .. # 工作目录换到上一级, 即 chswiki-20170201 / 与 zhwiki-20170201 / 目录所在的目录
java -Xmx4g -cp $M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.datamachine/1.1.0/de.tudarmstadt.ukp.wikipedia.datamachine-1.1.0.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.mwdumper/1.1.0/de.tudarmstadt.ukp.wikipedia.mwdumper-1.1.0.jar:$M2_REPO/de/tudarmstadt/ukp/wikipedia/de.tudarmstadt.ukp.wikipedia.wikimachine/1.1.0/de.tudarmstadt.ukp.wikipedia.wikimachine-1.1.0.jar:$M2_REPO/javax/activation/activation/1.1/activation-1.1.jar:$M2_REPO/javax/mail/mail/1.4.1/mail-1.4.1.jar:$M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar:$M2_REPO.NET/sf/trove4j/trove4j/3.0.2/trove4j-3.0.2.jar:$M2_REPO/org/apache/ant/ant/1.8.3/ant-1.8.3.jar:$M2_REPO/org/apache/ant/ant-launcher/1.8.3/ant-launcher-1.8.3.jar:$M2_REPO/org/springframework/spring-asm/3.1.1.RELEASE/spring-asm-3.1.1.RELEASE.jar:$M2_REPO/org/springframework/spring-core/3.1.1.RELEASE/spring-core-3.1.1.RELEASE.jar:$M2_REPO/org/springframework/spring-beans/3.1.1.RELEASE/spring-beans-3.1.1.RELEASE.jar de.tudarmstadt.ukp.wikipedia.datamachine.domain.JWPLDataMachine chinese 页面分类 消歧义 chswiki-20170201/
后面步骤与上述步骤一样, 当然, 不再进行上述步骤 4 中的简繁转换.
结果. 得到的结果和之前一样, 13 个同样的消歧页. 等有时间再找原因吧.
JWPL 处理 enwiki
命令行
...JWPLDataMachine english Contents All_disambiguation_pages wikidata
开始运行时间 2017-04-02 00:52:27 星期日, 结束时间 2017-04-02 14:33:13 星期日.
输出记录条数信息
nrOfCategories: 1572174
nrOfPage: 13094655
nrOfRedirects before testing the validity of the destination:7717778
内存峰值不超过 2G,CPU(4 核)使用率大约在 15%~45%.
enwiki-20170320
英文维基百科. 用 jwpl 处理导入 MySQL 后, 对应 database 数据目录有 70G 大小.
MySQL 表意义
JWPL 只关心 namespace=0 的 page(即常见的词条).jwpl 会生成的几张表, 对于维基百科一个条目 (page) 相关的表(page, category 等), 有字段 id,pageId, 都唯一标识 page, 二者是一致的, 可认为前者就是 page_id. 各表及其字段含义如下:
category --> 类别信息(维基百科的 category)
pageId: 类别 ID, 唯一
name: 类别名
Wikipedia 的类别具有层次结构, 想象成一棵类别树, 对于 category 的 inlink,outlink, 指的是 category 父类, 子类, A->B 即 B 的 inlink 为 A, 则 A 是 B 的父类. 知道了 inlink,outlink 就不难理解了.
category_inlinks --> 类别父类??
id: 类别 ID, 不唯一
inLinks: 该类别父类 ID
category_outlinks --> 类别子类
id: 类别 ID, 不唯一
outLinks: 该类别子类 ID, 也就是该类别指向的那些类别的 ID
category_pages --> 类别 - 页面关联
id: 类别 ID, 不唯一
pages: 属于该类别的页面
MetaData --> 该版本 wikipedia 的元信息, 只有一条记录
language: 语言
disambiguationCategory: 运行 DataMachine 填写的消歧类别
mainCategory: 运行 DataMachine 填写的顶层类别
nrofPages: 页面个数
nrofRedirects: 重定向个数
nrofDisambiguationPages: 消歧页面个数
nrofCategories: 类别个数
version
Page --> 页面信息(维基条目), 表数据不包含重定向页面, 但包含消歧页, 后者通过字段 isDisambiguation 标记.
pageId: 页面 ID
name: 名字
text: 全文, 包含 wikimeida 的标记信息
isDisambiguation: 是否是消岐页面
page_categories --> 页面与类别的关系表与 category_pages 信息重复
page_inlinks --> 指向页面的页面信息
id: 实际上是页面 ID, 非主键且不唯一
inLinks: 指向该页面 ID 的页面 ID
(id,inlinks)组也不唯一
page_outlinks 页面外链信息表
id: 页面 ID, 不唯一
outlinks: 该页面 ID 指向的页面 ID
(id, outlinks)组合也不唯一, 并且存在 outlinks 指向自己的情况, 如 chsjwpl 中存在 id=13,outlinks=13.
page_redirects 重定向记录
id: 重定向目标页面 ID, 不唯一
redirects:(字符串类型)被重定向的 title
存在记录 "139 孙文", 指的是 title 为 "孙文" 的 page 是一个重定向 page, 它指向的是 id 为 139 的 page(article).
PageMapLine --> 所有页面的 title 信息, 处理重定向等页面时有用处
id: 该页面 ID
name: 页面 title
pageID: 页面 ID, 如果该页面是重定向页面, 该 pageID 是其指向的那个包含信息的页面 ID
stem:???
lemma:???
下载 Maven 依赖包
首先正确安装 maven 工具, 以命令 mvn --version 测试 mvn, 输出 maven 的版本信息则安装正确.
上面的一大串依赖包要挨个手动下载就太麻烦了, 可利用 mvn 命令自动下载, 步骤如下:
进入临时目录, 创建一个临时项目目录, 创建 pom.xml, 填入依赖信息.
cd /tmp
mkdir tmp-proj && cd tmp-proj
然后创建 pom.xml 文件, 并填入以下内容并保存
```xml
<groupId>whatever</groupId>
<artifactId>whatever</artifactId>
<version>whatever</version>
<name>whatever</name>
<dependencies>
<!-- .api 在访问时使用 -->
<dependency>
<groupId>de.tudarmstadt.ukp.wikipedia</groupId>
<artifactId>de.tudarmstadt.ukp.wikipedia.API</artifactId>
<version>1.1.0</version>
</dependency>
<!-- .api 依赖的 -->
<dependency>
<groupId>MySQL</groupId>
<artifactId>MySQL-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- .datamachine 处理数据时使用 -->
<dependency>
<groupId>de.tudarmstadt.ukp.wikipedia</groupId>
<artifactId>de.tudarmstadt.ukp.wikipedia.datamachine</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
2. 自动下载 jar 包. 在命令行执行: bash
# 确保处于 pom.xml 所在目录, 然后执行下列命令
mvn dependency:resolve
```
mvn 工具读取 pom.xml 文件, 并自动下载所有依赖的 jar 包到 maven 仓库
如果想知道 maven 项目依赖的所有 jar 包的本地路径, 可通过命令
mvn dependency:build-classpath -Dmdep.outputFile=/tmp/proj-classpath.txt
得知所依赖 jar 包的文件路径, 以路径分隔符 (Windows 下是分号, Linux 下是冒号) 分割路径, 其中命令行参数
-Dmdep.outputFile=/tmp/proj-classpath.txt
意思是告诉 mvn 工具, 把 jar 包路径输出到 / tmp/proj-classpath.txt 文件中, 这是个可选参数, 如果不加, 将随 mvn 的其他信息输出到标准输出.
附:
文件 jwpl_tables.sql 内容:
/*******************************************************************************
* Copyright 2016
* Ubiquitous Knowledge Processing (UKP) Lab
* Technische Universit?t Darmstadt
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
-- MySQL dump 10.11
--
-- Host: localhost Database: jwpl_tables
-- ------------------------------------------------------
-- Server version 5.0.37-community-nt
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
- /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
- /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
- /*!40101 SET NAMES utf8 */;
- /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
- /*!40103 SET TIME_ZONE='+00:00' */;
- /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
- /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
- /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
- /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
- --
- -- Table structure for table `Category`
- --
- DROP TABLE IF EXISTS `Category`;
- CREATE TABLE `Category` (
- `id` bigint(20) NOT NULL auto_increment,
- `pageId` int(11) default NULL,
- `name` varchar(255) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `pageId` (`pageId`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `Category`
- --
- LOCK TABLES `Category` WRITE;
- /*!40000 ALTER TABLE `Category` DISABLE KEYS */;
- /*!40000 ALTER TABLE `Category` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `category_inlinks`
- --
- DROP TABLE IF EXISTS `category_inlinks`;
- CREATE TABLE `category_inlinks` (
- `id` bigint(20) NOT NULL,
- `inLinks` int(11) default NULL,
- KEY `FK3F433773E46A97CC` (`id`),
- KEY `FK3F433773BB482769` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `category_inlinks`
- --
- LOCK TABLES `category_inlinks` WRITE;
- /*!40000 ALTER TABLE `category_inlinks` DISABLE KEYS */;
- /*!40000 ALTER TABLE `category_inlinks` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `category_outlinks`
- --
- DROP TABLE IF EXISTS `category_outlinks`;
- CREATE TABLE `category_outlinks` (
- `id` bigint(20) NOT NULL,
- `outLinks` int(11) default NULL,
- KEY `FK9885334CE46A97CC` (`id`),
- KEY `FK9885334CBB482769` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `category_outlinks`
- --
- LOCK TABLES `category_outlinks` WRITE;
- /*!40000 ALTER TABLE `category_outlinks` DISABLE KEYS */;
- /*!40000 ALTER TABLE `category_outlinks` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `category_pages`
- --
- DROP TABLE IF EXISTS `category_pages`;
- CREATE TABLE `category_pages` (
- `id` bigint(20) NOT NULL,
- `pages` int(11) default NULL,
- KEY `FK71E8D943E46A97CC` (`id`),
- KEY `FK71E8D943BB482769` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `category_pages`
- --
- LOCK TABLES `category_pages` WRITE;
- /*!40000 ALTER TABLE `category_pages` DISABLE KEYS */;
- /*!40000 ALTER TABLE `category_pages` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `MetaData`
- --
- DROP TABLE IF EXISTS `MetaData`;
- CREATE TABLE `MetaData` (
- `id` bigint(20) NOT NULL auto_increment,
- `language` varchar(255) default NULL,
- `disambiguationCategory` varchar(255) default NULL,
- `mainCategory` varchar(255) default NULL,
- `nrofPages` bigint(20) default NULL,
- `nrofRedirects` bigint(20) default NULL,
- `nrofDisambiguationPages` bigint(20) default NULL,
- `nrofCategories` bigint(20) default NULL,
- `version` varchar(255) default NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `MetaData`
- --
- LOCK TABLES `MetaData` WRITE;
- /*!40000 ALTER TABLE `MetaData` DISABLE KEYS */;
- /*!40000 ALTER TABLE `MetaData` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `Page`
- --
- DROP TABLE IF EXISTS `Page`;
- CREATE TABLE `Page` (
- `id` bigint(20) NOT NULL auto_increment,
- `pageId` int(11) default NULL,
- `name` varchar(255) default NULL,
- `text` longtext,
- `isDisambiguation` bit(1) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `pageId` (`pageId`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `Page`
- --
- LOCK TABLES `Page` WRITE;
- /*!40000 ALTER TABLE `Page` DISABLE KEYS */;
- /*!40000 ALTER TABLE `Page` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `page_categories`
- --
- DROP TABLE IF EXISTS `page_categories`;
- CREATE TABLE `page_categories` (
- `id` bigint(20) NOT NULL,
- `pages` int(11) default NULL,
- KEY `FK72FB59CC1E350EDD` (`id`),
- KEY `FK72FB59CC75DCF4FA` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `page_categories`
- --
- LOCK TABLES `page_categories` WRITE;
- /*!40000 ALTER TABLE `page_categories` DISABLE KEYS */;
- /*!40000 ALTER TABLE `page_categories` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `page_inlinks`
- --
- DROP TABLE IF EXISTS `page_inlinks`;
- CREATE TABLE `page_inlinks` (
- `id` bigint(20) NOT NULL,
- `inLinks` int(11) default NULL,
- KEY `FK91C2BC041E350EDD` (`id`),
- KEY `FK91C2BC0475DCF4FA` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `page_inlinks`
- --
- LOCK TABLES `page_inlinks` WRITE;
- /*!40000 ALTER TABLE `page_inlinks` DISABLE KEYS */;
- /*!40000 ALTER TABLE `page_inlinks` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `page_outlinks`
- --
- DROP TABLE IF EXISTS `page_outlinks`;
- CREATE TABLE `page_outlinks` (
- `id` bigint(20) NOT NULL,
- `outLinks` int(11) default NULL,
- KEY `FK95F640DB1E350EDD` (`id`),
- KEY `FK95F640DB75DCF4FA` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `page_outlinks`
- --
- LOCK TABLES `page_outlinks` WRITE;
- /*!40000 ALTER TABLE `page_outlinks` DISABLE KEYS */;
- /*!40000 ALTER TABLE `page_outlinks` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `page_redirects`
- --
- DROP TABLE IF EXISTS `page_redirects`;
- CREATE TABLE `page_redirects` (
- `id` bigint(20) NOT NULL,
- `redirects` varchar(255) default NULL,
- KEY `FK1484BA671E350EDD` (`id`),
- KEY `FK1484BA6775DCF4FA` (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `page_redirects`
- --
- LOCK TABLES `page_redirects` WRITE;
- /*!40000 ALTER TABLE `page_redirects` DISABLE KEYS */;
- /*!40000 ALTER TABLE `page_redirects` ENABLE KEYS */;
- UNLOCK TABLES;
- --
- -- Table structure for table `PageMapLine`
- --
- DROP TABLE IF EXISTS `PageMapLine`;
- CREATE TABLE `PageMapLine` (
- `id` bigint(20) NOT NULL auto_increment,
- `name` varchar(255) default NULL,
- `pageID` int(11) default NULL,
- `stem` varchar(255) default NULL,
- `lemma` varchar(255) default NULL,
- PRIMARY KEY (`id`),
- KEY `name` (`name`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- --
- -- Dumping data for table `PageMapLine`
- --
- LOCK TABLES `PageMapLine` WRITE;
- /*!40000 ALTER TABLE `PageMapLine` DISABLE KEYS */;
- /*!40000 ALTER TABLE `PageMapLine` ENABLE KEYS */;
- UNLOCK TABLES;
- /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
- /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
- /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
- /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
- /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
- /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
- /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
- /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
- -- Dump completed on 2008-02-11 12:33:30
来源: http://www.bubuko.com/infodetail-2922389.html