|
|
|
@ -130,7 +130,6 @@ if files_uploaded or 'files_already_uploaded' in st.session_state: |
|
|
|
df.rename({'type': 'relation_type'}, inplace=True, axis=1) # 'type' can't be used as attribute. |
|
|
|
df.rename({'type': 'relation_type'}, inplace=True, axis=1) # 'type' can't be used as attribute. |
|
|
|
df.columns = [i.lower() for i in df.columns] # Remove capital letters from column names. |
|
|
|
df.columns = [i.lower() for i in df.columns] # Remove capital letters from column names. |
|
|
|
|
|
|
|
|
|
|
|
with st.form('select_columns'): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Find and store target column. |
|
|
|
# Find and store target column. |
|
|
|
target = find_columns('target', df.columns.tolist()) |
|
|
|
target = find_columns('target', df.columns.tolist()) |
|
|
|
@ -138,16 +137,13 @@ if files_uploaded or 'files_already_uploaded' in st.session_state: |
|
|
|
# Find and store source column. |
|
|
|
# Find and store source column. |
|
|
|
source = find_columns('source', df.columns.tolist()) |
|
|
|
source = find_columns('source', df.columns.tolist()) |
|
|
|
|
|
|
|
|
|
|
|
# Confirm choise. |
|
|
|
|
|
|
|
columns_selected = st.form_submit_button("Done") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if columns_selected: |
|
|
|
|
|
|
|
# Remove source and target columns from list of options. |
|
|
|
# Remove source and target columns from list of options. |
|
|
|
columns = df.columns.tolist() |
|
|
|
columns = df.columns.tolist() |
|
|
|
columns.remove(st.session_state["target"]) |
|
|
|
columns.remove(st.session_state["target"]) |
|
|
|
columns.remove(st.session_state["source"]) |
|
|
|
columns.remove(st.session_state["source"]) |
|
|
|
|
|
|
|
|
|
|
|
if all([st.session_state["source"] != "", st.session_state["target"] != ""]): |
|
|
|
if all([st.session_state["source"] != "", st.session_state["target"] != ""]): |
|
|
|
|
|
|
|
|
|
|
|
source = st.session_state["source"] |
|
|
|
source = st.session_state["source"] |
|
|
|
target = st.session_state["target"] |
|
|
|
target = st.session_state["target"] |
|
|
|
|
|
|
|
|
|
|
|
@ -160,15 +156,23 @@ if files_uploaded or 'files_already_uploaded' in st.session_state: |
|
|
|
df_nodes = pd.read_csv(csv_nodes, sep=st.session_state["sep"]) |
|
|
|
df_nodes = pd.read_csv(csv_nodes, sep=st.session_state["sep"]) |
|
|
|
df_nodes.columns = [i.lower() for i in df_nodes.columns] # Remove capital letters from column names. |
|
|
|
df_nodes.columns = [i.lower() for i in df_nodes.columns] # Remove capital letters from column names. |
|
|
|
|
|
|
|
|
|
|
|
label_column = find_columns('label', df_nodes.columns.tolist()) |
|
|
|
|
|
|
|
df_nodes.set_index(label_column, inplace=True) |
|
|
|
st.session_state['label_column'] = find_columns('label', df_nodes.columns.tolist()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if st.session_state['label_column'] != '': |
|
|
|
|
|
|
|
df_nodes.set_index(st.session_state['label_column'], inplace=True) |
|
|
|
|
|
|
|
|
|
|
|
else: # If no node file provided. |
|
|
|
else: # If no node file provided. |
|
|
|
nodes = list(set(df[source].tolist() + df[target].tolist())) |
|
|
|
nodes = list(set(df[source].tolist() + df[target].tolist())) |
|
|
|
df_nodes = pd.DataFrame( |
|
|
|
df_nodes = pd.DataFrame( |
|
|
|
nodes, index=range(0, len(nodes)), columns=["labels"] |
|
|
|
nodes, index=range(0, len(nodes)), columns=["labels"] |
|
|
|
) |
|
|
|
) |
|
|
|
df_nodes.set_index("labels", inplace=True) |
|
|
|
|
|
|
|
|
|
|
|
st.session_state['label_column'] = 'labels' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if st.session_state['label_column'] != '' and df_nodes.index.name != st.session_state['label_column']: |
|
|
|
|
|
|
|
df_nodes.set_index(st.session_state['label_column'], inplace=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Make empty graph. |
|
|
|
# Make empty graph. |
|
|
|
G = nx.MultiDiGraph() |
|
|
|
G = nx.MultiDiGraph() |
|
|
|
|