Hi,
I've been struggling with integrating all those different kinds of queries into
a nice API for the
Neo4jTemplate
I want to avoid a proliferation of query methods like in JdbcTemplate, so my
current approach is
a builder pattern which looks like.
QueryResult<Map<String,Object>> query(String statement);
Person p = query(statement).to(Person.class).single()
Iterable<Long> orderSums = query(statement).to(Long.class, new
ResultConverter<Map<String,Object>>,<Long>>() {...});
Iterable<Map<String,Object>> results = query(statement);
query(statement).handle(new Handler<R>() { public void handle(R value) {}});
same goes for index queries which just start with
QueryResult<PropertyContainer> lookup(String index, String key, Object value);
lookup(index,key,value) or
Iterable<Group> groups = lookup("Group","name:Neo*").to(Group.class);
Path nodePath = lookup("Movie","name","Matrix").to(Path.class).single();
and for traversals:
QueryResult<Path> traverse(Node start, TraversalDescription desc)
Iterable<Node> endNodes = traverse(Node start, TraversalDesc).to(Node.class);
What is your opinion about that?
Just looking for input.
Cheers
Michael
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user