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
Window和MacOS版本可以在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 中國大陸許可協議進行許可。