最近工做須要使用圖形數據庫來構建知識圖譜,目前基於Java使用最普遍的有兩個開源框架html
(1) neo4j前端
社區版 免費html5
企業版 收費java
(2) Titanlinux
全開源android
咱們這次選擇了neo4j的社區版,主要是項目緊,neo4j比較穩定,Titan可能比較新,雖然Titan確定是將來的主流,我我的是看好Titan的,Neo4j無法存儲巨大的一張關係圖 ,由於他不支持分片,而Titan是天生分佈式的,能夠構建在Hbase,Cassandra之上外加+ES或者Solr存儲索引,很是強大,再此不在過多 對比兩個圖形數據庫的優缺點,後面有機會再來專門寫文章敘述。ios
圖形數據庫(Graph Database)是利用計算機將點、線、畫霹圖形基本元素按必定數據結同造型存儲的數據集合。數據庫
最先應該使用在社交場景,好比QQ的幾度空間關係圖,除了社交應用以外,圖數據庫同不少應用能夠工做。不少應用能夠天然擴展使用圖形類型的關係。好比,好多內嵌在社交應用中的推薦系統經常都是基於圖形的系統。圖數據庫由一系列結點和邊界組成;每個結點表明了一個實體,每個邊界表明了兩個結點之間的一種鏈接或者關係。swift
本次方便快速開發測試,安裝平臺是在Windows上。c#
下載地址: https://neo4j.com/download/community-edition/
選擇版本下載
下載後,解壓到某個盤符下面,我這裏用的最新的的版本,須要JDK8支持,這一點須要注意下 ,JDK8我已經安裝,下載解壓後,須要先配置Neo4j的環境變量:
NEO4J_HOME = E:\2016\neo4j-community-3.0.6 而後PATH裏面加入:%NEO4J_HOME%\bin 若是是Liunx: NEO4J_HOME=/home/search/neo4j export CLASSPATH=$CLASSPATH:NEO4J_HOME/lib export PATH=$PATH:$NEO4J_HOME/bin
打開cmd窗口後,切到neo4j根目錄,執行:
neo4j.bat會給出下面的幾個參數提示 start stop console restart status install-service uninstall-service Verbose
而後咱們執行
neo4j.bat console
以控制檯方式啓動,方便調試開發
啓動以後,在瀏覽器訪問http://localhost:7474
默認的用戶名和密碼是neo4j neo4j 登陸以後須要修改
在頁面最上面的cypher的執行器裏面,插入一些數據:
CREATE (p1:Person {name:'胡興炯', born:1991, interest:'mac,ios,旅遊', goodat:'java,swift,objectiveC'}), (p2:Person {name:'張勇', born:1990, interest:'android', goodat:'java,android'}), (p3:Person {name:'成文龍', born:1990, interest:'linux,hadoop', goodat:'linux,java,android'}), (p4:Person {name:'王昕', born:1978, interest:'wpf,noSQL,旅遊', goodat:'java,c#'}), (p5:Person {name:'周開琪', born:1977 , interest:'管理', goodat:'管理,'}), (p6:Person {name:'徐錦亮', born:1985, interest:'前端', goodat:'前端,html5,hadoop'}), (p6:Person {name:'張三', born:1993, interest:'大數據', goodat:'hadoop,html5,java,lucene,elasticsearch,solr'}), (p8:Person {name:'徐輝霞', born:1990, interest:'管理,旅遊', goodat:'管理,採購'}), (p9:Person {name:'黃廷鵬', born:1992, interest:'OA', goodat:'java'}), (p10:Person {name:'史樂樂', born:1991, interest:'OA,旅遊', goodat:'管理'}), (p1)-[:認識]->(p2), (p1)-[:認識]->(p3), (p1)-[:認識]->(p4), (p1)-[:認識]->(p5), (p1)-[:認識]->(p9), (p2)-[:認識]->(p1), (p2)-[:認識]->(p3), (p2)-[:認識]->(p4), (p2)-[:認識]->(p5), (p2)-[:認識]->(p9), (p3)-[:認識]->(p1), (p3)-[:認識]->(p2), (p3)-[:認識]->(p4), (p3)-[:認識]->(p5), (p3)-[:認識]->(p7), (p4)-[:認識]->(p1), (p4)-[:認識]->(p2), (p4)-[:認識]->(p3), (p4)-[:認識]->(p5), (p4)-[:認識]->(p9), (p5)-[:認識]->(p1), (p5)-[:認識]->(p2), (p5)-[:認識]->(p3), (p5)-[:認識]->(p4), (p5)-[:認識]->(p6), (p5)-[:認識]->(p8), (p5)-[:管理]->(p1), (p5)-[:管理]->(p2), (p5)-[:管理]->(p3), (p5)-[:管理]->(p4), (p5)-[:管理]->(p6), (p6)-[:認識]->(p5), (p6)-[:認識]->(p4), (p6)-[:夫妻]->(p8), (p9)-[:認識]->(p1), (p9)-[:認識]->(p2), (p9)-[:認識]->(p3), (p9)-[:認識]->(p10), (p9)-[:喜歡]->(p10), (p10)-[:認識]->(p9), (p10)-[:同事]->(p7)
而後查看關係圖以下:
至此,已經入門了,後面會記錄neo4j的概念,配置,cyper查詢語法,以及neo4j的java集成使用 , jdbc使用等等
有什麼問題能夠掃碼關注微信公衆號:我是攻城師(woshigcs),在後臺留言諮詢。 技術債不能欠,健康債更不能欠, 求道之路,與君同行。