jsonSerialize(); $nodes = array(); foreach ( $data['nodes'] as $node ) { $nodes[ $node['id'] ] = $node; } if ( ! isset( $nodes[ $node_id ] ) ) { return null; } $out = array( 'node' => $nodes[ $node_id ], 'depends_on' => array(), 'depended_on_by' => array(), 'truncated' => false ); foreach ( $data['edges'] as $edge ) { $key = $edge['source'] === $node_id ? 'depends_on' : ( $edge['target'] === $node_id ? 'depended_on_by' : null ); if ( $key === null ) { continue; } $other = $key === 'depends_on' ? $edge['target'] : $edge['source']; if ( ! isset( $nodes[ $other ] ) ) { continue; } if ( count( $out[ $key ] ) >= self::LIMIT ) { $out['truncated'] = true; continue; } $out[ $key ][] = array( 'node' => $nodes[ $other ], 'relationship' => $edge['relationship'], 'confidence' => $edge['confidence'] ); } return $out; } }