MCPcopy Create free account
hub / github.com/Pometry/Raphtory / build_graph

Function build_graph

raphtory-tests/src/utils.rs:1089–1121  ·  view source on GitHub ↗
(graph_fix: &GraphFixture)

Source from the content-addressed store, hash-verified

1087}
1088
1089pub fn build_graph(graph_fix: &GraphFixture) -> Arc<Storage> {
1090 let g = Arc::new(Storage::default());
1091 for ((src, dst, layer), updates) in graph_fix.edges() {
1092 for (t, props) in updates.props.t_props.iter() {
1093 g.add_edge(*t, src, dst, props.clone(), layer).unwrap();
1094 }
1095 if let Some(e) = g.edge(src, dst) {
1096 if !updates.props.c_props.is_empty() {
1097 e.add_metadata(updates.props.c_props.clone(), layer)
1098 .unwrap();
1099 }
1100 }
1101 for t in updates.deletions.iter() {
1102 g.delete_edge(*t, src, dst, layer).unwrap();
1103 }
1104 }
1105
1106 for (node, updates) in graph_fix.nodes() {
1107 let node_layer = updates.node_layer.as_str();
1108 for (t, props) in updates.props.t_props.iter() {
1109 g.add_node(*t, node, props.clone(), None, node_layer)
1110 .unwrap();
1111 }
1112 if let Some(node) = g.node(node) {
1113 node.add_metadata(updates.props.c_props.clone()).unwrap();
1114 if let Some(node_type) = updates.node_type.as_str() {
1115 node.set_node_type(node_type).unwrap();
1116 }
1117 }
1118 }
1119
1120 g
1121}
1122
1123pub fn build_graph_layer(graph_fix: &GraphFixture, layers: &[&str]) -> Arc<Storage> {
1124 let g = Arc::new(Storage::default());

Calls 14

unwrapMethod · 0.80
edgesMethod · 0.45
iterMethod · 0.45
add_edgeMethod · 0.45
cloneMethod · 0.45
edgeMethod · 0.45
is_emptyMethod · 0.45
add_metadataMethod · 0.45
delete_edgeMethod · 0.45
nodesMethod · 0.45
as_strMethod · 0.45
add_nodeMethod · 0.45