Spring Data Graph 1.1.0 版本,支持 Neo4j

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

尊敬的 Spring 社区成员:

我们很高兴地宣布,支持 Neo4jSpring Data Graph 项目的第二个版本 (1.1.0.RELEASE) 现已发布!

在 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 模板中执行 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 模板 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-REST-Server 运行对象图映射和 Neo4j 模板。

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

请从 Maven Central 或 SpringSource.org 检查当前版本。如果您想讨论 Spring Data Graph 项目,请务必访问 Spring 论坛。我们已在 github 上公开托管该项目,供您分叉、评论和贡献。

我们想让您大致了解一下未来的路线图。

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

Spring Data Graph 将更名为“Spring Data Neo4j”,因为这就是它的意义所在:“在 Spring Framework 环境中支持 Neo4j 图数据库”。这已在更改的包结构中初露端倪。

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

《Spring Data Graph 指南》将作为 InfoQ 迷你书籍出版,并将在 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 社区中所有即将举行的活动。

查看全部