Hello,
Trying to debug an issue with APOC. I use GraphML to move graphs between NetworkX library and Neo4j. With 4.1.6/APOC4.1.0.0 and below things worked as expected, starting with 4.3.15/APOC4.3.0.4 I see problems. Here is the issue - NetworkX doesn't understand 'labels' as far as GraphML is concerned, so when exporting from NetworkX I make sure each relationship has a custom 'Class' property set, so when I load it in Neo4j it becomes the label of the relationship. This works fine in earlier versions. In the newer version I see the following problem - the first data key entry in the edge is ignored. So if the only data key entry i have is 'Class' the relationship just gets the default label RELATED and no other properties. If I add a second key or more they start showing up on the relationship. Here is a simple file that can help reproduce the problem:
bbfdd8d0-d8bd-4af5-9574-c4bef3e9a7b5 NetworkNode 225f3c62-1cb8-4dd3-ba19-5e8b149ebd87 NodeA VM false RENC bbfdd8d0-d8bd-4af5-9574-c4bef3e9a7b5 Component 9c9dfe11-94ff-4db7-a5e9-52d556515d6c gpu1 GPU RTX6000 NVIDIA Corporation TU102GL \[Quadro RTX 6000/8000\] (rev a1) false hasIf you use the file as is with version 4.1.x, the Class property is automatically transferred to relationship label so the relationship becomes 'has'.
On 4.3 and above (I have not checked 4.2) this doesn't happen (relationship stays 'RELATED') and the Class property doesn't even show up on the relationship as a regular property. If you add another key (like the commented line) in front of it, then you can see it (but seems the first key is always ignored).
Thoughts? Suggestions? Is this a bug or expected behavior?