# Neo4j

Neo4j 以世界領導的 Graph database為名，有其一定的道理。因為它是 Graph database 中的元老，於 2007 年開始發表至今，累積了眾多的使用者，在 DB-Engines 的排名中，取得絕對的領先態勢，所以是必須要瞭解的一個 Graph database。

## 主要功能

* 具有類似 SQL 的易用性，Neo4j 採用 CQL。
* 採用通用的 Property Graph Data Model。
* 支援 Apache Lucence 進行資料索引。
* 支援 UNIQUE 限制索引。
* 內建方便的 CQL 執行介面：Neo4j Data Browser
* 支援完整的 ACID(Atomicity, Consistency, Isolation and Durability)。
* 使用原生的 Graph 資料儲存引擎 Native GPE(Graph Processing Engine)。
* 查詢支援輸出為 JSON 及 XLS 格式。
* 提供 REST API 讓其他程式語言能夠方便存取。
* 提供 Javascript 函式庫，方便前端程式整合應用。
* 提供原生的 Java API： Cypher API and Native Java API。

## 優勢

* 顯示 Graph 資料非常容易。
* 查詢或追蹤圖型資料都很簡單且快速。
* 產生中繼的結構性結果很容易。
* Neo4j CQL 的可讀性高，而且很容易學習。
* 資料模型設計地很簡單，卻又很強大。
* 設計上不需要複雜的 JOIN 查詢就能得到關連的結果，所以也不需要額外建立其他的索引。

## 缺點

* 不支援分散式運算。
