我正在尝试使用 graphAware 的 neo4j 推荐引擎(https://github.com/graphaware/neo4j-reco)。我对所涉及的许多技术都是新手,但据我所知,在构建推荐引擎后,我运行以下命令来获得我的推荐:
List<Recommendation<Node>> recoForVince = recommendationEngine.recommend(getPersonByName("Vince"), new SimpleConfig(2));
getPersonByName 的例子是这样的:
private Node getPersonByName(String name) {
return IterableUtils.getSingle(getDatabase().findNodes(DynamicLabel.label("Person"), "name", name));
}
问题是据我了解,只有嵌入了 neo4j 服务器时才会起作用。我们正在考虑将 spring 用于我们的 mvc 设置,并且我们将拥有类似的东西:
我们将通过以下方式获取数据:
@Repository
public interface PersonRepository extends GraphRepository<Person> {
@Query("MATCH (p:Person) WHERE m.name = {name} RETURN p")
Person findByTitleContaining(@Param("name") String name);
}
或者可能作为哈希图返回。我的问题是我不清楚如何将这些结果中的任何一个转换为可供 Graphaware 框架使用的 Node 对象,或者我应该如何获取 Node 对象。