關係,指事物之間相互做用、相互影響的狀態。java
數據之間的關係也是如此,數據之間關係的存儲在RDS就已經開始。從數據庫支持的外鍵,到手動創建的關係表,人們採起了許多方法,只爲了解決查詢複雜、緩慢等問題。spring
在NoSQL興起的今天,圖數據庫進入了咱們的視野,關係模型靜態、剛性、不靈活的本質在網絡狀的存儲結構裏已然不復存在。如今,讓咱們以初學者的身份,初探圖數據庫的奧妙。數據庫
圖數據庫以圖形結構(即網絡狀)的形式存儲數據,他以「節點」爲基本的存儲單位,「節點」之間則以「關係」做爲關聯,「節點」與「關係」中能夠包含許多「屬性」,正如RDS裏的「行」、「列」,圖數據庫以圖形結構進行存儲。瀏覽器
Neo4j是一個世界領先的圖數據庫,具備本機圖形存儲與處理功能,具備展現方便、支持面廣、性能優異等優勢。springboot
包含有靈活的架構、完整的事務管理、集羣以提高高可用與性能、強大的Cypher(CQL)查詢語言、可視化Web界面 Neo4j Browser、驅動支持時下流行的語言與框架、方便的數據導入、成熟的雲端服務等特性。網絡
Neo4j的安裝各系統皆不相同,所以再也不贅述,麻煩你們自行尋找。架構
(PS:由於比較新、支持多系統、多種安裝方式,大多能夠直接安裝,改個配置就能用了)框架
默認的端口:spring-boot
http:7474性能
https:7473
bolt:7687
默認的帳戶名與密碼:
帳號:neo4j
密碼:neo4j
Neo4j Browser即Neo4j瀏覽器頁面是Neo4j自帶的可視化界面,在啓動完Neo4j後直接訪問 http://你的域名:7474/browser/ 便可訪問,首次訪問須要設置密碼。
在設置完帳號密碼以後,即進入了主頁面,主頁面主要分爲三個部分,即左邊的菜單欄,右下邊的數據展現部分,右上方的CQL錄入部分。
其中菜單欄分爲:
數據庫信息:展現數據庫已有的數據信息
收藏的CQL:展現已收藏的CQL,也包含了CQL的語句樣例
文件資料:包含了基礎教程、幫助、相關資源等信息
系統設置:主要爲頁面設置、結果展現設置、圖形可視化設置
數據庫信息菜單欄則分爲:
節點列表:展現全部節點
關係列表:展現全部關係
字段列表:展現了全部節點的全部字段
鏈接信息:包含了當前的鏈接信息,以及一些操做語句
數據庫信息包含了數據庫版本信息以及系統信息查詢語句
Neo4j支持多種語言,不管使用Java,C#,Python,Ruby,JavaScript,PHP,R仍是Go,Neo4j社區都構建了驅動程序,使得與Neo4j的HTTP API的交互變得容易。同時支持流行的框架,例如Spring Data,Django ORM,Laravel,JDBC等。這裏,咱們只說說SpringBootData。
SpringBootData使用Neo4j所須要的依賴以下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-neo4j</artifactId> <version>version</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-neo4j</artifactId> <version>version</version> </dependency>
基礎的配置文件以下:
spring: data: neo4j: uri: bolt://www.clevercoder.cn/:7687 username: neo4j password: neo4j
更多配置:
spring: data: neo4j: connection: pool: size:#鏈接池大小 livenes: check: timeout:#see Java driver doc encryption: level:#加密級別 trust: strategy:#信任策略,默認TRUST_ALL_CERTIFICATES(信任全部證書) certificate: file:#若填寫了TRUST_CUSTOM_CA_SIGNED_CERTIFICATES #或TRUST_SYSTEM_CA_SIGNED_CERTIFICATES須要的文件路徑 verify: connection: #see Java driver doc
在使用SpringBootData的狀況下,配置完成便可直接使用了,後續將介紹如何方便快捷的在SpringBootData裏使用Neo4j。
neo4j做爲時下流行的圖數據庫,java對其的支持也很是完善,你能夠很方便的使用java原生的GraphDatabaseService類來操做,也能經過SpringData的Repository來進行操做。更加方便的是Neo4j自帶了圖形化管理界面,哪怕是沒有代碼基礎的人也能夠很方便的使用其進行做圖,例如知乎就有答主使用Neo4j製做明星關係圖。咱們也能夠很方便的在頁面上看到代碼操做的結果。
後續咱們將分別講解Neo4j各類使用方式,敬請關注!