抢占先机
VMware 提供培训和认证,以加速您的进步。
了解更多尊敬的 Spring 社区:
我们很高兴地宣布,带有 Neo4j 支持的 Spring 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 开发的过去几个月中,改进的查询(Cypher、Gremlin)支持是重要的方面之一。 因此,我们努力在各个层面上支持它。 现在,可以从 Spring Data Graph 存储库、Neo4j-Template 执行 Cypher 查询,也可以作为动态字段注释的一部分并通过引入的实体方法执行 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 论坛。 我们在 github 上公开托管该项目,供您 fork、评论和贡献。
我们将在 9 月 8 日举办一个 网络研讨会,以快速介绍 Spring Data Graph。
Spring Data Graph 将更名为“Spring Data Neo4j”,因为这就是它的目的: “在 Spring Framework 环境中支持 Neo4j 图数据库。” 这已经在其更改的包结构中投下了第一个迹象。
我们将专注于另一个基于映射的实现,该实现也可以在没有 AspectJ 的情况下工作。 另一个主要重点将是远程 REST-API,随着 PaaS 提供商提供的托管 Neo4j 服务的可用性,它变得越来越重要。
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 指南手册 | 变更日志