将维基百科导入图形数据库的方法和步骤
能够将维基百科导入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 ...
最新文章
- 用Transformer定义所有AI模型!特斯拉AI总监Karpathy发推感叹AI融合趋势
- 高德纳咨询公司(Gartner)预测:2019年七大人工智能科技趋势
- 设置UIButton上面是image,下面是title
- SpringMVC拦截器HandlerInterceptor原理及使用
- android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
- Android屏幕适配的两种方式
- IDEA 2021.1正式发布,新增了这几个超实用功能!
- 如何在VScode 中 调试 ts 文件 Unit test
- cocos2d-x之Box2d初试
- dnsever 邮件记录
- mysql的sql分页查询语句怎么写_sql 分页查询语句(mysql分页语句)
- EPS格式转黑白照片(高清晰版本)
- 服务器驱动硬盘故障修复,如何修复崩溃的硬盘驱动器
- 《机械制造技术基础》常见的问题
- Spring之Bean后处理器——InstantiationAwareBeanPostProcessor的使用与源码解析
- 【托业】【新托业TOEIC新题型真题】学习笔记13-题库四-P7
- c语言如何反复执行一段程序,C语言中重复执行程序的问题
- 【观察】OceanBase 4.0,单机与分布式的新拐点
- Network (哈工大网课笔记)
- 使用vue制作网页导航栏