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 サーバーが組み込まれている場合にのみ機能することです。mvc セットアップに spring を使用することを検討しています。これにより、次のようになります。
次のような方法でデータを取得します。
@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 オブジェクトを取得する方法が不明であることです。