Hi Michael, I am also facing the same issue creating node labels one with underscore and another without underscore. I m using SDN 3.0.1 & Neo4j 2.0.3 . Is this SDN specific or there should be some configuration in SDN so i can stopped labels creating with underscore.
Thanks, Pallavi On Tuesday, 10 June 2014 20:44:52 UTC+5:30, Michael Hunger wrote: > > Hmm interesting. > > Can you return two of the different nodes side by side? > > Do you only have movies in your db? > > Michael > > Am 14.05.2014 um 13:25 schrieb Manuel Moraga <[email protected] > <javascript:>>: > > I have already posted this on StackOverflow, but haven't gotten any > answers. I suspect there may be a bug involved, or it's just a gotcha that > I must have missed somewhere. I have tried everything I could think of, and > checked the documentation but still can't find the reason why my nodes > can't be mapped even after adding the correct primary SDN label. > > I'm running SDN 3.0.2.RELEASE and neo4j 2.0.3 on arch linux x64 with > Oracle Java 1.8.0_05 > > Trying to retrieve nodes in SDN, imported using the Neo4j CSV Batch > Importer <https://github.com/jexp/batch-import>, gives the > java.lang.IllegalStateException: > > java.lang.IllegalStateException: No primary SDN label exists .. (i.e one with > starting with _) > > This is after having added a new label through a cypher query: > > match (n:Movie) set n:_Movie; > > Inspecting nodes created through SDN shows they have the same labels. The > result when running > > match (n) where id(n)={nodeId} return labels(n) as labels; > > as found in LabelBasedStrategyCypher.java > <https://github.com/spring-projects/spring-data-neo4j/blob/1bd9c20787c2589b84cc1f3498675ea34d5c13e3/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/typerepresentation/LabelBasedStrategyCypherHelper.java> > is > the same for both: > > ["Movie","_Movie"] > > Saving and retrieving nodes thorugh SDN works without any issues. I must > be missing something as I got the impression that setting the appropiate > labels > <http://neo4j.com/blog/spring-data-neo4j-progress-update-sdn-3-neo4j-2> > should > be enough. > > My CSV file looks like this. The appId is only used to assure the node is > the same that we have stored earlier, as the internal nodeId is Garbage > collected <http://api.neo4j.org/2.0.3/org/neo4j/graphdb/Node.html> and > new nodes could get old nodeIds after the old ones are deleted. The nodeId > is used for actual lookups and for connecting relationships and so on. > > appId:int l:label title:string:movies year:int1 Movie Dinosaur Planet > 20032 Movie Isle of Man TT 2004 Review 2004 > > I have made more tests, checking the source of > LabelBasedNodeTypeRepresentationStrategy to see what is going wrong. > Running the readAliasFrom() method that the Exception is thrown from does > not return any errors: > > String query = "start n=node({id}) return n";Node node = null;for(Node n : > neo4jTemplate.query(query,params).to(Node.class)){ > node = n;} > // when running the readAliasFrom method manually the label is returned > correctlyLabelBasedNodeTypeRepresentationStrategy strategy = new > > LabelBasedNodeTypeRepresentationStrategy(neo4jTemplate.getGraphDatabase());System.out.println("strategy > returns: " +(String)strategy.readAliasFrom(node)); > // trying to convert the node to a movie object, however throws the Illegal > State ExceptionMovie movie = null; > movie = neo4jTemplate.convert(node,Movie.class); > > So, the _Movie label exists, running the readAliasFrom() method manually > doesn't throw Exceptions but trying to convert the node into a Movie does. > Nodes created from SDN do not have these issues, even if they look > identical to me. > > /Manuel > > -- > 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 [email protected] <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
