ERP俱乐部
ERP爱好者、ERP从业者互相交流、互相学习的乐园;我们的愿景是成为全球一流的中文ERP(Enterprise Resource Planning)交流平台
网站首页 论坛首页 搜索 用户列表 FAQ 注册 登录  
ERP俱乐部 -> 数据库专栏 -> Oracle数据库 -> 将维基百科导入图形数据库的方法和步骤
  将维基百科导入图形数据库的方法和步骤
帖子发起人: 半神   发起时间: 2012-02-23 11:54 上午   回复数: 0
? 上一主题 下一主题 ?
楼主
  2012-02-23, 11:54 上午
半神 离线,最后访问时间: 2013/6/5 18:59:05 半神

发帖数前25位

超级管理员
职务: 超级管理员
80级
等级: 80级
注册: 2008年1月6日
区域: 华南
经验: 1,267
积分: 1,131
精华: 2
发贴: 590
排名: 26
Site AdministratorsGlobal ModeratorsSite ModeratorsSite Registered Users培训学员(MM学员服务区-北京200708班) 培训学员(FI学员服务区-深圳200805班) 每日发帖之星
将维基百科导入图形数据库的方法和步骤
 
能够将维基百科导入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 p***d 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数据库。


开源时代的到来,对与技术人员是一个巨大的考验



QQ:876162454


分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 1 条记录]
ERP俱乐部 -> 数据库专栏 -> Oracle数据库 -> 将维基百科导入图形数据库的方法和步骤
(C)Copyright 2005-2020 www.erpclub.org All Rights Reserved.
Tel:+86-755-26444630
Email:webmaster@yok.com.cn