I have found this example on one of airpair articles basically it creates a cypher query that return a path instead of node or relationship, so i wonder what would be written in the return Object.
@Query("match p=(i:Ingredient {name:{0}})-[r:PAIRS_WITH*0..3]-(i2)-[:HAS_CATEGORY]->(cat) return p;")
Iterable<Map<String, Object>> getFlavorPaths(String ingredientName);