将维基百科导入图形数据库的方法和步骤
能够将维基百科导入Neo4j数据库是不是很酷?
Neo4j是NoSQL的一个代表,它是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。
Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图形进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系。此外,Neo4j还提供了非常快的图形算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。
英国的软件工程师Mirko Nasato同样意识到这点,并使用批处理导入技术创建了Graphipedia(注:graphipedia是一个将维基百科页面和超链接导入图形数据库的工具集)。
Graphipedia使用Java编写,如果你专注于Ruby,并不擅长使用Java,下面的教程将会手把手的教你如何完成这些步骤。
首先,复制这个项目并打开:
git clone git://github.com/mirkonasato/graphipedia.git
cd graphipedia
如果发现pom.xml文件意味着你需要下载Maven并创建项目。
sudo apt-get install maven2
mvn install
你将看到一串代码滚动,这是相关文件在下载,运行到最后你将看到如下代码:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Graphipedia Parent .................................... SUCCESS [1:08.932s]
[INFO] Graphipedia DataImport ................................ SUCCESS [1:16.018s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 25 seconds
[INFO] Finished at: Thu Feb 16 11:36:55 CST 2012
[INFO] Final Memory: 28M/434M
[INFO] ------------------------------------------------------------------------
下面将需要下载的维基百科文件通过wget下载下来:
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2
这足足有7.6G的文件,我们先尝试一个较小的数据:Peesi tali fiefia词条,然后解压缩该词条的维基百科文件。
wget http://dumps.wikimedia.org/towiki/latest/towiki-latest-pages-articles.xml.bz2
bzip2 -d towiki-latest-pages-articles.xml.bz2
以下是两个步骤,首先创建一个只包含页面标题和链接的较小的中间XML文件:
java -classpath ./graphipedia-dataimport/target/graphipedia-dataimport.jar org.graphipedia.dataimport.ExtractLinks towiki-latest-pages-articles.xml towiki-links.xml
显示如下:
Parsing pages and extracting links...
..
2835 pages parsed in 0 seconds.
然后运行批处理导入该文件,将内容存储在图形数据库目录下。
java -Xmx3G -classpath ./graphipedia-dataimport/target/graphipedia-dataimport.jar org.graphipedia.dataimport.neo4j.ImportGraph towiki-links.xml graph.db
将会出现以下代码:
Importing pages...
..
2835 pages imported in 0 seconds.
Importing links...
.....
5799 links imported in 0 seconds; 6383 broken links ignored
打开并查看neostore文件夹:
cd graph.db
ls
重写/neo4j/data/graph.db文件夹,将该文件夹覆盖任何原有Neo4j数据库。
将维基百科导入图形数据库的方法和步骤相关推荐
- dae怎么用草图大师打开_将草图大师su模型导入lumion的方法与步骤
原标题:将草图大师su模型导入lumion的方法与步骤 sketchup模型怎么导入lumion?本文小编要和大家分享将草图大师su模型导入lumion的方法与步骤,还不知道草图大师模型如何导入lum ...
- 维基百科用php,在PHP中解析维基百科标记的最佳方法是什么?
我试图以结构化的方式解析特定的维基百科内容.这是一个示例页面: 我取得了一些成功.我可以检测到这个页面是一个"specie"页面,我也可以将Taxobox(右侧)的信息解析成一个结 ...
- 实体链接维基百科调研
略微整理一下关于实体链接消歧的入门知识 本篇是关于论文[张佐亮 "基于维基百科的实体链接方法的研究与实现"]的内容记录 文章目录 实体链接定义 一.实体链接步骤 二.实体链接细节 ...
- abb机器人导入桌子,abb工业机器人单独导入程序方法和步骤
执行数据还原时,应注意备份数据是自然的.无法将一个机械手的备份还原到另一机械手,否则会导致系统故障. 但是,程序和I / O的定义通常很常见,因此在进行批量生产时,可以通过分别导入程序和EIO文件来解 ...
- 维基百科 mysql_把维基百科首页词条的数据导入mysql【Python】
title: 把维基百科首页词条的数据导入mysql[Python] date: 2016-09-13 0:59:28 tags: 1.此文是跟着上一篇来写的,之前,已经完成了对维基百科词条的数据采集 ...
- 使用中文维基百科训练word2vec模型的最新方法!
网上看了很多其他博客,发现有些部分都太老旧了,以至于现在套用都错误百出...这里总结了一下使用中文维基百科训练word2vec模型的最新方法. 参考链接: https://blog.csdn.net/ ...
- [转]维基百科数据导入
本文来自:http://app.cnzer.cn/html-83146-1.html 两篇文章分别总结了各自的wikipedia数据导入过程,来不及学习,故先转载: (一)wmdumper.jar f ...
- 国内用户访问维基百科(Wikipedia)的几种方法
世界上最受欢迎的网站之一.知识宝库"维基百科"(Wikipedia.org)在中国大陆是被封锁的,必须借助代理服务器才能打开. 好在维基百科采用GNU公共许可证,任何人都可以自由使 ...
- PyQt - 维基百科,自由的百科全书
PyQt - 维基百科,自由的百科全书 PyQt 维基百科,自由的百科全书 跳转至: 导航. 搜索 PyQt 開發者 Riverbank Computing 穩定版本 4.9.5/ 2012年9月29 ...
最新文章
- 叮!你有一份2018英特尔人工智能大会的邀请函,请查收!
- 拉新不留存,就是负增长(附建议)
- 数据库原理及应用【六】数据库设计
- java语言就业方向_四大就业方向彻底解决你学习Java语言编程的后顾之忧-生活感悟与随笔
-亦是美网络...
- 严肃贴:内幕 手机行业
- springmvc+ueditor上传路径(个人备忘)
- ( 转 ) CORS 有一次 OPTIONS 请求的原理
- PHP word转pdf
- 经典商业模式案例第1例:校园O2O
- JavaScript格式化日期和时间
- 微信公众号采集 php,如何采集微信公众号历史消息页的详解
- linux 清除终端记录,清除Linux终端命令的历史记录
- Oralce 之 TM锁
- 不用验证,下载wmp10
- boost | 线程与并发(一)atomic
- elasticsearch 出现yellow 分片有unassigned现象原因
- 下载链接在微信中无法打开的解决方案
- 微信摇一摇周边新功能上线
- 设计师和程序员必备5个超赞的配色工具,从此配色无忧!
- [转载]Python中包装(wrapping)与代理(delegation)
热门文章
- 【SonarQube】CentOS7安装SonarQube并集成GitLab-CI实现代码提交后自动扫描
- Qt 仿酷狗播放列表右键菜单
- 考研复试——离散数学
- vue组件之间传值方式
- apache上如何部署html页面,apache快速部署网页
- 一键将Web页面保存至Anki
- 【东拉西扯蛋】卖身不卖唱
- 问题记录——the specified group[${xxx}] contains illegal characters, allowing only ^[%|a-zA-Z0-9_-]+$
- 班级学习分享系统_班级分享
- 计算机网络笔记-应用层/传输层/网络层(2w字详细整理)