領先一步
VMware 提供培訓和認證,以加速您的進展。
了解更多親愛的 Spring 社群:
我們很高興地宣布,第二個版本 (1.1.0.RELEASE) 的 Spring Data Graph 專案,並搭配 Neo4j 支援,現已推出!
在 2011 年 4 月首次公開發布 Spring Data Graph 後,我們主要著重於使用者回饋。
透過改進 文件,其中包含工具以及升級的 AspectJ 版本,我們解決了使用者回報的許多 AspectJ 問題。使用最新的 STS 和 Eclipse,以及希望包含 Idea11,可以開發 Spring Data Graph 應用程式,而不會出現紅色波浪線。為了進一步簡化開發,我們還提供了用於 ant/ivy 的範例建置指令碼,以及 gradle 的外掛程式。
當然,我們也跟上了 Neo4j 的開發進度,目前使用的是最新的穩定版本 Neo4j (1.4.1)。
在過去幾個月的 Neo4j 開發中,改進的查詢 (Cypher、Gremlin) 支援是最重要的方面之一。因此,我們努力在所有層面上提供支援。現在,可以從 Spring Data Graph Repositories、Neo4j-Template 執行 Cypher 查詢,也可以作為動態欄位註釋的一部分,以及透過導入的實體方法執行。Gremlin 指令碼也是如此。這種新的表達能力有什麼可能?讓我們來看看。
例如,在一個 repository 中
public interface PersonRepository extends GraphRepository, NamedIndexRepository {
@Query("start team=(%team) match (team)-[:persons]->(member) return member")
Iterable findAllTeamMembers(@Param("team") Group team);
@Query(value = "g.v(team).out('persons')", type = QueryType.Gremlin)
Iterable findAllTeamMembersGremlin(@Param("team") Group team);
}
Neo4j Template API 經過了完整的修改,減少了許多方法,使它們更加集中。現在,進階查詢結果處理功能 (類型轉換、對應、單一結果、處理常式等) 是使用更流暢的 API 實作。這種新的 API 適用於所有類型的查詢,無論是索引查詢、圖形遍歷、Cypher 查詢還是 Gremlin 指令碼。
template.query("start n=(0) match n-->m return m", null).to(Node.class);
template.execute("g.v(0).out", null).to(Node.class); template.lookup("relationship", "name", "rel1").to(String.class, new PropertyContainerNameConverter()).single(); template.traverse(referenceNode, traversalDescription).handle(new Handler<Path>() { public void handle(Path value) { final String name = (String) value.endNode().getProperty("name", ""); resultSet.add(name); }});
REST API wrapper 也進行了內部更新,並增加了對遠端查詢 Cypher 和 Gremlin 的支援。這使得物件圖形對應和 Neo4j Template 都能對遠端的 Neo4j-REST-Server 執行。
非常感謝社群提供寶貴的回饋、程式碼貢獻和討論。SpringSource 和 Neo-Technology 團隊之間的合作一如既往地愉快。
請從 Maven Central 或 SpringSource.org 查看目前的發布版本。如果您想討論 Spring Data Graph 專案,請務必造訪 Spring 論壇。我們在 github 上公開託管該專案,供您 fork、評論和貢獻。
我們將在 9 月 8 日舉辦一個 線上研討會,簡要介紹 Spring Data Graph。
Spring Data Graph 將重新命名為 "Spring Data Neo4j",因為這就是它的本質:「在 Spring Framework 環境中支援 Neo4j Graph Database。」這已經在變更的封裝結構中初露端倪。
我們將專注於一個額外的基於對應的實作,它也可以在沒有 AspectJ 的情況下工作。另一個主要重點將是遠端 REST-API,隨著 PaaS 提供商託管的 Neo4j 服務的可用性越來越高,它變得越來越重要。
《Spring Data Graph Guide Book》將作為 InfoQ Mini Book 出版,並在 10 月份的 Spring One 會議上提供印刷版。
Neo Technology 將出席 Spring One,討論 NOSQL、Graph Databases 和 Spring Data Neo4j。我們也希望為會議貢獻一些意想不到的活動和技術。敬請關注。
Michael Hunger 專案負責人, Spring Data Neo4j
專案資源:下載 | JavaDocs | Spring Data Graph Guide Book | 變更日誌