Spring Data Graph 1.1.0 支持 Neo4j 版本发布

版本发布 | Thomas Risberg | 2011年8月19日 | ...

亲爱的Spring社区,

我们很高兴地宣布,Spring Data Graph 项目第二个版本(1.1.0.RELEASE),支持 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 存储库、Neo4j-Template 执行 Cypher 查询,也可以作为动态字段注解的一部分,并通过引入的实体方法执行。Gremlin 脚本也是如此。这种新的表达能力能做什么?让我们来看看。

例如,在一个存储库中


	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 包装器也得到了内部的更新,并增加了对远程查询 Cypher 和 Gremlin 的支持。这使得对象图映射和 Neo4j Template 也可以与远程 Neo4j-REST-Server 一起使用。

非常感谢社区提供的宝贵反馈、代码贡献和讨论。SpringSource 和 Neo-Technology 团队之间的合作一如既往地愉快。

请通过 Maven Central 或 SpringSource.org 获取当前版本。如果您想讨论 Spring Data Graph 项目,请务必访问 Spring Forums。我们在 github 上公开托管该项目,供您 fork、评论和贡献。

我们想给您一些未来路线图的预览。

我们将在 9 月 8 日举办一个网络研讨会,快速介绍 Spring Data Graph。

Spring Data Graph 将更名为“Spring Data Neo4j”,因为它正是关于:“在 Spring Framework 环境中支持 Neo4j 图数据库”。这已经体现在更改的包结构中了。

我们将专注于一个额外的基于映射的实现,该实现也可以在没有 AspectJ 的情况下工作。另一个主要重点将是远程 REST API,随着托管 Neo4j 服务在 PaaS 提供商处的可用性越来越高,它变得越来越重要。

Spring Data Graph 指南将于 InfoQ Mini Book 发布,并可在 10 月的 Spring One 会议上以印刷版的形式购买。

Neo Technology 将出席 Spring One 会议,讨论 NOSQL、图数据库和 Spring Data Neo4j。我们也希望为会议带来一些意想不到的活动和技术。敬请期待。

Michael Hunger 项目负责人,Spring Data Neo4j

项目资源:下载 | JavaDocs | Spring Data Graph 指南 | 变更日志

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有