Spring Data Graph 1.1.0 搭配 Neo4j 支援已發布

發布 | Thomas Risberg | 2011 年 8 月 19 日 | ...

親愛的 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 開發中,改進的查詢 (CypherGremlin) 支援是最重要的方面之一。因此,我們努力在所有層面上提供支援。現在,可以從 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 | 變更日誌

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部