graphipedia, 创建维基百科链接的Neo4j 图

分享于 

3分钟阅读

GitHub

  繁體 雙語
Performance comparison of graph representation of wikipedia links using several popular SQL/NoSQL database technologies.
  • 源代码名称:graphipedia
  • 源代码网址:http://www.github.com/mirkonasato/graphipedia
  • graphipedia源代码文档
  • graphipedia源代码下载
  • Git URL:
    git://www.github.com/mirkonasato/graphipedia.git
    Git Clone代码到本地:
    git clone http://www.github.com/mirkonasato/graphipedia
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mirkonasato/graphipedia
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Graphipedia

    维基百科页面的创建工具及链接。

    建筑

    这是一个用 Maven 构建的Java项目。

    检查顶级 pom.xml 文件中的neo4j.version 属性,并确保它是 MATCHES的Neo4j 版本,用于打开数据库。 然后用

     
    mvn package
    
    
    
     

    这将生成包含所有依赖项的包,其中包括 graphipedia-dataimport/target/graphipedia-dataimport.jar

    导入数据

    graphipedia-dataimport MODULE 允许从维基百科数据库转储创建 Neo4j 数据库。

    有关获取维基百科数据库转储的说明,请参阅 Wikipedia:Database_download

    假设你下载了 pages-articles.xml.bz2,请按以下步骤操作:

    运行ExtractLinks以创建一个包含页面标题和链接的较小的中间XML文件。 执行这里操作的最佳方法是解压缩bzip2文件并将输出直接输出到 ExtractLinks:

    bzip2 -dc pages-articles.xml.bz2 | java -classpath graphipedia-dataimport.jar org。graphipedia。dataimport。ExtractLinks - enwiki-links.xml

    运行ImportGraph以创建包含节点和关系的Neo4j 数据库到 graphdb 目录中

    java -Xmx3G -classpath graphipedia-dataimport.jar org。graphipedia。dataimport。neo4j。importgraph enwiki-links.xml graphdb

    为了提供一个想法,enwiki-20130204-pages-articles.xml.bz2 是 9.1 G,并且包含了 10M 页,从而导致了超过 92M的链接。

    使用硬盘驱动器,导入/ExtractLinks ( 与解压几乎相同) 需要大约 30分钟,并且需要额外 10分钟的时间才能完成。

    ( 请注意,磁盘 I/O 是这里的关键因素: 相同的导入将很容易使用旧 5400RPM 个驱动器数小时。

    查询

    可以使用 Neo4j 浏览器查询和可视化导入的图形。 下面是一些示例Cypher查询。

    显示链接到给定起始页的所有页面- 比如"Neo4j":

    
    MATCH (p0:Page {title:'Neo4j'}) -[Link]- (p:Page)
    
    
    RETURN p0, p
    
    
    
    

    查找两个页面- 比如"Neo4j"和"kevin"- 如何连接:

    
    MATCH (p0:Page {title:'Neo4j'}), (p1:Page {title:'Kevin Bacon'}),
    
    
     p = shortestPath((p0)-[*..6]-(p1))
    
    
    RETURN p
    
    
    
    

    link  维基  links  Neo4j  
    相关文章