Neo4jのSpringDataを使用してNeo4jグラフにアクセスしています。私はUserRepository
以下のような注釈付きのクエリを持っています:
package com.abc.graph.repository;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.GraphRepository;
import org.springframework.data.neo4j.repository.NamedIndexRepository;
import org.springframework.data.neo4j.repository.RelationshipOperationsRepository;
import com.abc.graph.entity.User;
public interface UserRepository extends GraphRepository<User>, NamedIndexRepository<User>,
RelationshipOperationsRepository<User> {
public User findById(String id);
public Page<User> findByNameLike(String name, Pageable page);
@Query("START user=node:User(id={0}) " +
"MATCH user-[:VISITS]->(location)<-[:VISITS]-(similar_user) " +
"RETURN similar_user, collect(location) as locations, count(*) as count " +
"ORDER BY count desc ")
public List<Map<String, Object>> findSimilarUsersByPlaceVisited(String userId);
}
私がグラフから取得しようとしているのは、同様の場所に行ったことのあるユーザーのリストであり、各ユーザーについて、彼らが行ったことのある一般的な場所は何ですか。このメソッドは、のリストを返しMap<String, Object>
ます。各マップには、、、などのキーが含まれsimilar_user
ます。locations
count
similar_user
デバッグステートメントから、それがのインスタンスであることがわかりますorg.neo4j.rest.graphdb.entity.RestNode
。それを私のSpringDataノードエンティティに変換する方法はありますcom.abc.graph.entity.User
か?