Spaces:
Sleeping
Sleeping
| function visualize_connectedNodes_continuous() | |
| % Read the data and create the connections map | |
| data = readtable('../MGREL.RRF', 'Delimiter', '|', 'FileType', 'text', 'NumHeaderLines', 0, 'VariableNamingRule', 'preserve'); | |
| data = renamevars(data, '#CUI1', 'CUI1'); | |
| data = data(1:50000,:); | |
| connectionsMap = containers.Map('KeyType', 'char', 'ValueType', 'char'); | |
| for i = 1:size(data, 1) | |
| node = data{i, 'CUI1'}; | |
| char_node = char(node); | |
| connectedNode = data{i, 'CUI2'}; | |
| char_connectedNode = char(connectedNode); | |
| rel = data{i, 'REL'}; | |
| char_rel = char(rel); | |
| if char_rel == "RN" || char_rel == "RB" | |
| disp(char_node) | |
| if isKey(connectionsMap, char_node) | |
| connectionsMap(char_node) = [connectionsMap(char_node), '|', char_connectedNode]; | |
| else | |
| connectionsMap(char_node) = char_connectedNode; | |
| end | |
| if isKey(connectionsMap, char_connectedNode) | |
| connectionsMap(char_connectedNode) = [connectionsMap(char_connectedNode), '|', char_node]; | |
| else | |
| connectionsMap(char_connectedNode) = char_node; | |
| end | |
| end | |
| end | |
| % Loop for continuous interaction | |
| while true | |
| % Prompt the user for input | |
| prompt = 'Enter a key (or type "exit" to quit):'; | |
| dlgtitle = 'Input'; | |
| dims = [1 50]; | |
| definput = {'C0013902'}; | |
| userInput = inputdlg(prompt, dlgtitle, dims, definput); | |
| % Check if user canceled the dialog or typed "exit" | |
| if isempty(userInput) || strcmp(userInput{1}, 'exit') | |
| disp('Exiting...'); | |
| break; | |
| end | |
| key = userInput{1}; | |
| % Check if the key exists in the connectionsMap | |
| if isKey(connectionsMap, key) | |
| % Split the value string by the pipe symbol '|' | |
| split_values = strsplit(connectionsMap(key), '|'); | |
| % Display the connected nodes | |
| disp(split_values); | |
| % Visualize the graph | |
| G = graph(); | |
| for i = 1:length(split_values) | |
| G = addedge(G, key, split_values{i}); | |
| end | |
| figure; | |
| plot(G, 'Layout', 'force'); | |
| title('Graph of Connected Nodes'); | |
| else | |
| disp('Key does not exist in the connectionsMap.'); | |
| end | |
| end | |
| end | |