Wrong Connections / links established between nodes and relationships after executing Ldbc IU_Queries
1) Issue Description: For example run LDBC_IU_QUERY_1 in poseidon ( https://ldbc.github.io/ldbc_snb_docs_snapshot/interactive-insert-01.pdf). After query execution, check the connections from source nodes -->relationships--> destination nodes.
2) How to reproduce the issue:
Scenario:
- Load the required data.
- As an example, run "LDBC_IU_QUERY_1".
- Check if the nodes are reachable from the relationships.
Detailed steps to reproduce:
load any SF data by : ./ldbc_loader
Run only LDBC_IU_1 by commenting-out other queries at line https://dbgit.prakinf.tu-ilmenau.de/code/poseidon_core/-/blob/null_values/src/ldbc/ldbc_updates.cpp#L1704
void run_benchmark(graph_db_ptr gdb) { double t = 0.0; t = run_query_1(gdb); }
To get to the issue, insert the following DEBUG-1 & DEBUG-2 code at line https://dbgit.prakinf.tu-ilmenau.de/code/poseidon_core/-/blob/null_values/src/ldbc/ldbc_updates.cpp#L1797
and then Execute ==> ./run_ldbc_updates
//DEBUG-1: This below code displays correctly
graph->nodes_by_label("Person" , [&] (node& src_node) {
graph->foreach_from_relationship_of_node(src_node, [&] (auto &r) {
auto label = std::string(graph->get_string(r.rship_label));
auto &dest_node = graph->node_by_id(r.to_node_id());
std::cout << src_node.id() << "-[" << label << "]->" << dest_node.id() << std::endl;
}); });
// DEBUG-1's: Correct output :
"person-id"-[:workAt]->"company-id"
"person-id"-[:studyAt]->"organization-id"
"person-id"-[:hasInterest]->"Tag-id"
"person-id"-[:isLocatedIn]->"Place-id"
Where ids are the node.id() in poseidon
//DEBUG-2: Below code displays wrong connection between relationship and a destination node.
graph->nodes_by_label("Place" , [&] (node& src_node) {
graph->foreach_from_relationship_of_node(src_node, [&] (auto &r) {
auto label = std::string(graph->get_string(r.rship_label));
auto &dest_node = graph->node_by_id(r.to_node_id());
std::cout << src_node.id() << "-[" << label << "]->" << dest_node.id() << std::endl;
}); });
Similarly check output for "Tag" & "Organisation" using DEBUG-2.