Hi I am the author of mentioned stackoverflow question (and BTW new to this group)
I understand the need for labels to be fetched but how it is handled now is just a show stopper for me. We are talking about tens of additional REST requests which increase method run time significantly. some questions - can labels be fetched with node data? I don't know why it is not so already since labels are such crucial information for nodes. Is it something we can expect to be implemented in future releases? - can this data be at least fetched in bulk for all nodes in returned list? side question - if this implementation is here to stay can I go back to previous functionality where class name was stored in the node property without going back to some previous releases? Thanks Wojtek On Thursday, March 6, 2014 4:36:15 PM UTC+1, Michael Hunger wrote: > > Yep, > > my question was how would you imagine it to be configured. > > Michael > > Am 06.03.2014 um 16:35 schrieb Gwendal Mousset <gwendal...@gmail.com>: > > Thanks Michael, > > I understand the need to check the label directly on db. I hadn't think > about inheritance. > Do you think this check could became optional (with configuration) to > choose between fully operational inheritance and better performances ? > > > Gwendal > > On Thursday, March 6, 2014 4:13:51 PM UTC+1, Michael Hunger wrote: >> >> Imagine you have a class hierarchy like Person and Developer >> >> And you have a person repo but the nodes in the db are actually >> developers. >> >> Then you would want to get the correct instances back (Developer) but >> requested target type is Person >> >> How would you imagine to configure it so that it doesn't look what the >> node is in the graph but just takes the requested type? >> >> >> Michael >> >> Am 06.03.2014 um 15:54 schrieb Gwendal Mousset <gwendal...@gmail.com>: >> >> Hi everyone, >> >> I use neo4j 2.0.1 with rest api. >> To obtain better performances in my webapp, I refactor my code by using >> @QueryResult objects and do more "big" requests instead of many small >> requests. >> But the logs show me than each time I get an object from the query >> result, a request is sent: >> >> 2014-03-06 15:15:43,208 - DEBUG: SpringRestCypherQueryEngine - Executing >> remote cypher query: match (n) where id(n)={nodeId} return labels(n) as >> labels params {nodeId=509} >> >> This request only get the labels of a node, and it seems there is no >> cache, the request can be sent several time for a same node. >> On a collection, dozens of requests are sent... >> >> I seek in SDN code what are the reason, and i found >> Neo4jEntityConverterImpl : >> >> public <R extends T> R read(Class<R> requestedType, S source, >> MappingPolicy mappingPolicy, final Neo4jTemplate template) { >> >> // 1) source -> type alias >> >> // 2) type alias -> type >> >> // 3) check for subtype matching / enforcement >> >> final TypeInformation<R> requestedTypeInformation = >> requestedType == null ? null : ClassTypeInformation.from(requestedType); >> >> final TypeInformation<? extends R> targetType = >> typeMapper.readType(source, >> requestedTypeInformation); <-- causes get labels request >> >> >> ...... // >> >> } >> >> If I correctly understand, this code determines which classes must be >> instantiate. But what i don't understand is that requestedTypeInformation >> and targetType have the same value. >> So would it be possible to bypass the db check and only take >> the requestedTypeInformation value ? >> >> I found a quite similar question on stakoverflow: >> http://stackoverflow.com/questions/22209220/unnecessary-additional-label-requests-for-nodes >> >> Thanks >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Neo4j" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to neo4j+un...@googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to neo4j+un...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.