DBLP数据集处理

0.前言

最近写论文用到了比较出名的DBLP数据集,详细介绍见DBLP官网

DBLP数据集下载地址

DBLP是以XML的形式给出的,类似于

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dblp SYSTEM "dblp.dtd">
<dblp>
    <article mdate="2017-05-28" key="journals/acta/Saxena96">
        <author>Sanjeev Saxena</author>
        <title>Parallel Integer Sorting and Simulation Amongst CRCW Models.</title>
        <pages>607-619</pages>
        <year>1996</year>
        <volume>33</volume>
        <journal>Acta Inf.</journal>
        <number>7</number>
        <url>db/journals/acta/acta33.html#Saxena96</url>
        <ee>https://doi.org/10.1007/BF03036466</ee>
    </article>

......
<dblp>

此处将实验数据处理的过程整理如下:

1.需求

DBLP现在的数据量太大了(截止到2018-07-12 22:38,2G+),根本用不了那么多,而且在XML中不方便处理。
现在的需求是:

根据需求将一定量的数据导入到数据库(此处以mysql为例)

2.处理

经分析不难想到,问题的解决分为两步:

1.按照需求将文件截取一部分(有人也许会说,这都是废话,谁都知道,单独列为一步, 是因为一般的编辑器,还真打不开2G+的xml
2.xml导入数据库

2.1截取部分文件

截取文件,我推荐的软件是UltraEdit,至于如何破解,此处不做过多赘述

开始

结束

然后截取你需要的数据拷贝到新的文件里即可,需要注意的是:
新文件的末尾别忘了拷贝结束标签
新文件的末尾

2.2数据导入数据库

技术选型: java的DM4J + mysql

(1)数据库建表

/*
 Navicat Premium Data Transfer

 Source Server Type    : MySQL
 Source Server Version : 50527
 Source Host           : localhost:3306
 Source Schema         : mypaper

 Target Server Type    : MySQL
 Target Server Version : 50527
 File Encoding         : 65001
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for paper
-- ----------------------------
DROP TABLE IF EXISTS `paper`;
CREATE TABLE `paper`  (
  `id` int(32) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `author` 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值