zoukankan      html  css  js  c++  java
  • 图数据库实践系列 (一)Neo4J简介与安装

    1.简介

    Neo4j是一个高性能的,非关系的,具有完全事务特性的,鲁棒的图数据库。” neo4j在处理复杂的网络数据时候,具有很好的性能表现[1],适用于社交网络,动态网络等场景。它基于java语言实现,有两个分发版本,社区版(community version)以GPLv3的许可在Github上开源,源码地址:https://github.com/neo4j/community;企业版,同时遵循AGPLv3和商业许可,它在社区版基础上增加了包括高可用性(High Availability),全天侯支持等特性。Neo4j的开发非常活跃,围绕它有非常多的项目,包括 REST API 绑定(各种语言实现列表),空间数据库支持(源码地址)等。

    由于neo4j版本升级频繁,为了及时获取新的软件特性,我们使用Git来管理,更新代码。Git是一个基于C语言实现的分布式版本控制系统与源码管理系统,与svn不同的是,它并没有中心服务器这个概念,而是每一份的本地版本都会包含源码的完整历史记录[2,3]。Git的文件主要处于三种状态:staged,modified,committed。它的操作主要包括:pull,fetch,push,commit等。这样的机制导致Git状态和操作如图一所示:

    图1 Git 数据流简单结构图

    更多的关于Git的教程请查阅参考文献[3,4]

          Maven是一个由Apache软件基金会开源java项目构建,依赖管理,项目信息管理的工具[6]。基于项目对象模型(POM)的概念,Maven根据中心信息可以管理项目的构建,汇报和文档工作。它能够自动化构建过程,从清理,编译,测试到生成报告,再到打包和部署。Maven抽象了项目完整的构建生命周期模型,同时标准化了构建过程,促进项目团队标准化,还提供了一致的操作接口[7]。Maven项目核心是POM.xml,它定义了项目的基本信息,用于描述项目如何构建,申明项目依赖等。样例POM代码如下所示:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>edu.sirc.weibo</groupId>
      <artifactId>fansmap</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>fansmap</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>

    这个项目的POM最重要的是第一段groupId,artifactId ,version三个元素,它们定义了一个项目的基本坐标。groupId定义项目的归属组织,artifactId定义了当前项目在归属中的唯一ID ,vesrion就是项目的版本号。Maven主要的命令包括mvn clean complie test package install 等。更多Maven的内容请查阅参考文献[7]。

    2.安装

       2.1 Git 安装

    Git的安装非常简单,大多数的Linux发行版本的源中都打包好。以Ubuntu 为例(仅测试Oneiric,Precise),只需要输入如下命令即可安装。

    sudo  apt-get install git

    WindowMacOS版本可以在github上下载,并按照上面指南安装。

          2.2 Maven 安装

    同样的Ubuntu(我最爱系统)下,安装Maven3非常简单,输入如下命令:

    sudo apt-get maven

       2.3 Neo4j 安装

    安装好以上两者后,我们直接从github的源码,并用maven来安装neo4j,命令如下:

    mkdir neo4j
    cd ./neo4j
    git clone https://github.com/neo4j/community.git
    mvn clean install

    如此,neo4j即安装成功。如果需要build不同的版本可以遵照参考文献5Readme的指示来实现。

    下一讲,将会讲述使用EGit检出neo4j代码,以及m2eclipse管理,打包neo4j、 spatial项目,以及空间数据的存储。

     

    参考文献

    [1]What is Neo4j?    http://neo4j.org/learn/

    [2]Git (software)      http://en.wikipedia.org/wiki/Git_(software)

    [3]Git Tutorial     http://www.vogella.com/articles/Git/article.html

    [4]git入门与实践  http://www.cnblogs.com/shenhaocn/archive/2011/03/13/1982957.html

    [5]Neo4j Graph Database - Community Edition https://github.com/neo4j/community

    [6]Apache Maven  http://en.wikipedia.org/wiki/Apache_Maven

    [7]Maven实战 许晓斌 机械工业出版社

    知识共享许可协议
    本作品由VentLam创作,采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    旋转数组的最小值
    用堆栈实现队列
    二叉树的重建
    从尾到头打印链表
    实现替换空格
    java获取在各种编码下中文及英文的字符个数
    java定义一个二维数组
    java计算某个坐标是否在范围内
    java调用百度地图API
    map在遍历数据的过程中删除数据不出错
  • 原文地址:https://www.cnblogs.com/ventlam/p/2615963.html
Copyright © 2011-2022 走看看