http://www.infoq.com/cn/news/2014/01/neo4j-2
近日,Neo Technology發布了Neo4j 2.0 GA版,帶有一個全新的圖瀏覽器、結點標籤、一個可選的模式以及改進的Cypher。
Neo4j 2.0最值得關注的改進就是全新的瀏覽器UI,使用者可以通過圖或是表格形式來查看和編輯資料。下面是一個樣本電影資料庫的,展示了一個演員與他所參演的一些影片(灰色)以及與其他演員之間(紅色)的關係:
結點現在可以擁有標籤了,可以通過標籤將結點標記為屬於某個組。一個結點可以有多個標籤。
Neo4j 2.0還增加了對模式的支援,不過這是可選的,看起來有點向關係型資料庫迴歸的意味。增加模式主要是為了包含一些元資訊,從而改進查詢的執行。
Cypher查詢語言也得到了改進,這主要是通過OPTIONAL MATCH與MERGE子句、字面結點模式以及返回字面map與collection的能力而實現的。
我們有幸採訪到了Spring Integration的領導與Neo Technology的開發人員Michael Hunger,從而瞭解Neo4j 2.0的相容性問題、模式的使用以及未來的路線圖。
InfoQ:Neo4j 2.0與之前的版本存在哪些相容性問題?
MH:Neo4j 2.0有著突破性的變化,增強了資料模型,增加了標籤的概念以及可選的模式資訊。
此外,查詢語言Cypher從1.9開始經曆了相當大的革新,對於嵌入式API來說,讀事務也成為必須的了,此外,該版本還刪除了很多之前被標記為不建議使用的內容。
具體請參考:
http://www.neo4j.org/release-notes#2.0.0
http://docs.neo4j.org/chunked/2.0.0/deployment-upgrading.html#deployment-upgrading-two-zero
InfoQ:新引入的模式是如何加快查詢速度的?
MH:可選的模式資訊(標籤)支援索引和唯一約束,他們會自動用在查詢中,將過濾條件轉換為索引尋找。此外,將標籤作為查詢的一部分還會讓資料庫在尋找非索引資訊時只掃描整個資料庫的子集。第三,標籤資訊是內聯在結點記錄中的,因此測試現有結點的標籤資訊是非常簡單的,並不需要進一步尋找屬性或是關係。
InfoQ:如果資料庫發生變化了該怎麼辦?還需要手工更新模式嗎?
HM:當資料發生變化時,索引與約束資訊會與資料保持同步。
比如說,要是增加新的標籤,那麼你就需要提供新的索引/約束定義。不過通過新標籤增強現有資料則會自動被索引。
InfoQ:Neo4j未來的路線圖是怎樣的?
MH:
- 持續改進使用者體驗
- 效能(讀、寫、查詢語言)
- 增加了對結點、關係的(人為)限制
- 更好的匯入/匯出功能
- BI/整合
- 操作上的改進
- 一些大資料/圖計算
- 化的安裝體驗
- 改進的遠程/驅動
查看英文原文:Neo4j 2.0 Comes with a New Browser and a Schema