Spaces:
Build error
Build error
Final
Browse files- .DS_Store +0 -0
- app.py +61 -0
- app/__init__.py +1 -0
- app/__pycache__/__init__.cpython-312.pyc +0 -0
- app/__pycache__/analyze.cpython-312.pyc +0 -0
- app/__pycache__/files.cpython-312.pyc +0 -0
- app/__pycache__/utils.cpython-312.pyc +0 -0
- app/analyze.py +294 -0
- app/files.py +236 -0
- app/utils.py +149 -0
- gw_config.json +0 -0
- networkx_config.json +0 -0
- output.csv +201 -0
- requirements.txt +113 -0
- result_config.json +0 -0
- setup.py +27 -0
- socialnetworkanalysis/__init__.py +0 -0
- socialnetworkanalysis/__pycache__/__init__.cpython-312.pyc +0 -0
- socialnetworkanalysis/__pycache__/sna.cpython-312.pyc +0 -0
- socialnetworkanalysis/sna.py +417 -0
- test.ipynb +2580 -0
.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
app.py
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from app.files import files
|
3 |
+
from app.analyze import analyze
|
4 |
+
from app.utils import *
|
5 |
+
from socialnetworkanalysis import sna
|
6 |
+
|
7 |
+
st.set_page_config(layout='wide', page_title='SNA: G34', page_icon=':bar_chart"', initial_sidebar_state='collapsed')
|
8 |
+
|
9 |
+
st.markdown(f'''
|
10 |
+
<style>
|
11 |
+
.stApp .main .block-container{{
|
12 |
+
padding:30px 50px
|
13 |
+
}}
|
14 |
+
.stApp [data-testid='stSidebar']>div:nth-child(1)>div:nth-child(2){{
|
15 |
+
padding-top:50px
|
16 |
+
}}
|
17 |
+
iframe{{
|
18 |
+
display:block;
|
19 |
+
}}
|
20 |
+
.stRadio div[role='radiogroup']>label{{
|
21 |
+
margin-right:5px
|
22 |
+
}}
|
23 |
+
</style>
|
24 |
+
''', unsafe_allow_html=True)
|
25 |
+
|
26 |
+
with st.sidebar.container():
|
27 |
+
|
28 |
+
if 'name' in st.session_state:
|
29 |
+
|
30 |
+
st.title(f'SNA: G34')
|
31 |
+
# menu
|
32 |
+
menu = sac.menu(
|
33 |
+
items=[
|
34 |
+
sac.MenuItem('files'),
|
35 |
+
sac.MenuItem('analyze'),
|
36 |
+
|
37 |
+
],
|
38 |
+
key='menu',
|
39 |
+
open_all=True, indent=20,
|
40 |
+
format_func='title',
|
41 |
+
)
|
42 |
+
|
43 |
+
with st.container():
|
44 |
+
if 'name' in st.session_state:
|
45 |
+
if menu == 'files':
|
46 |
+
files()
|
47 |
+
elif menu == 'analyze':
|
48 |
+
analyze()
|
49 |
+
else:
|
50 |
+
st.title("SNA: G34")
|
51 |
+
st.subheader("Enter you name to start session")
|
52 |
+
name = st.text_input('Name')
|
53 |
+
if st.button('Start Session'):
|
54 |
+
if name is None or name == '':
|
55 |
+
st.error('Please enter your name to start session')
|
56 |
+
st.stop()
|
57 |
+
else:
|
58 |
+
st.session_state['name'] = name
|
59 |
+
st.session_state['menu'] = 'files'
|
60 |
+
st.session_state['sna'] = sna.SocialNetworkAnalysis(name)
|
61 |
+
st.rerun()
|
app/__init__.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
|
app/__pycache__/__init__.cpython-312.pyc
ADDED
Binary file (215 Bytes). View file
|
|
app/__pycache__/analyze.cpython-312.pyc
ADDED
Binary file (17.5 kB). View file
|
|
app/__pycache__/files.cpython-312.pyc
ADDED
Binary file (10.9 kB). View file
|
|
app/__pycache__/utils.cpython-312.pyc
ADDED
Binary file (8.91 kB). View file
|
|
app/analyze.py
ADDED
@@ -0,0 +1,294 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import streamlit as st
|
3 |
+
import streamlit_antd_components as sac
|
4 |
+
import pandas as pd
|
5 |
+
from streamlit_monaco import st_monaco
|
6 |
+
import os
|
7 |
+
from pygwalker.api.streamlit import StreamlitRenderer
|
8 |
+
import networkx as nx
|
9 |
+
from streamlit_agraph import agraph, Node, Edge, Config
|
10 |
+
import numpy as np
|
11 |
+
|
12 |
+
def get_pyg_renderer(df,spec) -> StreamlitRenderer:
|
13 |
+
if os.path.exists(f"./{spec}_config.json"):
|
14 |
+
os.remove(f"./{spec}_config.json")
|
15 |
+
return StreamlitRenderer(df, spec=f"./{spec}_config.json", spec_io_mode="rw")
|
16 |
+
|
17 |
+
|
18 |
+
def get_nodes(df:pd.DataFrame,source,target):
|
19 |
+
nodes = []
|
20 |
+
unique_node_id = []
|
21 |
+
df.replace(np.nan, None, regex=True,inplace=True)
|
22 |
+
# remove rows with null source or target
|
23 |
+
df = df.dropna(subset=[source,target])
|
24 |
+
for index, row in df.iterrows():
|
25 |
+
cols = df.columns
|
26 |
+
|
27 |
+
if row[source] is not None or row[source] != "" or row[source] != np.nan:
|
28 |
+
meta_data = {}
|
29 |
+
for col in cols:
|
30 |
+
if col != source and col != target and col != "relation":
|
31 |
+
if row[col] is not None:
|
32 |
+
meta_data[col] = row[col]
|
33 |
+
|
34 |
+
if str(row[source]).replace(".0","") not in unique_node_id:
|
35 |
+
unique_node_id.append(str(row[source]).replace(".0",""))
|
36 |
+
nodes.append(Node(
|
37 |
+
id=str(row[source]).replace(".0",""),
|
38 |
+
label=str(row[source]).replace(".0",""),
|
39 |
+
size=10,
|
40 |
+
color="red",
|
41 |
+
))
|
42 |
+
if row[target] is not None or row[target] != "" or row[target] != np.nan:
|
43 |
+
meta_data = {}
|
44 |
+
for col in cols:
|
45 |
+
if col != source and col != target and col != "relation":
|
46 |
+
if row[col] is not None:
|
47 |
+
meta_data[col] = row[col]
|
48 |
+
|
49 |
+
if str(row[target]).replace(".0","") not in unique_node_id:
|
50 |
+
unique_node_id.append(str(row[target]).replace(".0",""))
|
51 |
+
nodes.append(Node(
|
52 |
+
id=str(row[target]).replace(".0",""),
|
53 |
+
label=str(row[target]).replace(".0",""),
|
54 |
+
size=10,
|
55 |
+
color="red",
|
56 |
+
))
|
57 |
+
|
58 |
+
return nodes
|
59 |
+
|
60 |
+
def get_edges(df:pd.DataFrame,source,target):
|
61 |
+
edges = []
|
62 |
+
df.replace(np.nan, None, regex=True,inplace=True)
|
63 |
+
for index, row in df.iterrows():
|
64 |
+
if str(row[source]).replace(".0","") is not None and str(row[target]).replace(".0","") is not None:
|
65 |
+
edges.append(Edge(
|
66 |
+
source=str(row[source]).replace(".0",""),
|
67 |
+
target=str(row[target]).replace(".0",""),
|
68 |
+
label=row["relation"],
|
69 |
+
size=1,
|
70 |
+
))
|
71 |
+
return edges
|
72 |
+
|
73 |
+
def analyze():
|
74 |
+
st.title('Analyze')
|
75 |
+
|
76 |
+
col = st.columns([4, 1])
|
77 |
+
with col[0]:
|
78 |
+
st.subheader("Analyze loaded data and visualize it.")
|
79 |
+
|
80 |
+
with col[1]:
|
81 |
+
query_mode = st.radio("Query Mode",["Visual","Raw"],horizontal=True,index=0,key="query_type")
|
82 |
+
|
83 |
+
|
84 |
+
query_controls = st.columns([1,1,1,1,1])
|
85 |
+
with query_controls[0]:
|
86 |
+
saved_queries = st.session_state.sna.get_queries()
|
87 |
+
if saved_queries is None:
|
88 |
+
saved_queries = {}
|
89 |
+
selected_query = st.selectbox("Select Query",saved_queries.keys(),index=None,key="selected_query")
|
90 |
+
with query_controls[1]:
|
91 |
+
if selected_query is None:
|
92 |
+
|
93 |
+
query_name = st.text_input(key="query_name",value="New Query",label="Query Name")
|
94 |
+
if query_name not in st.session_state:
|
95 |
+
st.session_state[query_name] = "MATCH (n) RETURN n LIMIT 25"
|
96 |
+
st.session_state.sna.save_query(query_name,st.session_state[query_name])
|
97 |
+
st.rerun()
|
98 |
+
|
99 |
+
else:
|
100 |
+
query_name = st.text_input(key="query_name",value=selected_query,label="Query Name")
|
101 |
+
st.session_state[query_name] = saved_queries[selected_query]
|
102 |
+
|
103 |
+
helpers = st.session_state.sna.get_helper()
|
104 |
+
if helpers is not None:
|
105 |
+
files = []
|
106 |
+
for helper in helpers:
|
107 |
+
if not helper.endswith(".json"):
|
108 |
+
files.append(helper.split("/")[-1])
|
109 |
+
select_files_cols = st.columns([1,1,1,1,1])
|
110 |
+
with select_files_cols[0]:
|
111 |
+
selected_files = st.selectbox("Select Loaded File",files)
|
112 |
+
if selected_files is not None:
|
113 |
+
for helper in helpers:
|
114 |
+
if helper.endswith(selected_files):
|
115 |
+
helper_json = helpers[helper]
|
116 |
+
tables = {}
|
117 |
+
relationships = {}
|
118 |
+
for object in helper_json:
|
119 |
+
if helper_json[object]["isTable"]:
|
120 |
+
tables[helper_json[object]["object_name"]] = helper_json[object]["columns"]
|
121 |
+
elif helper_json[object]["isRelationship"]:
|
122 |
+
relationships[helper_json[object]["object_name"]] = {
|
123 |
+
"source": helper_json[object]["source"],
|
124 |
+
"target": helper_json[object]["target"]
|
125 |
+
}
|
126 |
+
|
127 |
+
if query_mode == "Raw":
|
128 |
+
query_cols = st.columns([4,6])
|
129 |
+
|
130 |
+
with query_cols[0]:
|
131 |
+
with st.expander("Objects",expanded=True):
|
132 |
+
st.write("Tables")
|
133 |
+
st.write(tables)
|
134 |
+
st.write("Relationships")
|
135 |
+
st.write(relationships)
|
136 |
+
|
137 |
+
|
138 |
+
|
139 |
+
with query_cols[1]:
|
140 |
+
with st.expander("Query",expanded=True):
|
141 |
+
if selected_query is None:
|
142 |
+
query_text = st_monaco(value="", height="200px", language="cypher",theme="vs-dark",lineNumbers=True)
|
143 |
+
else:
|
144 |
+
query_text = st_monaco(value=saved_queries[selected_query], height="200px", language="cypher",theme="vs-dark",lineNumbers=True)
|
145 |
+
|
146 |
+
if query_mode == "Visual":
|
147 |
+
query_text = st.session_state[query_name]
|
148 |
+
node_edge_template = """MATCH
|
149 |
+
q = (s:##source_node##)-[r##relationship##]->(t:##target_node##)
|
150 |
+
"""
|
151 |
+
with st.expander("Node and Edges Selection",expanded=True):
|
152 |
+
st.write("Select the source and target nodes for the network")
|
153 |
+
node_edge_selection_columns = st.columns([1,1,1,1,1])
|
154 |
+
with node_edge_selection_columns[0]:
|
155 |
+
source_node = st.selectbox("Source Node",list(tables.keys()),index=0,key="source_node")
|
156 |
+
with node_edge_selection_columns[1]:
|
157 |
+
target_node = st.selectbox("Target Node",list(tables.keys()),index=1,key="target_node")
|
158 |
+
|
159 |
+
if source_node is not None and target_node is not None:
|
160 |
+
st.write("Select the relationship between the source and target nodes")
|
161 |
+
node_edge_selection_columns = st.columns([1,1,1,1,1])
|
162 |
+
with node_edge_selection_columns[0]:
|
163 |
+
filtered_relationship = {}
|
164 |
+
for relationship in relationships:
|
165 |
+
if relationships[relationship]["source"] == source_node and relationships[relationship]["target"] == target_node:
|
166 |
+
filtered_relationship[relationship] = relationships[relationship]
|
167 |
+
relationship = st.multiselect("Relationships",list(filtered_relationship.keys()),key="relationship")
|
168 |
+
|
169 |
+
if source_node is not None and target_node is not None and len(relationship) > 0:
|
170 |
+
relationship_str = ""
|
171 |
+
for rel in relationship:
|
172 |
+
relationship_str += f":{rel.strip()}|"
|
173 |
+
relationship_str = relationship_str[:-1]
|
174 |
+
node_edge_template_stg = node_edge_template
|
175 |
+
node_edge = node_edge_template_stg.replace("##source_node##",source_node).replace("##target_node##",target_node).replace("##relationship##",relationship_str)
|
176 |
+
|
177 |
+
source_primary_key = ""
|
178 |
+
target_primary_key = ""
|
179 |
+
for column in tables[source_node]:
|
180 |
+
if tables[source_node][column] == "INT64":
|
181 |
+
source_primary_key = column
|
182 |
+
break
|
183 |
+
for column in tables[target_node]:
|
184 |
+
if tables[target_node][column] == "INT64":
|
185 |
+
target_primary_key = column
|
186 |
+
break
|
187 |
+
|
188 |
+
return_template = f"""RETURN (nodes(q)[1]).{source_primary_key} as source,
|
189 |
+
(rels(q)[1])._label as relation,
|
190 |
+
(nodes(q)[2]).{target_primary_key} as target
|
191 |
+
##return##"""
|
192 |
+
with st.expander("Returned Columns"):
|
193 |
+
source_columns = []
|
194 |
+
target_columns = []
|
195 |
+
for column in tables[source_node]:
|
196 |
+
if column != source_primary_key:
|
197 |
+
source_columns.append(column)
|
198 |
+
for column in tables[target_node]:
|
199 |
+
if column != target_primary_key:
|
200 |
+
target_columns.append(column)
|
201 |
+
returned_columns = st.columns([3,3,1])
|
202 |
+
with returned_columns[0]:
|
203 |
+
source_node_columns = st.multiselect("Source Node Columns",source_columns,key="source_node_columns")
|
204 |
+
with returned_columns[1]:
|
205 |
+
target_node_columns = st.multiselect("Target Node Columns",target_columns,key="target_node_columns")
|
206 |
+
with returned_columns[-1]:
|
207 |
+
limit = st.number_input("Limit",min_value=1,max_value=10000,value=200,key="limit")
|
208 |
+
|
209 |
+
return_str = ""
|
210 |
+
return_template_stg = return_template
|
211 |
+
if len(source_node_columns) > 0:
|
212 |
+
for column in source_node_columns:
|
213 |
+
return_str += f"\n,(nodes(q)[1]).{column} as source_{column}"
|
214 |
+
if len(target_node_columns) > 0:
|
215 |
+
for column in target_node_columns:
|
216 |
+
return_str += f"\n,(nodes(q)[2]).{column} as target_{column}"
|
217 |
+
return_statement = return_template_stg.replace("##return##",return_str)
|
218 |
+
|
219 |
+
prepared_query = node_edge + return_statement + f"\n LIMIT {limit};"
|
220 |
+
query_text = prepared_query
|
221 |
+
|
222 |
+
|
223 |
+
|
224 |
+
|
225 |
+
|
226 |
+
|
227 |
+
|
228 |
+
|
229 |
+
|
230 |
+
query_actions = st.columns([1,1,1,1,1,1,1,1,1,1,1])
|
231 |
+
with query_actions[0]:
|
232 |
+
if st.button("Save",key="save_query"):
|
233 |
+
st.session_state["results"] = None
|
234 |
+
st.session_state[query_name] = query_text
|
235 |
+
st.session_state.sna.save_query(query_name,st.session_state[query_name])
|
236 |
+
with query_actions[1]:
|
237 |
+
if st.button("Execute",type="primary",key="execute_query"):
|
238 |
+
st.session_state["results"] = None
|
239 |
+
st.session_state["results"] = st.session_state.sna.execute_query(query_text)
|
240 |
+
|
241 |
+
|
242 |
+
if "results" in st.session_state:
|
243 |
+
with st.expander('Results',expanded=False):
|
244 |
+
result_renderer = get_pyg_renderer(st.session_state["results"],"result")
|
245 |
+
result_renderer.explorer()
|
246 |
+
|
247 |
+
with st.expander('Network',expanded=False):
|
248 |
+
if st.session_state["results"] is not None:
|
249 |
+
netwok_columns = st.columns([1,1,1,1])
|
250 |
+
networkx_result = st.session_state.sna.apply_networkx_analysis(st.session_state["results"],"source","target")
|
251 |
+
ergm_result = st.session_state.sna.apply_ergm(st.session_state["results"],"source","target")
|
252 |
+
with netwok_columns[-1]:
|
253 |
+
analysis_type = st.radio("Analysis Type",["Graph","Visualization"],index=0,key="network_type",horizontal=True)
|
254 |
+
|
255 |
+
if analysis_type == "Visualization":
|
256 |
+
networkx_renderer = get_pyg_renderer(networkx_result,"networkx")
|
257 |
+
networkx_renderer.explorer()
|
258 |
+
elif analysis_type == "Graph":
|
259 |
+
config = Config(width=1000,height=750,directed=True,physics=True,hierarchical=True)
|
260 |
+
nodes = get_nodes(networkx_result,"source","target")
|
261 |
+
edges = get_edges(networkx_result,"source","target")
|
262 |
+
graph_columns = st.columns([9,3])
|
263 |
+
|
264 |
+
with graph_columns[0]:
|
265 |
+
return_value = agraph(nodes=nodes, edges=edges, config=config)
|
266 |
+
with graph_columns[1]:
|
267 |
+
st.write("Ergm Analysis")
|
268 |
+
ergm_result_to_display = ergm_result["ergm"]
|
269 |
+
del ergm_result_to_display["degree_distribution"]
|
270 |
+
ergm_result_df = pd.DataFrame.from_dict(ergm_result_to_display,orient="index",columns=["Value"])
|
271 |
+
st.dataframe(ergm_result_df)
|
272 |
+
|
273 |
+
if return_value is not None:
|
274 |
+
st.write("Networkx Analysis")
|
275 |
+
with open(f"./output.csv","w") as f:
|
276 |
+
f.write(networkx_result.to_csv(index=False))
|
277 |
+
networkx_result_search = networkx_result
|
278 |
+
# convert source and target to string
|
279 |
+
networkx_result_search["source"] = networkx_result_search["source"].astype(str).replace(".0","")
|
280 |
+
networkx_result_search["target"] = networkx_result_search["target"].astype(str).replace(".0","")
|
281 |
+
# search for a node in the networkx_result_search with return value
|
282 |
+
search = networkx_result_search[networkx_result_search["source"].str.contains(return_value)]
|
283 |
+
if search.empty:
|
284 |
+
search = networkx_result_search[networkx_result_search["target"].str.contains(return_value)]
|
285 |
+
if not search.empty:
|
286 |
+
st.write(search)
|
287 |
+
|
288 |
+
|
289 |
+
|
290 |
+
|
291 |
+
|
292 |
+
|
293 |
+
|
294 |
+
|
app/files.py
ADDED
@@ -0,0 +1,236 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import streamlit as st
|
3 |
+
import streamlit_antd_components as sac
|
4 |
+
import pandas as pd
|
5 |
+
from st_aggrid import AgGrid
|
6 |
+
import time
|
7 |
+
import json
|
8 |
+
|
9 |
+
|
10 |
+
def files():
|
11 |
+
st.title('Files')
|
12 |
+
|
13 |
+
col = st.columns([4, 1])
|
14 |
+
with col[0]:
|
15 |
+
st.subheader("Below are the files that are uploaded for current session.")
|
16 |
+
|
17 |
+
with st.expander('Upload', False):
|
18 |
+
uploaded_file = st.file_uploader("Choose a file", type=['xlsx'], accept_multiple_files=False)
|
19 |
+
if uploaded_file is not None:
|
20 |
+
st.session_state.sna.add_file(uploaded_file)
|
21 |
+
st.info("File uploaded successfully.")
|
22 |
+
uploaded_file = None
|
23 |
+
|
24 |
+
|
25 |
+
with st.expander('Files', True):
|
26 |
+
|
27 |
+
files = st.session_state.sna.get_files()
|
28 |
+
|
29 |
+
file_tree_items = []
|
30 |
+
|
31 |
+
for file in files:
|
32 |
+
parts = file.split('/')
|
33 |
+
file_tree_items.append(sac.TreeItem(parts[-1]))
|
34 |
+
|
35 |
+
|
36 |
+
|
37 |
+
selected_files = sac.tree(items=file_tree_items,checkbox=True)
|
38 |
+
raw_selected_files = None
|
39 |
+
|
40 |
+
if len(selected_files) == 1:
|
41 |
+
|
42 |
+
for file in selected_files:
|
43 |
+
|
44 |
+
for raw_file in files:
|
45 |
+
if raw_file.endswith(file):
|
46 |
+
raw_selected_files = raw_file
|
47 |
+
st.write("Selected file: ",raw_file)
|
48 |
+
|
49 |
+
if raw_selected_files is not None:
|
50 |
+
|
51 |
+
if str(raw_selected_files).endswith(".json"):
|
52 |
+
with st.expander('View', False):
|
53 |
+
with open(raw_selected_files) as f:
|
54 |
+
data = json.load(f)
|
55 |
+
st.json(data)
|
56 |
+
else:
|
57 |
+
|
58 |
+
|
59 |
+
with st.expander('View', False):
|
60 |
+
all_sheets = pd.read_excel(raw_selected_files,sheet_name=None, engine='openpyxl')
|
61 |
+
|
62 |
+
tab_items = []
|
63 |
+
|
64 |
+
for sheet_name, df in all_sheets.items():
|
65 |
+
tab_items.append(sac.TabsItem(label=sheet_name))
|
66 |
+
|
67 |
+
tab = sac.tabs(tab_items,key="view",index=None)
|
68 |
+
|
69 |
+
if tab is not None:
|
70 |
+
for sheet_name, df in all_sheets.items():
|
71 |
+
if sheet_name == tab:
|
72 |
+
st.dataframe(df)
|
73 |
+
break
|
74 |
+
|
75 |
+
|
76 |
+
with st.expander('Load', True):
|
77 |
+
data_loading_response = None
|
78 |
+
generate_helper = st.session_state.sna.generate_data_dictionary(raw_selected_files)
|
79 |
+
generate_helper_reset = generate_helper.copy()
|
80 |
+
|
81 |
+
load_action_controls = st.columns([1,1,1,1,1,1,1,1,1,1,1,1,1])
|
82 |
+
|
83 |
+
with load_action_controls[-3]:
|
84 |
+
if st.button("Save",type="primary"):
|
85 |
+
st.rerun()
|
86 |
+
|
87 |
+
with load_action_controls[-2]:
|
88 |
+
if st.button("Reset",type="primary"):
|
89 |
+
st.session_state[raw_selected_files] = generate_helper_reset.copy()
|
90 |
+
generate_helper = generate_helper_reset.copy()
|
91 |
+
st.rerun()
|
92 |
+
|
93 |
+
with load_action_controls[-1]:
|
94 |
+
if st.button("Load",type="primary"):
|
95 |
+
print("Loading")
|
96 |
+
load_response = st.session_state.sna.load_data(raw_selected_files,st.session_state[raw_selected_files])
|
97 |
+
data_loading_response = load_response
|
98 |
+
|
99 |
+
|
100 |
+
if data_loading_response is not None:
|
101 |
+
container_message = st.empty()
|
102 |
+
if data_loading_response["status"]:
|
103 |
+
container_message.success(data_loading_response["message"])
|
104 |
+
time.sleep(3)
|
105 |
+
container_message.empty()
|
106 |
+
else:
|
107 |
+
container_message.error(data_loading_response["message"])
|
108 |
+
time.sleep(3)
|
109 |
+
container_message.empty()
|
110 |
+
|
111 |
+
|
112 |
+
if raw_selected_files in st.session_state:
|
113 |
+
generate_helper = st.session_state[raw_selected_files]
|
114 |
+
else:
|
115 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
116 |
+
|
117 |
+
tab_items_load = []
|
118 |
+
|
119 |
+
for sheet_name in generate_helper:
|
120 |
+
tab_items_load.append(sac.TabsItem(label=sheet_name))
|
121 |
+
|
122 |
+
tab_load = sac.tabs(tab_items_load,key='load')
|
123 |
+
|
124 |
+
if tab_load is not None:
|
125 |
+
for sheet_name in generate_helper:
|
126 |
+
if sheet_name == tab_load:
|
127 |
+
loading_columns = st.columns([1,1,1])
|
128 |
+
|
129 |
+
with loading_columns[0]:
|
130 |
+
if generate_helper[sheet_name]["isTable"]:
|
131 |
+
st.write("Columns")
|
132 |
+
if "columns" in generate_helper[sheet_name]:
|
133 |
+
for column in generate_helper[sheet_name]["columns"]:
|
134 |
+
data_type_stg = 0
|
135 |
+
if generate_helper[sheet_name]["columns"][column] == "STRING":
|
136 |
+
data_type_stg = 0
|
137 |
+
elif generate_helper[sheet_name]["columns"][column] == "INT64":
|
138 |
+
data_type_stg = 1
|
139 |
+
elif generate_helper[sheet_name]["columns"][column] == "FLOAT":
|
140 |
+
data_type_stg = 2
|
141 |
+
value = st.radio(column,["STRING","INT64","FLOAT"],index=data_type_stg,horizontal=True,key=f"{sheet_name}_{column}")
|
142 |
+
if value is not None:
|
143 |
+
generate_helper[sheet_name]["columns"][column] = value
|
144 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
145 |
+
|
146 |
+
elif generate_helper[sheet_name]["isRelationship"]:
|
147 |
+
tables = []
|
148 |
+
for table in generate_helper:
|
149 |
+
if "isTable" in generate_helper[table]:
|
150 |
+
if generate_helper[table]["isTable"]:
|
151 |
+
tables.append(table)
|
152 |
+
|
153 |
+
st.write("Relationship")
|
154 |
+
|
155 |
+
source_stg = 0
|
156 |
+
target_stg = 0
|
157 |
+
if "source" in generate_helper[sheet_name]:
|
158 |
+
if generate_helper[sheet_name]["source"] in tables:
|
159 |
+
source_stg = tables.index(generate_helper[sheet_name]["source"])
|
160 |
+
if "target" in generate_helper[sheet_name]:
|
161 |
+
if generate_helper[sheet_name]["target"] in tables:
|
162 |
+
target_stg = tables.index(generate_helper[sheet_name]["target"])
|
163 |
+
|
164 |
+
source = st.selectbox("Source",tables,index=source_stg,key=f"source_{sheet_name}")
|
165 |
+
target = st.selectbox("Target",tables,index=target_stg,key=f"target_{sheet_name}")
|
166 |
+
if source is not None:
|
167 |
+
generate_helper[sheet_name]["source"] = source
|
168 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
169 |
+
if target is not None:
|
170 |
+
generate_helper[sheet_name]["target"] = target
|
171 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
172 |
+
else:
|
173 |
+
st.write("Ignored")
|
174 |
+
|
175 |
+
|
176 |
+
with loading_columns[1]:
|
177 |
+
st.write("Object Properties")
|
178 |
+
if generate_helper[sheet_name]["isTable"]:
|
179 |
+
object_type_stg = 0
|
180 |
+
elif generate_helper[sheet_name]["isRelationship"]:
|
181 |
+
object_type_stg = 1
|
182 |
+
else:
|
183 |
+
object_type_stg = 2
|
184 |
+
|
185 |
+
object_type = st.radio("Object Type",["Table","Relationship","Ignore"],index=object_type_stg,horizontal=True,key=f"object_type_{sheet_name}")
|
186 |
+
|
187 |
+
if object_type == "Table":
|
188 |
+
if not generate_helper[sheet_name]["isTable"]:
|
189 |
+
generate_helper[sheet_name]["isTable"] = True
|
190 |
+
generate_helper[sheet_name]["isRelationship"] = False
|
191 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
192 |
+
st.rerun()
|
193 |
+
|
194 |
+
|
195 |
+
elif object_type == "Relationship":
|
196 |
+
if not generate_helper[sheet_name]["isRelationship"]:
|
197 |
+
generate_helper[sheet_name]["isTable"] = False
|
198 |
+
generate_helper[sheet_name]["isRelationship"] = True
|
199 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
200 |
+
st.rerun()
|
201 |
+
|
202 |
+
else:
|
203 |
+
if generate_helper[sheet_name]["isTable"] or generate_helper[sheet_name]["isRelationship"]:
|
204 |
+
generate_helper[sheet_name]["isTable"] = False
|
205 |
+
generate_helper[sheet_name]["isRelationship"] = False
|
206 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
207 |
+
st.rerun()
|
208 |
+
|
209 |
+
object_name = st.text_input("Object Name",generate_helper[sheet_name]["object_name"])
|
210 |
+
if object_name is not None:
|
211 |
+
generate_helper[sheet_name]["object_name"] = object_name
|
212 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
213 |
+
|
214 |
+
|
215 |
+
if generate_helper[sheet_name]["isTable"]:
|
216 |
+
int_64_keys = []
|
217 |
+
if "columns" in generate_helper[sheet_name]:
|
218 |
+
for column in generate_helper[sheet_name]["columns"]:
|
219 |
+
if generate_helper[sheet_name]["columns"][column] == "INT64":
|
220 |
+
int_64_keys.append(column)
|
221 |
+
|
222 |
+
primary_key_staging = 0
|
223 |
+
if generate_helper[sheet_name]["primary_key"] in int_64_keys:
|
224 |
+
primary_key_staging = int_64_keys.index(generate_helper[sheet_name]["primary_key"])
|
225 |
+
|
226 |
+
primary_key = st.selectbox("Primary Key",int_64_keys,index=primary_key_staging,key=f"primary_key_{sheet_name}")
|
227 |
+
if primary_key is not None:
|
228 |
+
generate_helper[sheet_name]["primary_key"] = primary_key
|
229 |
+
st.session_state[raw_selected_files] = generate_helper.copy()
|
230 |
+
|
231 |
+
|
232 |
+
with loading_columns[2]:
|
233 |
+
st.write("Helper Object")
|
234 |
+
st.write(generate_helper[sheet_name])
|
235 |
+
|
236 |
+
break
|
app/utils.py
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Callable
|
2 |
+
import streamlit as st
|
3 |
+
import streamlit_antd_components as sac
|
4 |
+
import inspect
|
5 |
+
|
6 |
+
FORMAT = [None, 'title', 'upper', "lambda x:f'A_{x}'"]
|
7 |
+
LABEL = [
|
8 |
+
None,
|
9 |
+
'label',
|
10 |
+
'**label**',
|
11 |
+
'**label** <span class="badge rounded-pill badge-info">Info</span>'
|
12 |
+
]
|
13 |
+
MartineColor = ['dark', 'gray', 'red', 'pink', 'grape', 'violet', 'indigo', 'blue', 'cyan', 'teal', 'green', 'lime',
|
14 |
+
'yellow', 'orange']
|
15 |
+
MartineSize = ['xs', 'sm', 'md', 'lg', 'xl']
|
16 |
+
AntColor = {
|
17 |
+
'magenta': '#c41d7f',
|
18 |
+
'red': '#cf1322',
|
19 |
+
'volcano': '#d4380d',
|
20 |
+
'orange': '#d46b08',
|
21 |
+
'gold': '#d48806',
|
22 |
+
'lime': '#7cb305',
|
23 |
+
'green': '#389e0d',
|
24 |
+
'cyan': '#08979c',
|
25 |
+
'blue': '#0958d9',
|
26 |
+
'geekblue': '#1d39c4',
|
27 |
+
'purple': '#531dab'
|
28 |
+
}
|
29 |
+
|
30 |
+
size_help = 'support mantine size and int in px'
|
31 |
+
md_help = 'support str and markdown str'
|
32 |
+
|
33 |
+
|
34 |
+
def show_label(container=None, value='label', key=None):
|
35 |
+
if container is not None:
|
36 |
+
with container:
|
37 |
+
return st.text_input('label', value, key=f'{key}-label', help=md_help)
|
38 |
+
return st.text_input('label', value, key=f'{key}-label', help=md_help)
|
39 |
+
|
40 |
+
|
41 |
+
def show_description(container=None, value='', key=None):
|
42 |
+
if container is not None:
|
43 |
+
with container:
|
44 |
+
return st.text_input('description', value, key=f'{key}-desc', help=md_help)
|
45 |
+
return st.text_input('description', value, key=f'{key}-desc', help=md_help)
|
46 |
+
|
47 |
+
|
48 |
+
def show_index(container=None, option=None, index=0, key=None):
|
49 |
+
if container is not None:
|
50 |
+
with container:
|
51 |
+
return st.selectbox('index', option, index=index, key=f'{key}-index')
|
52 |
+
return st.selectbox('index', option, index=index, key=f'{key}-index')
|
53 |
+
|
54 |
+
|
55 |
+
def show_format_func(container=None, key=None):
|
56 |
+
if container is not None:
|
57 |
+
with container:
|
58 |
+
return st.selectbox('format_func', FORMAT, 0, key=f'{key}-format', help='item label format')
|
59 |
+
return st.selectbox('format_func', FORMAT, 0, key=f'{key}-format', help='item label format')
|
60 |
+
|
61 |
+
|
62 |
+
def show_color(index=0, label='color', options=(None, *MartineColor, '#4682b4', 'rgb(20,80,90)'),
|
63 |
+
none_color='--primary-color', key=None, martine=True):
|
64 |
+
colors = {'info': 'rgb(0, 66, 128)', 'success': 'rgb(23, 114, 51)', 'warning': 'rgb(146, 108, 5)',
|
65 |
+
'error': 'rgb(125, 53, 59)', 'transparent': 'lightgray', None: none_color}
|
66 |
+
btn = sac.buttons(
|
67 |
+
items=[sac.ButtonsItem(
|
68 |
+
label='None' if i is None else i,
|
69 |
+
color=colors.get(i) if i in colors.keys() else (i if martine else AntColor.get(i, i))) for i in options
|
70 |
+
],
|
71 |
+
label=label, index=index,
|
72 |
+
size='xs', gap='xs', variant='filled', radius='lg', key=f'{key}-color'
|
73 |
+
)
|
74 |
+
return None if btn == 'None' else btn
|
75 |
+
|
76 |
+
|
77 |
+
def show_size(index=2, include_int=True, key=None):
|
78 |
+
return st.radio('size', options=MartineSize + [25] if include_int else MartineSize, index=index, horizontal=True,
|
79 |
+
key=f'{key}-size', help=size_help)
|
80 |
+
|
81 |
+
|
82 |
+
def show_radius(index=2, key=None):
|
83 |
+
return st.radio('radius', MartineSize + [20, 2], index=index, horizontal=True, key=f'{key}-radius', help=size_help)
|
84 |
+
|
85 |
+
|
86 |
+
def show_variant(options, index=0, key=None):
|
87 |
+
return st.radio('variant', options, index=index, horizontal=True, key=f'{key}-variant')
|
88 |
+
|
89 |
+
|
90 |
+
def show_align(index=1, key=None):
|
91 |
+
return st.radio('align', ['start', 'center', 'end'], index=index, horizontal=True, key=f'{key}-align')
|
92 |
+
|
93 |
+
|
94 |
+
def show_direction(index=0, key=None):
|
95 |
+
return st.radio('direction', ["horizontal", "vertical"], index=index, horizontal=True, key=f'{key}-direction')
|
96 |
+
|
97 |
+
|
98 |
+
def show_checkbox(label, container=None, value=False, key=None):
|
99 |
+
if container is not None:
|
100 |
+
with container:
|
101 |
+
return st.checkbox(label, value=value, key=f'{key}-{label}')
|
102 |
+
return st.checkbox(label, value=value, key=f'{key}-{label}')
|
103 |
+
|
104 |
+
|
105 |
+
def show_radio(label=None, options=None, container=None, index=0, key=None):
|
106 |
+
if container is not None:
|
107 |
+
with container:
|
108 |
+
return st.radio(label, options=options, index=index, horizontal=True, key=f'{key}-{label}')
|
109 |
+
return st.radio(label, options=options, index=index, horizontal=True, key=f'{key}-{label}')
|
110 |
+
|
111 |
+
|
112 |
+
def show_space(number=3):
|
113 |
+
st.markdown('<br>' * number, unsafe_allow_html=True)
|
114 |
+
|
115 |
+
|
116 |
+
def update_kw(d: dict, remove_keys: list = None):
|
117 |
+
ff = d.get("format_func")
|
118 |
+
if isinstance(ff, str) and 'lambda' in ff:
|
119 |
+
d.update({"format_func": eval(ff)})
|
120 |
+
label = d.get('label')
|
121 |
+
if isinstance(label, str) and not label:
|
122 |
+
d.update({'label': None})
|
123 |
+
desc = d.get('description')
|
124 |
+
if isinstance(desc, str) and not desc:
|
125 |
+
d.update({'description': None})
|
126 |
+
if remove_keys is not None:
|
127 |
+
for i in remove_keys:
|
128 |
+
if i in d.keys():
|
129 |
+
del d[i]
|
130 |
+
return d
|
131 |
+
|
132 |
+
|
133 |
+
def code_kw(kw: dict, _func):
|
134 |
+
# func default kw
|
135 |
+
default_kw = {
|
136 |
+
k: v.default for k, v in inspect.signature(_func).parameters.items() if
|
137 |
+
v.default is not inspect.Parameter.empty
|
138 |
+
}
|
139 |
+
# filter kw
|
140 |
+
new_kw = {k: v for k, v in kw.items() if v != default_kw.get(k)}
|
141 |
+
# dict to kw string
|
142 |
+
return ", ".join(f'{k}={FORMAT[-1]}' if isinstance(v, Callable) else f'{k}={v!r}' for k, v in new_kw.items())
|
143 |
+
|
144 |
+
|
145 |
+
def show_code(x: str, open: bool = False):
|
146 |
+
with st.expander('code', open):
|
147 |
+
st.code(f'''
|
148 |
+
import streamlit_antd_components as sac\n{x}
|
149 |
+
''', line_numbers=True)
|
gw_config.json
ADDED
File without changes
|
networkx_config.json
ADDED
File without changes
|
output.csv
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
source,relation,target,source_first_name,source_attendance,target_email,target_attendance,target_completeyears,degree,degree_centrality,closeness_centrality,betweenness_centrality,eigenvector_centrality,clustering,pagerank,edge_betweenness_centrality
|
2 |
+
32437,feedback,32420,Rhett,100,Levi.Mitchell@school.edu,62,7,4,0.03305785123966942,0.23267792095883436,0.004019583874955778,0.23985823095166348,0.6666666666666666,0.00925987211321424,0.00477916760263326
|
3 |
+
32437,feedback,32540,Rhett,100,Beckett.Powell@school.edu,97,4,4,0.03305785123966942,0.23267792095883436,0.004019583874955778,0.23985823095166348,0.6666666666666666,0.00925987211321424,0.011706698666460211
|
4 |
+
32437,feedback,32523,Rhett,100,Elliot.Hayes@school.edu,100,8,4,0.03305785123966942,0.23267792095883436,0.004019583874955778,0.23985823095166348,0.6666666666666666,0.00925987211321424,0.005714968016824136
|
5 |
+
32437,feedback,32397,Rhett,100,Carlos.Torres@school.edu,86,7,4,0.03305785123966942,0.23267792095883436,0.004019583874955778,0.23985823095166348,0.6666666666666666,0.00925987211321424,0.0004741904890936188
|
6 |
+
32540,feedback,32420,Beckett,97,Levi.Mitchell@school.edu,62,7,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,
|
7 |
+
32540,feedback,32468,Beckett,97,Easton.Bell@school.edu,100,3,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.021226373319585642
|
8 |
+
32540,feedback,32432,Beckett,97,William.Thomas@school.edu,97,7,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.08010938052599073
|
9 |
+
32540,feedback,32476,Beckett,97,Bennett.Sullivan@school.edu,100,8,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.02628370139547487
|
10 |
+
32540,feedback,32469,Beckett,97,Benjamin.Miller@school.edu,100,1,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.014767646660344129
|
11 |
+
32540,moretime,32528,Beckett,97,Dominic.Barnes@school.edu,100,2,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.014767646660344129
|
12 |
+
32540,moretime,32469,Beckett,97,Benjamin.Miller@school.edu,100,1,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.014767646660344129
|
13 |
+
32540,moretime,32420,Beckett,97,Levi.Mitchell@school.edu,62,7,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,
|
14 |
+
32540,moretime,32476,Beckett,97,Bennett.Sullivan@school.edu,100,8,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.02628370139547487
|
15 |
+
32540,moretime,32490,Beckett,97,Caden.Novak@school.edu,100,2,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.1445603576751118
|
16 |
+
32540,moretime,32513,Beckett,97,Tucker.Castro@school.edu,99,2,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.01766440216514732
|
17 |
+
32540,moretime,32409,Beckett,97,Winston.Bruce@school.edu,100,4,14,0.11570247933884298,0.2913652303994899,0.3093327459959693,0.5027507875419127,0.0989010989010989,0.032781455401305594,0.01395098526246067
|
18 |
+
32443,feedback,32518,Rory,74,Maximus.Cole@school.edu,83,0,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.014767646660344129
|
19 |
+
32443,feedback,32491,Rory,74,Logan.Lewis@school.edu,98,4,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.014767646660344129
|
20 |
+
32443,moretime,32439,Rory,74,Chase.Wood@school.edu,100,0,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.014767646660344129
|
21 |
+
32443,moretime,32491,Rory,74,Logan.Lewis@school.edu,98,4,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.014767646660344129
|
22 |
+
32443,moretime,32535,Rory,74,James.Anderson@school.edu,92,0,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.013637390022703663
|
23 |
+
32443,moretime,32518,Rory,74,Maximus.Cole@school.edu,83,0,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.014767646660344129
|
24 |
+
32443,moretime,32396,Rory,74,Christian.Campbell@school.edu,59,0,6,0.049586776859504134,0.21070833185542512,0.0739776255272123,0.03117499217642301,0.0,0.01851851385143733,0.041016695297958004
|
25 |
+
32553,feedback,32540,Wyatt,100,Beckett.Powell@school.edu,97,4,3,0.024793388429752067,0.2550391757003327,0.06774143441498814,0.13395613836148887,0.3333333333333333,0.007693673187560379,
|
26 |
+
32553,feedback,32468,Wyatt,100,Easton.Bell@school.edu,100,3,3,0.024793388429752067,0.2550391757003327,0.06774143441498814,0.13395613836148887,0.3333333333333333,0.007693673187560379,
|
27 |
+
32444,feedback,32448,Derek,100,Zayden.Coleman@school.edu,88,9,2,0.01652892561983471,0.17852742299023291,0.014876033057851238,0.004278441863533104,0.0,0.0077875583666649675,0.029264327326920473
|
28 |
+
32444,moretime,32500,Derek,100,Michael.Jackson@school.edu,96,2,2,0.01652892561983471,0.17852742299023291,0.014876033057851238,0.004278441863533104,0.0,0.0077875583666649675,0.014767646660344129
|
29 |
+
32428,feedback,32420,Xavier,68,Levi.Mitchell@school.edu,62,7,1,0.008264462809917356,0.20038792376454714,0.0,0.07063011983787157,0.0,0.0031936503505762674,
|
30 |
+
32484,feedback,32442,Nathan,100,Lucas.Robinson@school.edu,100,2,2,0.01652892561983471,0.01652892561983471,0.0001377410468319559,2.3374491378885444e-17,0.0,0.011959829069359539,0.00027096599376778217
|
31 |
+
32484,moretime,32442,Nathan,100,Lucas.Robinson@school.edu,100,2,2,0.01652892561983471,0.01652892561983471,0.0001377410468319559,2.3374491378885444e-17,0.0,0.011959829069359539,0.00027096599376778217
|
32 |
+
32484,moretime,32419,Nathan,100,Ethan.Williams@school.edu,99,2,2,0.01652892561983471,0.01652892561983471,0.0001377410468319559,2.3374491378885444e-17,0.0,0.011959829069359539,0.00027096599376778217
|
33 |
+
32445,feedback,32498,Elijah,58,Simon.Cline@school.edu,98,0,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.018471171153734495
|
34 |
+
32445,feedback,32487,Elijah,58,Iker.Fisher@school.edu,100,2,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.02501951600312256
|
35 |
+
32445,feedback,32404,Elijah,58,Greyson.Ross@school.edu,95,0,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.026789343294559398
|
36 |
+
32445,moretime,32498,Elijah,58,Simon.Cline@school.edu,98,0,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.018471171153734495
|
37 |
+
32445,moretime,32487,Elijah,58,Iker.Fisher@school.edu,100,2,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.02501951600312256
|
38 |
+
32445,moretime,32404,Elijah,58,Greyson.Ross@school.edu,95,0,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.026789343294559398
|
39 |
+
32445,moretime,32415,Elijah,58,Silas.Jenkins@school.edu,100,1,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.02070599544519068
|
40 |
+
32445,moretime,32421,Elijah,58,Sterling.Hickman@school.edu,98,5,6,0.049586776859504134,0.21253264641694394,0.05780352223534041,0.026718116326419017,0.13333333333333333,0.017085259308399103,0.005837865562157664
|
41 |
+
32470,feedback,32477,Finn,100,Walter.Kim@school.edu,100,0,1,0.008264462809917356,0.16176290386264927,0.0,0.0036015351171656434,0.0,0.0037891651182287776,0.014767646660344129
|
42 |
+
32395,feedback,32494,Declan,92,Lincoln.Peterson@school.edu,54,0,3,0.024793388429752067,0.18387655925960317,0.021763413354322463,0.028303845041649504,0.0,0.009615699432360734,0.014767646660344129
|
43 |
+
32395,feedback,32475,Declan,92,Chance.Wallace@school.edu,100,9,3,0.024793388429752067,0.18387655925960317,0.021763413354322463,0.028303845041649504,0.0,0.009615699432360734,0.027503370945993914
|
44 |
+
32395,moretime,32415,Declan,92,Silas.Jenkins@school.edu,100,1,3,0.024793388429752067,0.18387655925960317,0.021763413354322463,0.028303845041649504,0.0,0.009615699432360734,
|
45 |
+
32531,feedback,32562,Connor,98,Sebastian.Gonzalez@school.edu,98,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014767646660344129
|
46 |
+
32531,feedback,32460,Connor,98,Ignatius.Gaines@school.edu,91,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014632163663460237
|
47 |
+
32531,moretime,32458,Connor,98,Jeremiah.Myers@school.edu,97,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014632163663460237
|
48 |
+
32531,moretime,32538,Connor,98,Julian.King@school.edu,90,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014767646660344129
|
49 |
+
32531,moretime,32554,Connor,98,Kieran.Pruitt@school.edu,100,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.08454139005554803
|
50 |
+
32531,moretime,32521,Connor,98,Isaac.Nelson@school.edu,83,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014767646660344129
|
51 |
+
32531,moretime,32460,Connor,98,Ignatius.Gaines@school.edu,91,0,6,0.049586776859504134,0.1737877568931471,0.07286501377410468,0.005025697065019524,0.06666666666666667,0.020933643346168,0.014632163663460237
|
52 |
+
32440,feedback,32549,Joseph,85,Samuel.Harris@school.edu,100,0,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.1275982090438127
|
53 |
+
32440,feedback,32409,Joseph,85,Winston.Bruce@school.edu,100,4,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,
|
54 |
+
32440,feedback,32540,Joseph,85,Beckett.Powell@school.edu,97,4,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,
|
55 |
+
32440,moretime,32430,Joseph,85,Cassian.Jarvis@school.edu,98,0,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.014767646660344129
|
56 |
+
32440,moretime,32409,Joseph,85,Winston.Bruce@school.edu,100,4,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,
|
57 |
+
32440,moretime,32420,Joseph,85,Levi.Mitchell@school.edu,62,7,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,
|
58 |
+
32440,moretime,32540,Joseph,85,Beckett.Powell@school.edu,97,4,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,
|
59 |
+
32440,moretime,32433,Joseph,85,Ryan.Hall@school.edu,100,0,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.055382868497622625
|
60 |
+
32440,moretime,32549,Joseph,85,Samuel.Harris@school.edu,100,0,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.1275982090438127
|
61 |
+
32440,moretime,32410,Joseph,85,River.Ellis@school.edu,100,0,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.037165361396495386
|
62 |
+
32440,moretime,32489,Joseph,85,Ronald.Salazar@school.edu,95,4,9,0.0743801652892562,0.29050320309061567,0.26755008765339355,0.3264123816648991,0.1111111111111111,0.021460526694019225,0.03466816343120367
|
63 |
+
32550,feedback,32440,Jackson,77,Joseph.Thompson@school.edu,85,1,5,0.04132231404958678,0.25241666489621617,0.1169834909504331,0.10899886215914505,0.1,0.012338706099424132,
|
64 |
+
32550,moretime,32408,Jackson,77,Jonathan.Evans@school.edu,99,8,5,0.04132231404958678,0.25241666489621617,0.1169834909504331,0.10899886215914505,0.1,0.012338706099424132,0.033164311940900464
|
65 |
+
32511,moretime,32524,Emmanuel,98,Flynn.Stuart@school.edu,89,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
66 |
+
32511,moretime,32536,Emmanuel,98,Brody.Flores@school.edu,98,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
67 |
+
32511,moretime,32450,Emmanuel,98,Kingston.Hamilton@school.edu,100,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
68 |
+
32511,moretime,32482,Emmanuel,98,Andrew.Martinez@school.edu,97,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
69 |
+
32511,moretime,32506,Emmanuel,98,Dominic.Rogers@school.edu,94,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
70 |
+
32511,moretime,32481,Emmanuel,98,Elias.Cooper@school.edu,71,0,6,0.049586776859504134,0.049586776859504134,0.0020661157024793385,3.697507568407189e-11,0.0,0.027012260100896045,0.0008128979813033464
|
71 |
+
32556,feedback,32565,Peter,100,Carter.Baker@school.edu,57,2,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.021812762498306465
|
72 |
+
32556,feedback,32402,Peter,100,Jaxon.Morris@school.edu,89,2,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.021812762498306465
|
73 |
+
32556,moretime,32565,Peter,100,Carter.Baker@school.edu,57,2,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.021812762498306465
|
74 |
+
32556,moretime,32402,Peter,100,Jaxon.Morris@school.edu,89,2,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.021812762498306465
|
75 |
+
32556,moretime,32520,Peter,100,Owen.Hernandez@school.edu,100,0,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.014767646660344129
|
76 |
+
32556,moretime,32559,Peter,100,Anthony.Hill@school.edu,56,0,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.08454139005554803
|
77 |
+
32556,moretime,32398,Peter,100,Titus.Serrano@school.edu,97,0,5,0.04132231404958678,0.13888271944077524,0.07265840220385675,0.0012498890492330444,0.0,0.017996549352629662,0.014767646660344129
|
78 |
+
32549,feedback,32551,Samuel,100,Christopher.Clark@school.edu,98,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.02264824097909046
|
79 |
+
32549,feedback,32554,Samuel,100,Kieran.Pruitt@school.edu,100,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,
|
80 |
+
32549,feedback,32464,Samuel,100,Cole.Brooks@school.edu,100,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.014767646660344129
|
81 |
+
32549,feedback,32502,Samuel,100,Matthew.Martin@school.edu,98,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.014767646660344129
|
82 |
+
32549,moretime,32551,Samuel,100,Christopher.Clark@school.edu,98,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.02264824097909046
|
83 |
+
32549,moretime,32440,Samuel,100,Joseph.Thompson@school.edu,85,1,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,
|
84 |
+
32549,moretime,32431,Samuel,100,Tate.Peck@school.edu,100,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.014767646660344129
|
85 |
+
32549,moretime,32425,Samuel,100,Atticus.Osborne@school.edu,58,1,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.04943322946303574
|
86 |
+
32549,moretime,32554,Samuel,100,Kieran.Pruitt@school.edu,100,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,
|
87 |
+
32549,moretime,32529,Samuel,100,Bentley.Price@school.edu,93,4,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.02264824097909046
|
88 |
+
32549,moretime,32487,Samuel,100,Iker.Fisher@school.edu,100,2,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,
|
89 |
+
32549,moretime,32464,Samuel,100,Cole.Brooks@school.edu,100,0,9,0.0743801652892562,0.26466329553808116,0.19522530499803217,0.10329017797033557,0.0,0.025466393739123273,0.014767646660344129
|
90 |
+
32400,feedback,32478,Roman,58,Adam.Rivera@school.edu,91,2,5,0.04132231404958678,0.21771636950028406,0.03335531624787822,0.04222921158171208,0.1,0.013436696175590174,0.015349265586360832
|
91 |
+
32400,feedback,32514,Roman,58,Abel.Mendoza@school.edu,100,1,5,0.04132231404958678,0.21771636950028406,0.03335531624787822,0.04222921158171208,0.1,0.013436696175590174,0.014767646660344129
|
92 |
+
32400,feedback,32477,Roman,58,Walter.Kim@school.edu,100,0,5,0.04132231404958678,0.21771636950028406,0.03335531624787822,0.04222921158171208,0.1,0.013436696175590174,
|
93 |
+
32400,feedback,32550,Roman,58,Jackson.Rodriguez@school.edu,77,0,5,0.04132231404958678,0.21771636950028406,0.03335531624787822,0.04222921158171208,0.1,0.013436696175590174,
|
94 |
+
32400,feedback,32401,Roman,58,Isaac.Walker@school.edu,98,0,5,0.04132231404958678,0.21771636950028406,0.03335531624787822,0.04222921158171208,0.1,0.013436696175590174,0.006264798291623926
|
95 |
+
32505,moretime,32558,Aaron,99,Daniel.White@school.edu,57,2,1,0.008264462809917356,0.008264462809917356,0.0,1.2557829509382407e-20,0.0,0.00819672131147541,0.00013548299688389108
|
96 |
+
32417,moretime,32396,Leon,65,Christian.Campbell@school.edu,59,0,3,0.024793388429752067,0.16871148220726478,0.017858618654073195,0.004781539238951999,0.0,0.009875319431517099,
|
97 |
+
32417,moretime,32508,Leon,65,Tristan.James@school.edu,89,0,3,0.024793388429752067,0.16871148220726478,0.017858618654073195,0.004781539238951999,0.0,0.009875319431517099,0.015011032186889123
|
98 |
+
32417,moretime,32507,Leon,65,Aiden.Brown@school.edu,74,0,3,0.024793388429752067,0.16871148220726478,0.017858618654073195,0.004781539238951999,0.0,0.009875319431517099,0.014767646660344129
|
99 |
+
32478,feedback,32459,Adam,91,Zander.Buchanan@school.edu,98,9,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,0.03303920033360488
|
100 |
+
32478,moretime,32426,Adam,91,Emmanuel.Chambers@school.edu,92,0,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,0.016260760194509016
|
101 |
+
32478,moretime,32396,Adam,91,Christian.Campbell@school.edu,59,0,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,
|
102 |
+
32478,moretime,32413,Adam,91,Nikolai.Weeks@school.edu,100,9,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,0.00965090547802917
|
103 |
+
32478,moretime,32467,Adam,91,Malcolm.Knox@school.edu,80,8,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,0.014767646660344129
|
104 |
+
32478,moretime,32408,Adam,91,Jonathan.Evans@school.edu,99,8,7,0.05785123966942149,0.21116146805296365,0.059062844104166436,0.03677987733762497,0.047619047619047616,0.018194056342620696,
|
105 |
+
32474,feedback,32408,Cameron,89,Jonathan.Evans@school.edu,99,8,2,0.01652892561983471,0.17348071138626872,0.0,0.009208550111924908,1.0,0.005674498006390904,
|
106 |
+
32474,moretime,32413,Cameron,89,Nikolai.Weeks@school.edu,100,9,2,0.01652892561983471,0.17348071138626872,0.0,0.009208550111924908,1.0,0.005674498006390904,
|
107 |
+
32493,feedback,32448,Luke,94,Zayden.Coleman@school.edu,88,9,1,0.008264462809917356,0.17788058450113786,0.0,0.004120057758028791,0.0,0.003929178185080363,
|
108 |
+
32413,feedback,32408,Nikolai,100,Jonathan.Evans@school.edu,99,8,3,0.024793388429752067,0.18456782451997764,0.002153351698806244,0.0151424776234368,0.6666666666666666,0.008022492082391496,
|
109 |
+
32413,moretime,32474,Nikolai,100,Cameron.Cox@school.edu,89,1,3,0.024793388429752067,0.18456782451997764,0.002153351698806244,0.0151424776234368,0.6666666666666666,0.008022492082391496,0.0022535338481687217
|
110 |
+
32413,moretime,32478,Nikolai,100,Adam.Rivera@school.edu,91,2,3,0.024793388429752067,0.18456782451997764,0.002153351698806244,0.0151424776234368,0.6666666666666666,0.008022492082391496,
|
111 |
+
32459,feedback,32478,Zander,98,Adam.Rivera@school.edu,91,2,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
112 |
+
32459,feedback,32553,Zander,98,Wyatt.Green@school.edu,100,6,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
113 |
+
32459,feedback,32477,Zander,98,Walter.Kim@school.edu,100,0,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
114 |
+
32459,feedback,32401,Zander,98,Isaac.Walker@school.edu,98,0,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
115 |
+
32459,moretime,32401,Zander,98,Isaac.Walker@school.edu,98,0,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
116 |
+
32459,moretime,32477,Zander,98,Walter.Kim@school.edu,100,0,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
117 |
+
32459,moretime,32478,Zander,98,Adam.Rivera@school.edu,91,2,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,
|
118 |
+
32459,moretime,32411,Zander,98,Wesley.Long@school.edu,100,2,6,0.049586776859504134,0.2371741126681838,0.10748923711733616,0.05149149701806678,0.0,0.016231664531464005,0.014767646660344129
|
119 |
+
32534,feedback,32540,Liam,98,Beckett.Powell@school.edu,97,4,4,0.03305785123966942,0.23660260878223638,0.04620289375454663,0.1115996635076883,0.0,0.011528557913159668,
|
120 |
+
32534,moretime,32418,Liam,98,Cooper.Kelly@school.edu,96,0,4,0.03305785123966942,0.23660260878223638,0.04620289375454663,0.1115996635076883,0.0,0.011528557913159668,0.014767646660344129
|
121 |
+
32534,moretime,32426,Liam,98,Emmanuel.Chambers@school.edu,92,0,4,0.03305785123966942,0.23660260878223638,0.04620289375454663,0.1115996635076883,0.0,0.011528557913159668,
|
122 |
+
32534,moretime,32535,Liam,98,James.Anderson@school.edu,92,0,4,0.03305785123966942,0.23660260878223638,0.04620289375454663,0.1115996635076883,0.0,0.011528557913159668,
|
123 |
+
32527,moretime,32420,Bruce,64,Levi.Mitchell@school.edu,62,7,2,0.01652892561983471,0.2041373859555678,0.0017188114915387643,0.09094566485496795,0.0,0.00541492684360774,
|
124 |
+
32527,moretime,32410,Bruce,64,River.Ellis@school.edu,100,0,2,0.01652892561983471,0.2041373859555678,0.0017188114915387643,0.09094566485496795,0.0,0.00541492684360774,
|
125 |
+
32532,moretime,32565,Caleb,98,Carter.Baker@school.edu,57,2,2,0.01652892561983471,0.10684448601156485,6.887052341597796e-05,9.986205894622728e-05,0.0,0.007631657636642795,
|
126 |
+
32532,moretime,32402,Caleb,98,Jaxon.Morris@school.edu,89,2,2,0.01652892561983471,0.10684448601156485,6.887052341597796e-05,9.986205894622728e-05,0.0,0.007631657636642795,
|
127 |
+
32399,feedback,32499,Damon,54,Raphael.Barron@school.edu,89,2,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,0.014767646660344129
|
128 |
+
32399,feedback,32468,Damon,54,Easton.Bell@school.edu,100,3,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
129 |
+
32399,moretime,32551,Damon,54,Christopher.Clark@school.edu,98,0,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
130 |
+
32399,moretime,32432,Damon,54,William.Thomas@school.edu,97,7,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
131 |
+
32399,moretime,32529,Damon,54,Bentley.Price@school.edu,93,4,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
132 |
+
32399,moretime,32492,Damon,54,Marcellus.Tovar@school.edu,70,0,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,0.014767646660344129
|
133 |
+
32399,moretime,32443,Damon,54,Rory.Briggs@school.edu,74,9,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
134 |
+
32399,moretime,32523,Damon,54,Elliot.Hayes@school.edu,100,8,8,0.06611570247933884,0.23948800645031246,0.101345072130196,0.10263533346893437,0.0,0.021410879448672634,
|
135 |
+
32409,feedback,32420,Winston,100,Levi.Mitchell@school.edu,62,7,5,0.04132231404958678,0.25306722331089715,0.019880624426078967,0.28646280223950765,0.5,0.011597814476092691,
|
136 |
+
32409,moretime,32440,Winston,100,Joseph.Thompson@school.edu,85,1,5,0.04132231404958678,0.25306722331089715,0.019880624426078967,0.28646280223950765,0.5,0.011597814476092691,0.013375182525704141
|
137 |
+
32409,moretime,32540,Winston,100,Beckett.Powell@school.edu,97,4,5,0.04132231404958678,0.25306722331089715,0.019880624426078967,0.28646280223950765,0.5,0.011597814476092691,
|
138 |
+
32409,moretime,32462,Winston,100,Noah.Johnson@school.edu,93,0,5,0.04132231404958678,0.25306722331089715,0.019880624426078967,0.28646280223950765,0.5,0.011597814476092691,0.018873534149242047
|
139 |
+
32409,moretime,32513,Winston,100,Tucker.Castro@school.edu,99,2,5,0.04132231404958678,0.25306722331089715,0.019880624426078967,0.28646280223950765,0.5,0.011597814476092691,
|
140 |
+
32475,moretime,32420,Chance,100,Levi.Mitchell@school.edu,62,7,4,0.03305785123966942,0.209807868898778,0.03980749048930867,0.13112766393849112,0.16666666666666666,0.01089986360544276,
|
141 |
+
32475,moretime,32479,Chance,100,Mason.Wilson@school.edu,91,4,4,0.03305785123966942,0.209807868898778,0.03980749048930867,0.13112766393849112,0.16666666666666666,0.01089986360544276,0.014767646660344129
|
142 |
+
32462,feedback,32513,Noah,93,Tucker.Castro@school.edu,99,2,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,
|
143 |
+
32462,feedback,32550,Noah,93,Jackson.Rodriguez@school.edu,77,0,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,
|
144 |
+
32462,feedback,32456,Noah,93,Jorge.Fox@school.edu,59,0,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,0.014767646660344129
|
145 |
+
32462,moretime,32513,Noah,93,Tucker.Castro@school.edu,99,2,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,
|
146 |
+
32462,moretime,32456,Noah,93,Jorge.Fox@school.edu,59,0,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,0.014767646660344129
|
147 |
+
32462,moretime,32517,Noah,93,Tobias.Tanner@school.edu,98,1,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,0.014767646660344129
|
148 |
+
32462,moretime,32409,Noah,93,Winston.Bruce@school.edu,100,4,5,0.04132231404958678,0.22015713597450248,0.03282937601119419,0.11840212950305924,0.1,0.013366527018555636,
|
149 |
+
32498,feedback,32433,Simon,98,Ryan.Hall@school.edu,100,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.04556486732343665
|
150 |
+
32498,moretime,32445,Simon,98,Elijah.Moore@school.edu,58,2,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,
|
151 |
+
32498,moretime,32555,Simon,98,Gabriel.Gray@school.edu,98,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.014767646660344129
|
152 |
+
32498,moretime,32488,Simon,98,Tyson.Bush@school.edu,98,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.014767646660344129
|
153 |
+
32498,moretime,32543,Simon,98,Oscar.Reynolds@school.edu,97,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.014767646660344129
|
154 |
+
32498,moretime,32433,Simon,98,Ryan.Hall@school.edu,100,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.04556486732343665
|
155 |
+
32498,moretime,32533,Simon,98,David.Garcia@school.edu,98,0,7,0.05785123966942149,0.21116146805296365,0.06964843237570512,0.03218060670460858,0.047619047619047616,0.0220689493006012,0.014767646660344129
|
156 |
+
32458,feedback,32460,Jeremiah,97,Ignatius.Gaines@school.edu,91,0,2,0.01652892561983471,0.14611619441164897,0.0,0.001196942687022156,1.0,0.007295877344110306,
|
157 |
+
32458,moretime,32531,Jeremiah,97,Connor.Young@school.edu,98,0,2,0.01652892561983471,0.14611619441164897,0.0,0.001196942687022156,1.0,0.007295877344110306,
|
158 |
+
32404,moretime,32425,Greyson,95,Atticus.Osborne@school.edu,58,1,2,0.01652892561983471,0.1991685246341341,0.02247458349731077,0.010128446186403708,0.0,0.006189954436353119,0.03219059877033052
|
159 |
+
32401,feedback,32508,Isaac,98,Tristan.James@school.edu,89,0,7,0.05785123966942149,0.2196646144175125,0.06830594910140363,0.046907756532881456,0.047619047619047616,0.019384549380985848,0.025206127702401916
|
160 |
+
32401,feedback,32550,Isaac,98,Jackson.Rodriguez@school.edu,77,0,7,0.05785123966942149,0.2196646144175125,0.06830594910140363,0.046907756532881456,0.047619047619047616,0.019384549380985848,
|
161 |
+
32401,moretime,32405,Isaac,98,Patrick.Olsen@school.edu,97,4,7,0.05785123966942149,0.2196646144175125,0.06830594910140363,0.046907756532881456,0.047619047619047616,0.019384549380985848,0.013980071096315506
|
162 |
+
32401,moretime,32485,Isaac,98,Josiah.Perez@school.edu,100,2,7,0.05785123966942149,0.2196646144175125,0.06830594910140363,0.046907756532881456,0.047619047619047616,0.019384549380985848,0.014767646660344129
|
163 |
+
32401,moretime,32544,Isaac,98,Jason.Bailey@school.edu,90,2,7,0.05785123966942149,0.2196646144175125,0.06830594910140363,0.046907756532881456,0.047619047619047616,0.019384549380985848,0.014767646660344129
|
164 |
+
32448,feedback,32516,Zayden,88,Axel.Griffin@school.edu,100,8,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.014767646660344129
|
165 |
+
32448,feedback,32446,Zayden,88,Zane.Pena@school.edu,59,3,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.014767646660344129
|
166 |
+
32448,feedback,32473,Zayden,88,Cole.Ward@school.edu,100,0,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.014767646660344129
|
167 |
+
32448,moretime,32405,Zayden,88,Patrick.Olsen@school.edu,97,4,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.012887174921452124
|
168 |
+
32448,moretime,32425,Zayden,88,Atticus.Osborne@school.edu,58,1,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.06157686079444651
|
169 |
+
32448,moretime,32459,Zayden,88,Zander.Buchanan@school.edu,98,9,8,0.06611570247933884,0.22114883478519842,0.10787403253312343,0.021416356569627298,0.0,0.02540720550307239,0.06417990851671931
|
170 |
+
32522,feedback,32422,Dennis,98,Jack.Lopez@school.edu,100,5,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
171 |
+
32522,feedback,32421,Dennis,98,Sterling.Hickman@school.edu,98,5,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
172 |
+
32522,feedback,32432,Dennis,98,William.Thomas@school.edu,97,7,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
173 |
+
32522,moretime,32498,Dennis,98,Simon.Cline@school.edu,98,0,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
174 |
+
32522,moretime,32465,Dennis,98,Nolan.Morgan@school.edu,92,0,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
175 |
+
32522,moretime,32445,Dennis,98,Elijah.Moore@school.edu,58,2,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
176 |
+
32522,moretime,32436,Dennis,98,King.Ingram@school.edu,65,2,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
177 |
+
32522,moretime,32432,Dennis,98,William.Thomas@school.edu,97,7,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
178 |
+
32522,moretime,32504,Dennis,98,Tucker.Campos@school.edu,100,9,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
179 |
+
32522,moretime,32545,Dennis,98,Axel.Bennett@school.edu,97,4,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
180 |
+
32522,moretime,32421,Dennis,98,Sterling.Hickman@school.edu,98,5,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,
|
181 |
+
32522,moretime,32422,Dennis,98,Jack.Lopez@school.edu,100,5,9,0.0743801652892562,0.22315927873779115,0.10851616817525908,0.04684873260113099,0.05555555555555555,0.027577225922479243,0.014767646660344129
|
182 |
+
32509,feedback,32490,Ezekiel,100,Caden.Novak@school.edu,100,2,4,0.03305785123966942,0.19140366987256938,0.12603305785123967,0.027337198981349686,0.0,0.013856643431521242,
|
183 |
+
32509,feedback,32510,Ezekiel,100,Damian.Harrison@school.edu,100,0,4,0.03305785123966942,0.19140366987256938,0.12603305785123967,0.027337198981349686,0.0,0.013856643431521242,0.014767646660344129
|
184 |
+
32509,moretime,32542,Ezekiel,100,Lucian.Wu@school.edu,98,0,4,0.03305785123966942,0.19140366987256938,0.12603305785123967,0.027337198981349686,0.0,0.013856643431521242,0.014767646660344129
|
185 |
+
32509,moretime,32559,Ezekiel,100,Anthony.Hill@school.edu,56,0,4,0.03305785123966942,0.19140366987256938,0.12603305785123967,0.027337198981349686,0.0,0.013856643431521242,
|
186 |
+
32397,feedback,32420,Carlos,86,Levi.Mitchell@school.edu,62,7,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,
|
187 |
+
32397,feedback,32540,Carlos,86,Beckett.Powell@school.edu,97,4,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,
|
188 |
+
32397,feedback,32475,Carlos,86,Chance.Wallace@school.edu,100,9,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,0.016935374610486387
|
189 |
+
32397,moretime,32523,Carlos,86,Elliot.Hayes@school.edu,100,8,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,
|
190 |
+
32397,moretime,32420,Carlos,86,Levi.Mitchell@school.edu,62,7,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,
|
191 |
+
32397,moretime,32540,Carlos,86,Beckett.Powell@school.edu,97,4,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,
|
192 |
+
32397,moretime,32475,Carlos,86,Chance.Wallace@school.edu,100,9,5,0.04132231404958678,0.23546782408783715,0.020445203709666532,0.2610107560118551,0.5,0.011575911710903521,0.016935374610486387
|
193 |
+
32455,feedback,32546,Lawrence,73,Gabriel.Lee@school.edu,100,1,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,0.014767646660344129
|
194 |
+
32455,feedback,32410,Lawrence,73,River.Ellis@school.edu,100,0,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,
|
195 |
+
32455,moretime,32480,Lawrence,73,Donovan.Steele@school.edu,98,1,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,0.014767646660344129
|
196 |
+
32455,moretime,32546,Lawrence,73,Gabriel.Lee@school.edu,100,1,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,0.014767646660344129
|
197 |
+
32455,moretime,32410,Lawrence,73,River.Ellis@school.edu,100,0,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,
|
198 |
+
32455,moretime,32489,Lawrence,73,Ronald.Salazar@school.edu,95,4,4,0.03305785123966942,0.18183348637894092,0.02961432506887052,0.04083040958841559,0.16666666666666666,0.012260018924084489,
|
199 |
+
32489,feedback,32410,Ronald,95,River.Ellis@school.edu,100,0,3,0.024793388429752067,0.22417827087814632,0.020920897284533647,0.09095159008701885,0.6666666666666666,0.008082852370534535,
|
200 |
+
32476,feedback,32490,Bennett,100,Caden.Novak@school.edu,100,2,3,0.024793388429752067,0.22729185797367615,0.014876033057851238,0.12560275725159675,0.3333333333333333,0.008854767731186146,0.002980625931445604
|
201 |
+
32476,feedback,32457,Bennett,100,Lorenzo.Woods@school.edu,98,4,3,0.024793388429752067,0.22729185797367615,0.014876033057851238,0.12560275725159675,0.3333333333333333,0.008854767731186146,0.014767646660344129
|
requirements.txt
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
altair==4.2.2
|
2 |
+
altgraph==0.17.4
|
3 |
+
annotated-types==0.6.0
|
4 |
+
anyio==4.3.0
|
5 |
+
appdirs==1.4.4
|
6 |
+
arrow==1.3.0
|
7 |
+
astor==0.8.1
|
8 |
+
asttokens==2.4.1
|
9 |
+
attrs==23.2.0
|
10 |
+
backoff==2.2.1
|
11 |
+
blinker==1.8.2
|
12 |
+
cachetools==5.3.3
|
13 |
+
click==8.1.7
|
14 |
+
comm==0.2.2
|
15 |
+
dateutils==0.6.12
|
16 |
+
decorator==5.1.1
|
17 |
+
dnspython==2.6.1
|
18 |
+
duckdb==0.10.1
|
19 |
+
email_validator==2.1.1
|
20 |
+
entrypoints==0.4
|
21 |
+
et-xmlfile==1.1.0
|
22 |
+
executing==2.0.1
|
23 |
+
fastapi==0.111.0
|
24 |
+
fastapi-cli==0.0.3
|
25 |
+
gitdb==4.0.11
|
26 |
+
GitPython==3.1.43
|
27 |
+
gw_dsl_parser==0.1.48a3
|
28 |
+
h11==0.14.0
|
29 |
+
httpcore==1.0.5
|
30 |
+
httptools==0.6.1
|
31 |
+
httpx==0.27.0
|
32 |
+
ipython==8.24.0
|
33 |
+
ipywidgets==8.1.2
|
34 |
+
isodate==0.6.1
|
35 |
+
jedi==0.19.1
|
36 |
+
Jinja2==3.1.4
|
37 |
+
jsonpointer==2.1
|
38 |
+
jsonschema==4.22.0
|
39 |
+
jsonschema-specifications==2023.12.1
|
40 |
+
jupyterlab_widgets==3.0.10
|
41 |
+
kanaries_track==0.0.4
|
42 |
+
kuzu==0.4.1
|
43 |
+
macholib==1.16.3
|
44 |
+
markdown-it-py==3.0.0
|
45 |
+
MarkupSafe==2.1.5
|
46 |
+
matplotlib-inline==0.1.7
|
47 |
+
mdurl==0.1.2
|
48 |
+
modulegraph==0.19.6
|
49 |
+
monotonic==1.6
|
50 |
+
networkx==3.3
|
51 |
+
numpy==1.26.4
|
52 |
+
openpyxl==3.1.2
|
53 |
+
orjson==3.10.3
|
54 |
+
pandas==2.2.2
|
55 |
+
parso==0.8.4
|
56 |
+
pexpect==4.9.0
|
57 |
+
pillow==10.3.0
|
58 |
+
prompt-toolkit==3.0.43
|
59 |
+
protobuf==4.25.3
|
60 |
+
psutil==5.9.8
|
61 |
+
ptyprocess==0.7.0
|
62 |
+
pure-eval==0.2.2
|
63 |
+
py2app==0.28.7
|
64 |
+
pyarrow==16.0.0
|
65 |
+
pydantic==2.7.1
|
66 |
+
pydantic_core==2.18.2
|
67 |
+
pydeck==0.9.1
|
68 |
+
Pygments==2.18.0
|
69 |
+
pygwalker==0.4.8.3
|
70 |
+
pyparsing==3.1.2
|
71 |
+
python-dateutil==2.9.0.post0
|
72 |
+
python-decouple==3.8
|
73 |
+
python-dotenv==1.0.1
|
74 |
+
python-multipart==0.0.9
|
75 |
+
pytz==2024.1
|
76 |
+
PyYAML==6.0.1
|
77 |
+
rdflib==7.0.0
|
78 |
+
referencing==0.35.1
|
79 |
+
rich==13.7.1
|
80 |
+
rpds-py==0.18.1
|
81 |
+
scipy==1.13.0
|
82 |
+
segment-analytics-python==2.2.3
|
83 |
+
shellingham==1.5.4
|
84 |
+
six==1.16.0
|
85 |
+
smmap==5.0.1
|
86 |
+
sniffio==1.3.1
|
87 |
+
SQLAlchemy==2.0.30
|
88 |
+
sqlglot==23.15.8
|
89 |
+
stack-data==0.6.3
|
90 |
+
starlette==0.37.2
|
91 |
+
streamlit==1.34.0
|
92 |
+
streamlit-aggrid==1.0.5
|
93 |
+
streamlit-agraph==0.0.45
|
94 |
+
streamlit-antd-components==0.3.2
|
95 |
+
streamlit-monaco==0.1.3
|
96 |
+
tenacity==8.3.0
|
97 |
+
toml==0.10.2
|
98 |
+
toolz==0.12.1
|
99 |
+
tornado==6.4
|
100 |
+
traitlets==5.14.3
|
101 |
+
typer==0.12.3
|
102 |
+
types-python-dateutil==2.9.0.20240316
|
103 |
+
typing_extensions==4.11.0
|
104 |
+
tzdata==2024.1
|
105 |
+
ujson==5.9.0
|
106 |
+
uvicorn==0.29.0
|
107 |
+
uvloop==0.19.0
|
108 |
+
wasmtime==12.0.0
|
109 |
+
watchfiles==0.21.0
|
110 |
+
wcwidth==0.2.13
|
111 |
+
websockets==12.0
|
112 |
+
wheel==0.41.2
|
113 |
+
widgetsnbextension==4.0.10
|
result_config.json
ADDED
File without changes
|
setup.py
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from setuptools import setup
|
2 |
+
|
3 |
+
APP = ['app.py']
|
4 |
+
DATA_FILES = []
|
5 |
+
OPTIONS = {
|
6 |
+
'argv_emulation': True,
|
7 |
+
'packages': [
|
8 |
+
'streamlit',
|
9 |
+
'numpy',
|
10 |
+
'pandas',
|
11 |
+
'networkx',
|
12 |
+
'openpyxl',
|
13 |
+
'uuid',
|
14 |
+
'streamlit_antd_components',
|
15 |
+
'st_aggrid',
|
16 |
+
'pygwalker',
|
17 |
+
'streamlit_monaco',
|
18 |
+
'streamlit_agraph',
|
19 |
+
],
|
20 |
+
}
|
21 |
+
|
22 |
+
setup(
|
23 |
+
app=APP,
|
24 |
+
data_files=DATA_FILES,
|
25 |
+
options={'py2app': OPTIONS},
|
26 |
+
setup_requires=['py2app'],
|
27 |
+
)
|
socialnetworkanalysis/__init__.py
ADDED
File without changes
|
socialnetworkanalysis/__pycache__/__init__.cpython-312.pyc
ADDED
Binary file (233 Bytes). View file
|
|
socialnetworkanalysis/__pycache__/sna.cpython-312.pyc
ADDED
Binary file (20 kB). View file
|
|
socialnetworkanalysis/sna.py
ADDED
@@ -0,0 +1,417 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import kuzu
|
2 |
+
import hashlib
|
3 |
+
import os
|
4 |
+
import logging
|
5 |
+
import openpyxl
|
6 |
+
import pandas as pd
|
7 |
+
import uuid
|
8 |
+
import json
|
9 |
+
import networkx as nx
|
10 |
+
import time
|
11 |
+
import numpy as np
|
12 |
+
|
13 |
+
|
14 |
+
class SocialNetworkAnalysis:
|
15 |
+
data_dir: str
|
16 |
+
k_client: kuzu.Connection
|
17 |
+
|
18 |
+
def __init__(self,name:str):
|
19 |
+
session_id = hashlib.sha256(name.encode("utf-8")).hexdigest()
|
20 |
+
db = kuzu.Database(f"./db/{session_id}_db")
|
21 |
+
self.k_client = kuzu.Connection(db)
|
22 |
+
if not os.path.exists(f"./data/{session_id}"):
|
23 |
+
os.makedirs(f"./data/{session_id}")
|
24 |
+
self.data_dir = f"./data/{session_id}"
|
25 |
+
|
26 |
+
def get_files(self):
|
27 |
+
all_files = []
|
28 |
+
logging.info("Getting files")
|
29 |
+
logging.info(f"Data dir: {self.data_dir}")
|
30 |
+
for root, dirs, files in os.walk(self.data_dir):
|
31 |
+
for file in files:
|
32 |
+
all_files.append(os.path.join(root, file))
|
33 |
+
|
34 |
+
return all_files
|
35 |
+
|
36 |
+
def add_file(self, file):
|
37 |
+
logging.info(f"Adding file: {file}")
|
38 |
+
with open(f"{self.data_dir}/{file.name}","wb") as f:
|
39 |
+
f.write(file.getvalue())
|
40 |
+
|
41 |
+
def generate_data_dictionary(self, file_path):
|
42 |
+
try:
|
43 |
+
workbook = openpyxl.load_workbook(file_path,data_only=True)
|
44 |
+
except Exception as e:
|
45 |
+
return {
|
46 |
+
'status': False,
|
47 |
+
'message': str(e)
|
48 |
+
}
|
49 |
+
|
50 |
+
helper = {}
|
51 |
+
|
52 |
+
try:
|
53 |
+
for sheet_name in workbook.sheetnames:
|
54 |
+
helper[sheet_name] = {}
|
55 |
+
sheet = workbook[sheet_name]
|
56 |
+
if "net_" in sheet_name:
|
57 |
+
helper[sheet_name]["object_name"] = sheet_name.replace("net_","").split("_")[1].lower().replace(" ","_").replace("-","_").replace(".","_").replace("(","_").replace(")","_")
|
58 |
+
helper[sheet_name]["isTable"] = False
|
59 |
+
helper[sheet_name]["isRelationship"] = True
|
60 |
+
helper[sheet_name]["source"] = "?"
|
61 |
+
helper[sheet_name]["target"] = "?"
|
62 |
+
else:
|
63 |
+
|
64 |
+
is_header_row = True
|
65 |
+
for row in sheet.iter_rows(values_only=True):
|
66 |
+
if is_header_row:
|
67 |
+
helper[sheet_name]["object_name"] = sheet_name.lower().replace(" ","_").replace("-","_").replace(".","_").replace("(","_").replace(")","_")
|
68 |
+
helper[sheet_name]["primary_key"] = "?"
|
69 |
+
helper[sheet_name]["columns"] = {}
|
70 |
+
helper[sheet_name]["isTable"] = True
|
71 |
+
helper[sheet_name]["isRelationship"] = False
|
72 |
+
header_row = row
|
73 |
+
is_header_row = False
|
74 |
+
for column in header_row:
|
75 |
+
if column is not None:
|
76 |
+
helper[sheet_name]["columns"][column.lower().replace(" ","_").replace("-","_").replace(".","_").replace("(","_").replace(")","_")] = "STRING"
|
77 |
+
break
|
78 |
+
|
79 |
+
except Exception as e:
|
80 |
+
return {
|
81 |
+
'status': False,
|
82 |
+
'message': str(e)
|
83 |
+
}
|
84 |
+
|
85 |
+
return helper
|
86 |
+
|
87 |
+
def clean_data(self, df):
|
88 |
+
# reads the data provided in pandas dataframe and cleans missing values.
|
89 |
+
df.replace('N/A', None, inplace=True)
|
90 |
+
df.replace('NA', None, inplace=True)
|
91 |
+
non_none_columns = [col for col in df.columns if col is not None]
|
92 |
+
# Create a new DataFrame containing only columns with non-None names
|
93 |
+
df = df[non_none_columns]
|
94 |
+
return df
|
95 |
+
|
96 |
+
def load_data(self, file_path,helper):
|
97 |
+
|
98 |
+
if not os.path.exists(self.data_dir+"/helpers.json"):
|
99 |
+
with open(self.data_dir+"/helpers.json","w") as f:
|
100 |
+
f.write(json.dumps({}))
|
101 |
+
|
102 |
+
helpers = {}
|
103 |
+
|
104 |
+
with open(self.data_dir+"/helpers.json","r") as f:
|
105 |
+
helpers = json.load(f)
|
106 |
+
|
107 |
+
helpers[file_path] = helper
|
108 |
+
with open(self.data_dir+"/helpers.json","w") as f:
|
109 |
+
f.write(json.dumps(helpers))
|
110 |
+
|
111 |
+
|
112 |
+
try:
|
113 |
+
workbook = openpyxl.load_workbook(file_path,data_only=True)
|
114 |
+
except Exception as e:
|
115 |
+
return {
|
116 |
+
'status': False,
|
117 |
+
'message': str(e)
|
118 |
+
}
|
119 |
+
|
120 |
+
all_data = {}
|
121 |
+
|
122 |
+
try:
|
123 |
+
for sheet_name in workbook.sheetnames:
|
124 |
+
sheet = workbook[sheet_name]
|
125 |
+
sheet_data = []
|
126 |
+
|
127 |
+
is_header_row = True
|
128 |
+
for row in sheet.iter_rows(values_only=True):
|
129 |
+
if is_header_row:
|
130 |
+
header_row = row
|
131 |
+
is_header_row = False
|
132 |
+
continue
|
133 |
+
|
134 |
+
sheet_data.append(dict(zip(header_row, row)))
|
135 |
+
all_data[sheet_name] = sheet_data
|
136 |
+
except Exception as e:
|
137 |
+
return {
|
138 |
+
'status': False,
|
139 |
+
'message': str(e)
|
140 |
+
}
|
141 |
+
|
142 |
+
|
143 |
+
try:
|
144 |
+
for key, value in all_data.items():
|
145 |
+
|
146 |
+
if key not in helper.keys():
|
147 |
+
continue
|
148 |
+
|
149 |
+
if helper[key]["isTable"]:
|
150 |
+
cleaned_data = self.clean_data(pd.DataFrame(value))
|
151 |
+
create_table_response = self.create_tables(helper[key])
|
152 |
+
if create_table_response['status'] == False:
|
153 |
+
return create_table_response
|
154 |
+
|
155 |
+
if not os.path.exists("./tmp"):
|
156 |
+
os.makedirs("./tmp")
|
157 |
+
|
158 |
+
tmp_file_path = f"""./tmp/{str(uuid.uuid4()).replace("-","")}.csv"""
|
159 |
+
cleaned_data.to_csv(tmp_file_path, index=False,header=False)
|
160 |
+
self.ingest_data(helper[key],tmp_file_path)
|
161 |
+
os.remove(tmp_file_path)
|
162 |
+
|
163 |
+
continue
|
164 |
+
except Exception as e:
|
165 |
+
return {
|
166 |
+
'status': False,
|
167 |
+
'message': str(e)
|
168 |
+
}
|
169 |
+
|
170 |
+
try:
|
171 |
+
for key, value in all_data.items():
|
172 |
+
|
173 |
+
if key not in helper.keys():
|
174 |
+
continue
|
175 |
+
|
176 |
+
if helper[key]["isRelationship"] and key in helper.keys():
|
177 |
+
cleaned_data = self.clean_data(pd.DataFrame(value))
|
178 |
+
create_rel_response = self.create_relationships(helper[key])
|
179 |
+
if create_rel_response['status'] == False:
|
180 |
+
return create_rel_response
|
181 |
+
|
182 |
+
if not os.path.exists("./tmp"):
|
183 |
+
os.makedirs("./tmp")
|
184 |
+
|
185 |
+
tmp_file_path = f"""./tmp/{str(uuid.uuid4()).replace("-","")}.csv"""
|
186 |
+
cleaned_data.to_csv(tmp_file_path, index=False,header=False)
|
187 |
+
self.ingest_relationships(helper[key],tmp_file_path)
|
188 |
+
os.remove(tmp_file_path)
|
189 |
+
|
190 |
+
continue
|
191 |
+
except Exception as e:
|
192 |
+
return {
|
193 |
+
'status': False,
|
194 |
+
'message': str(e)
|
195 |
+
}
|
196 |
+
|
197 |
+
return {
|
198 |
+
'status': True,
|
199 |
+
'message': "Data loaded successfully"
|
200 |
+
}
|
201 |
+
|
202 |
+
def create_tables(self, helper):
|
203 |
+
columns = ""
|
204 |
+
logging.info(helper)
|
205 |
+
for key, value in helper["columns"].items():
|
206 |
+
columns += f"{key} {value},"
|
207 |
+
|
208 |
+
columns += f"""PRIMARY KEY ({helper["primary_key"]})"""
|
209 |
+
try:
|
210 |
+
self.k_client.execute(f"""CREATE NODE TABLE {helper["object_name"]}(
|
211 |
+
{columns}
|
212 |
+
)""")
|
213 |
+
except Exception as e:
|
214 |
+
if "already exists" in str(e):
|
215 |
+
return {
|
216 |
+
'status': True,
|
217 |
+
'message': "Table already exists"
|
218 |
+
}
|
219 |
+
|
220 |
+
return {
|
221 |
+
'status': True,
|
222 |
+
'message': "Table created successfully"
|
223 |
+
}
|
224 |
+
|
225 |
+
def create_relationships(self, helper):
|
226 |
+
# CREATE REL TABLE LivesIn(FROM User TO City)
|
227 |
+
try:
|
228 |
+
self.k_client.execute(f"""CREATE REL TABLE {helper["object_name"]}(
|
229 |
+
FROM {helper["source"]} TO {helper["target"]}
|
230 |
+
)""")
|
231 |
+
except Exception as e:
|
232 |
+
if "already exists" in str(e):
|
233 |
+
return {
|
234 |
+
'status': True,
|
235 |
+
'message': "Relationship already exists"
|
236 |
+
}
|
237 |
+
|
238 |
+
return {
|
239 |
+
'status': True,
|
240 |
+
'message': "Relationship created successfully"
|
241 |
+
}
|
242 |
+
|
243 |
+
def ingest_relationships(self,helper,tmp_csv_path):
|
244 |
+
try:
|
245 |
+
self.k_client.execute(f"""COPY {helper["object_name"]} FROM "{tmp_csv_path}" """)
|
246 |
+
return {
|
247 |
+
'status': True,
|
248 |
+
'message': "Relationsip ingested successfully"
|
249 |
+
}
|
250 |
+
except Exception as e:
|
251 |
+
print(str(e))
|
252 |
+
if "COPY commands can only" in str(e):
|
253 |
+
return {
|
254 |
+
'status': True,
|
255 |
+
'message': "Relationship already exists"
|
256 |
+
}
|
257 |
+
|
258 |
+
|
259 |
+
def ingest_data(self,helper,tmp_csv_path):
|
260 |
+
try:
|
261 |
+
self.k_client.execute(f"""COPY {helper["object_name"]} FROM "{tmp_csv_path}" """)
|
262 |
+
return {
|
263 |
+
'status': True,
|
264 |
+
'message': "Data ingested successfully"
|
265 |
+
}
|
266 |
+
except Exception as e:
|
267 |
+
print(str(e))
|
268 |
+
if "COPY commands can only" in str(e):
|
269 |
+
return {
|
270 |
+
'status': True,
|
271 |
+
'message': "Data already exists"
|
272 |
+
}
|
273 |
+
|
274 |
+
|
275 |
+
def get_helper(self):
|
276 |
+
with open(self.data_dir+"/helpers.json","r") as f:
|
277 |
+
return json.load(f)
|
278 |
+
|
279 |
+
def save_query(self,query_name,query):
|
280 |
+
|
281 |
+
if not os.path.exists(self.data_dir+"/queries.json"):
|
282 |
+
with open(self.data_dir+"/queries.json","w") as f:
|
283 |
+
f.write(json.dumps({
|
284 |
+
"sample_query": "MATCH (n) RETURN n LIMIT 10"
|
285 |
+
}))
|
286 |
+
time.sleep(0.5)
|
287 |
+
|
288 |
+
queries = {}
|
289 |
+
with open(self.data_dir+"/queries.json","r") as f:
|
290 |
+
queries = json.load(f)
|
291 |
+
queries[query_name] = query
|
292 |
+
|
293 |
+
with open(self.data_dir+"/queries.json","w") as f:
|
294 |
+
f.write(json.dumps(queries))
|
295 |
+
|
296 |
+
def get_queries(self):
|
297 |
+
|
298 |
+
if not os.path.exists(self.data_dir+"/queries.json"):
|
299 |
+
with open(self.data_dir+"/queries.json","w") as f:
|
300 |
+
f.write(json.dumps({
|
301 |
+
"sample_query": "MATCH (n) RETURN n LIMIT 10"
|
302 |
+
}))
|
303 |
+
|
304 |
+
time.sleep(1)
|
305 |
+
|
306 |
+
with open(self.data_dir+"/queries.json","r") as f:
|
307 |
+
return json.load(f)
|
308 |
+
|
309 |
+
|
310 |
+
def execute_query(self,query):
|
311 |
+
try:
|
312 |
+
results = self.k_client.execute(query)
|
313 |
+
return results.get_as_df()
|
314 |
+
|
315 |
+
except Exception as e:
|
316 |
+
return {
|
317 |
+
'status': False,
|
318 |
+
'message': str(e)
|
319 |
+
}
|
320 |
+
|
321 |
+
def apply_networkx_analysis(self,df:pd.DataFrame,source,target):
|
322 |
+
G = nx.from_pandas_edgelist(df, source=source, target=target)
|
323 |
+
# Calculate the degree of each node
|
324 |
+
degree = dict(nx.degree(G))
|
325 |
+
degree_centrality = nx.degree_centrality(G)
|
326 |
+
closeness_centrality = nx.closeness_centrality(G)
|
327 |
+
betweenness_centrality = nx.betweenness_centrality(G)
|
328 |
+
eigenvector_centrality = nx.eigenvector_centrality(G)
|
329 |
+
clustering = nx.clustering(G)
|
330 |
+
pagerank = nx.pagerank(G)
|
331 |
+
edge_betweenness_centrality = nx.edge_betweenness_centrality(G)
|
332 |
+
|
333 |
+
df['degree'] = df[source].map(degree)
|
334 |
+
df['degree_centrality'] = df[source].map(degree_centrality)
|
335 |
+
df['closeness_centrality'] = df[source].map(closeness_centrality)
|
336 |
+
df['betweenness_centrality'] = df[source].map(betweenness_centrality)
|
337 |
+
df['eigenvector_centrality'] = df[source].map(eigenvector_centrality)
|
338 |
+
df['clustering'] = df[source].map(clustering)
|
339 |
+
df['pagerank'] = df[source].map(pagerank)
|
340 |
+
df['edge_betweenness_centrality'] = df.apply(lambda row: edge_betweenness_centrality.get((row[source], row[target]), np.nan), axis=1)
|
341 |
+
|
342 |
+
return df
|
343 |
+
|
344 |
+
|
345 |
+
def fit_ergm(self,G: nx.DiGraph):
|
346 |
+
num_edges = len(G.edges())
|
347 |
+
|
348 |
+
# Calculate the number of reciprocated edges
|
349 |
+
num_recip_edges = sum((v, u) in G.edges() for u, v in G.edges())
|
350 |
+
|
351 |
+
# Calculate the density
|
352 |
+
density = num_edges / (len(G.nodes()) * (len(G.nodes()) - 1))
|
353 |
+
|
354 |
+
# Calculate the reciprocity
|
355 |
+
reciprocity = num_recip_edges / num_edges if num_edges > 0 else np.nan
|
356 |
+
|
357 |
+
# Calculate the degree distribution
|
358 |
+
degree_dist = dict(G.degree())
|
359 |
+
|
360 |
+
# Calculate the clustering coefficient
|
361 |
+
clustering_coefficient = nx.average_clustering(G)
|
362 |
+
|
363 |
+
# Calculate the transitivity
|
364 |
+
transitivity = nx.transitivity(G)
|
365 |
+
|
366 |
+
summary = {
|
367 |
+
'Density': density,
|
368 |
+
'Reciprocity': reciprocity,
|
369 |
+
'Degree Distribution': degree_dist,
|
370 |
+
'Clustering Coefficient': clustering_coefficient,
|
371 |
+
'Transitivity': transitivity
|
372 |
+
}
|
373 |
+
|
374 |
+
num_params = len(summary)
|
375 |
+
|
376 |
+
num_edges = len(G.edges())
|
377 |
+
n = len(G.nodes())
|
378 |
+
|
379 |
+
# Calculate the log-likelihood
|
380 |
+
log_likelihood = -0.5 * (num_edges * np.log(n * (n - 1)) - num_params)
|
381 |
+
|
382 |
+
# Calculate AIC and BIC
|
383 |
+
aic = -2 * log_likelihood + 2 * num_params
|
384 |
+
bic = -2 * log_likelihood + num_params * np.log(n * (n - 1))
|
385 |
+
|
386 |
+
return {
|
387 |
+
'density': density,
|
388 |
+
'reciprocity': reciprocity,
|
389 |
+
'degree_distribution': degree_dist,
|
390 |
+
'clustering_coefficient': clustering_coefficient,
|
391 |
+
'transitivity': transitivity,
|
392 |
+
'num_edges': num_edges,
|
393 |
+
'num_nodes': n,
|
394 |
+
'log_likelihood': log_likelihood,
|
395 |
+
'aic': aic,
|
396 |
+
'bic': bic
|
397 |
+
}
|
398 |
+
|
399 |
+
|
400 |
+
def apply_ergm(self,df,source,target):
|
401 |
+
G = nx.from_pandas_edgelist(df, source=source, target=target,create_using=nx.DiGraph())
|
402 |
+
observed_ergm_summary = self.fit_ergm(G)
|
403 |
+
|
404 |
+
|
405 |
+
return {
|
406 |
+
'ergm': observed_ergm_summary
|
407 |
+
}
|
408 |
+
|
409 |
+
|
410 |
+
|
411 |
+
|
412 |
+
|
413 |
+
|
414 |
+
|
415 |
+
|
416 |
+
|
417 |
+
|
test.ipynb
ADDED
@@ -0,0 +1,2580 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 3,
|
6 |
+
"metadata": {},
|
7 |
+
"outputs": [],
|
8 |
+
"source": [
|
9 |
+
"import kuzu\n",
|
10 |
+
"import networkx as nx\n",
|
11 |
+
"import matplotlib.pyplot as plt"
|
12 |
+
]
|
13 |
+
},
|
14 |
+
{
|
15 |
+
"cell_type": "code",
|
16 |
+
"execution_count": 4,
|
17 |
+
"metadata": {},
|
18 |
+
"outputs": [],
|
19 |
+
"source": [
|
20 |
+
"db = kuzu.Database(\"/Users/yashpulse/Library/CloudStorage/OneDrive-SwinburneUniversity/Semester 3/COS70008/project/StreamlitAntdComponentsDemo/db/a4bf60cb3ad87a629b9c104f155837ef8470155c07d95e2814357a3816d30a3d_db\")\n",
|
21 |
+
"k_client = kuzu.Connection(db)\n"
|
22 |
+
]
|
23 |
+
},
|
24 |
+
{
|
25 |
+
"cell_type": "code",
|
26 |
+
"execution_count": 33,
|
27 |
+
"metadata": {},
|
28 |
+
"outputs": [
|
29 |
+
{
|
30 |
+
"name": "stdout",
|
31 |
+
"output_type": "stream",
|
32 |
+
"text": [
|
33 |
+
"[32437, 'friends', 32523]\n",
|
34 |
+
"[32437, 'friends', 32420]\n",
|
35 |
+
"[32437, 'friends', 32540]\n",
|
36 |
+
"[32437, 'friends', 32397]\n",
|
37 |
+
"[32437, 'friends', 32432]\n",
|
38 |
+
"[32437, 'friends', 32428]\n",
|
39 |
+
"[32437, 'influential', 32540]\n",
|
40 |
+
"[32437, 'influential', 32420]\n",
|
41 |
+
"[32437, 'influential', 32523]\n",
|
42 |
+
"[32437, 'feedback', 32420]\n",
|
43 |
+
"[32437, 'feedback', 32540]\n",
|
44 |
+
"[32437, 'feedback', 32523]\n",
|
45 |
+
"[32437, 'feedback', 32397]\n",
|
46 |
+
"[32540, 'friends', 32420]\n",
|
47 |
+
"[32540, 'friends', 32409]\n",
|
48 |
+
"[32540, 'friends', 32469]\n",
|
49 |
+
"[32540, 'friends', 32513]\n",
|
50 |
+
"[32540, 'friends', 32517]\n",
|
51 |
+
"[32540, 'friends', 32462]\n",
|
52 |
+
"[32540, 'friends', 32534]\n",
|
53 |
+
"[32540, 'friends', 32546]\n",
|
54 |
+
"[32540, 'friends', 32476]\n",
|
55 |
+
"[32540, 'friends', 32490]\n",
|
56 |
+
"[32540, 'friends', 32528]\n",
|
57 |
+
"[32540, 'friends', 32558]\n",
|
58 |
+
"[32540, 'friends', 32493]\n",
|
59 |
+
"[32540, 'friends', 32565]\n",
|
60 |
+
"[32540, 'friends', 32432]\n",
|
61 |
+
"[32540, 'influential', 32396]\n",
|
62 |
+
"[32540, 'influential', 32485]\n",
|
63 |
+
"[32540, 'influential', 32408]\n",
|
64 |
+
"[32540, 'influential', 32529]\n",
|
65 |
+
"[32540, 'feedback', 32420]\n",
|
66 |
+
"[32540, 'feedback', 32468]\n",
|
67 |
+
"[32540, 'feedback', 32432]\n",
|
68 |
+
"[32540, 'feedback', 32476]\n",
|
69 |
+
"[32540, 'feedback', 32469]\n",
|
70 |
+
"[32540, 'moretime', 32528]\n",
|
71 |
+
"[32540, 'moretime', 32469]\n",
|
72 |
+
"[32540, 'moretime', 32420]\n",
|
73 |
+
"[32540, 'moretime', 32476]\n",
|
74 |
+
"[32540, 'moretime', 32490]\n",
|
75 |
+
"[32540, 'moretime', 32513]\n",
|
76 |
+
"[32540, 'moretime', 32409]\n",
|
77 |
+
"[32540, 'advice', 32420]\n",
|
78 |
+
"[32540, 'advice', 32468]\n",
|
79 |
+
"[32540, 'advice', 32469]\n",
|
80 |
+
"[32540, 'advice', 32409]\n",
|
81 |
+
"[32540, 'advice', 32528]\n",
|
82 |
+
"[32540, 'disrespect', 32485]\n",
|
83 |
+
"[32443, 'friends', 32518]\n",
|
84 |
+
"[32443, 'friends', 32491]\n",
|
85 |
+
"[32443, 'friends', 32544]\n",
|
86 |
+
"[32443, 'friends', 32405]\n",
|
87 |
+
"[32443, 'friends', 32485]\n",
|
88 |
+
"[32443, 'friends', 32393]\n",
|
89 |
+
"[32443, 'friends', 32507]\n",
|
90 |
+
"[32443, 'friends', 32413]\n",
|
91 |
+
"[32443, 'friends', 32411]\n",
|
92 |
+
"[32443, 'friends', 32396]\n",
|
93 |
+
"[32443, 'friends', 32463]\n",
|
94 |
+
"[32443, 'influential', 32443]\n",
|
95 |
+
"[32443, 'influential', 32518]\n",
|
96 |
+
"[32443, 'influential', 32491]\n",
|
97 |
+
"[32443, 'influential', 32405]\n",
|
98 |
+
"[32443, 'feedback', 32518]\n",
|
99 |
+
"[32443, 'feedback', 32491]\n",
|
100 |
+
"[32443, 'moretime', 32439]\n",
|
101 |
+
"[32443, 'moretime', 32491]\n",
|
102 |
+
"[32443, 'moretime', 32535]\n",
|
103 |
+
"[32443, 'moretime', 32518]\n",
|
104 |
+
"[32443, 'moretime', 32396]\n",
|
105 |
+
"[32443, 'advice', 32491]\n",
|
106 |
+
"[32443, 'advice', 32405]\n",
|
107 |
+
"[32443, 'advice', 32544]\n",
|
108 |
+
"[32443, 'disrespect', 32466]\n",
|
109 |
+
"[32514, 'friends', 32477]\n",
|
110 |
+
"[32514, 'friends', 32400]\n",
|
111 |
+
"[32514, 'friends', 32401]\n",
|
112 |
+
"[32514, 'friends', 32478]\n",
|
113 |
+
"[32514, 'friends', 32550]\n",
|
114 |
+
"[32514, 'friends', 32405]\n",
|
115 |
+
"[32514, 'friends', 32418]\n",
|
116 |
+
"[32514, 'friends', 32470]\n",
|
117 |
+
"[32514, 'friends', 32555]\n",
|
118 |
+
"[32514, 'friends', 32544]\n",
|
119 |
+
"[32514, 'friends', 32535]\n",
|
120 |
+
"[32514, 'friends', 32396]\n",
|
121 |
+
"[32514, 'friends', 32508]\n",
|
122 |
+
"[32514, 'friends', 32426]\n",
|
123 |
+
"[32514, 'advice', 32477]\n",
|
124 |
+
"[32514, 'advice', 32401]\n",
|
125 |
+
"[32514, 'advice', 32550]\n",
|
126 |
+
"[32514, 'advice', 32478]\n",
|
127 |
+
"[32514, 'advice', 32400]\n",
|
128 |
+
"[32514, 'advice', 32508]\n",
|
129 |
+
"[32485, 'friends', 32393]\n",
|
130 |
+
"[32485, 'friends', 32544]\n",
|
131 |
+
"[32485, 'friends', 32405]\n",
|
132 |
+
"[32485, 'friends', 32443]\n",
|
133 |
+
"[32485, 'friends', 32525]\n",
|
134 |
+
"[32485, 'friends', 32463]\n",
|
135 |
+
"[32485, 'advice', 32540]\n",
|
136 |
+
"[32485, 'advice', 32517]\n",
|
137 |
+
"[32485, 'advice', 32412]\n",
|
138 |
+
"[32485, 'advice', 32485]\n",
|
139 |
+
"[32436, 'friends', 32422]\n",
|
140 |
+
"[32436, 'friends', 32421]\n",
|
141 |
+
"[32436, 'friends', 32521]\n",
|
142 |
+
"[32436, 'friends', 32504]\n",
|
143 |
+
"[32436, 'friends', 32432]\n",
|
144 |
+
"[32436, 'friends', 32545]\n",
|
145 |
+
"[32436, 'friends', 32522]\n",
|
146 |
+
"[32436, 'influential', 32406]\n",
|
147 |
+
"[32436, 'influential', 32491]\n",
|
148 |
+
"[32436, 'influential', 32408]\n",
|
149 |
+
"[32436, 'influential', 32485]\n",
|
150 |
+
"[32436, 'influential', 32405]\n",
|
151 |
+
"[32436, 'advice', 32521]\n",
|
152 |
+
"[32436, 'advice', 32432]\n",
|
153 |
+
"[32436, 'disrespect', 32455]\n",
|
154 |
+
"[32553, 'friends', 32467]\n",
|
155 |
+
"[32553, 'friends', 32402]\n",
|
156 |
+
"[32553, 'friends', 32534]\n",
|
157 |
+
"[32553, 'friends', 32392]\n",
|
158 |
+
"[32553, 'friends', 32419]\n",
|
159 |
+
"[32553, 'friends', 32544]\n",
|
160 |
+
"[32553, 'friends', 32411]\n",
|
161 |
+
"[32553, 'friends', 32448]\n",
|
162 |
+
"[32553, 'friends', 32473]\n",
|
163 |
+
"[32553, 'friends', 32493]\n",
|
164 |
+
"[32553, 'friends', 32516]\n",
|
165 |
+
"[32553, 'friends', 32541]\n",
|
166 |
+
"[32553, 'feedback', 32540]\n",
|
167 |
+
"[32553, 'feedback', 32468]\n",
|
168 |
+
"[32553, 'advice', 32468]\n",
|
169 |
+
"[32553, 'advice', 32534]\n",
|
170 |
+
"[32553, 'advice', 32402]\n",
|
171 |
+
"[32444, 'friends', 32557]\n",
|
172 |
+
"[32444, 'friends', 32475]\n",
|
173 |
+
"[32444, 'friends', 32500]\n",
|
174 |
+
"[32444, 'friends', 32526]\n",
|
175 |
+
"[32444, 'friends', 32447]\n",
|
176 |
+
"[32444, 'friends', 32448]\n",
|
177 |
+
"[32444, 'feedback', 32448]\n",
|
178 |
+
"[32444, 'moretime', 32500]\n",
|
179 |
+
"[32444, 'advice', 32476]\n",
|
180 |
+
"[32444, 'advice', 32448]\n",
|
181 |
+
"[32444, 'disrespect', 32466]\n",
|
182 |
+
"[32444, 'disrespect', 32405]\n",
|
183 |
+
"[32428, 'friends', 32479]\n",
|
184 |
+
"[32428, 'friends', 32475]\n",
|
185 |
+
"[32428, 'friends', 32448]\n",
|
186 |
+
"[32428, 'influential', 32406]\n",
|
187 |
+
"[32428, 'influential', 32491]\n",
|
188 |
+
"[32428, 'influential', 32408]\n",
|
189 |
+
"[32428, 'influential', 32516]\n",
|
190 |
+
"[32428, 'feedback', 32420]\n",
|
191 |
+
"[32428, 'disrespect', 32466]\n",
|
192 |
+
"[32428, 'disrespect', 32459]\n",
|
193 |
+
"[32494, 'friends', 32495]\n",
|
194 |
+
"[32494, 'friends', 32395]\n",
|
195 |
+
"[32494, 'friends', 32454]\n",
|
196 |
+
"[32494, 'friends', 32512]\n",
|
197 |
+
"[32494, 'friends', 32419]\n",
|
198 |
+
"[32484, 'friends', 32452]\n",
|
199 |
+
"[32484, 'friends', 32442]\n",
|
200 |
+
"[32484, 'friends', 32419]\n",
|
201 |
+
"[32484, 'influential', 32540]\n",
|
202 |
+
"[32484, 'influential', 32397]\n",
|
203 |
+
"[32484, 'feedback', 32442]\n",
|
204 |
+
"[32484, 'moretime', 32442]\n",
|
205 |
+
"[32484, 'moretime', 32419]\n",
|
206 |
+
"[32484, 'advice', 32442]\n",
|
207 |
+
"[32484, 'disrespect', 32406]\n",
|
208 |
+
"[32541, 'friends', 32447]\n",
|
209 |
+
"[32541, 'friends', 32408]\n",
|
210 |
+
"[32541, 'friends', 32413]\n",
|
211 |
+
"[32541, 'friends', 32448]\n",
|
212 |
+
"[32541, 'friends', 32405]\n",
|
213 |
+
"[32541, 'friends', 32529]\n",
|
214 |
+
"[32541, 'friends', 32487]\n",
|
215 |
+
"[32541, 'friends', 32491]\n",
|
216 |
+
"[32541, 'friends', 32516]\n",
|
217 |
+
"[32541, 'friends', 32473]\n",
|
218 |
+
"[32541, 'friends', 32499]\n",
|
219 |
+
"[32541, 'friends', 32440]\n",
|
220 |
+
"[32541, 'friends', 32495]\n",
|
221 |
+
"[32541, 'friends', 32550]\n",
|
222 |
+
"[32541, 'friends', 32444]\n",
|
223 |
+
"[32541, 'friends', 32514]\n",
|
224 |
+
"[32541, 'friends', 32477]\n",
|
225 |
+
"[32541, 'advice', 32448]\n",
|
226 |
+
"[32445, 'friends', 32498]\n",
|
227 |
+
"[32445, 'friends', 32404]\n",
|
228 |
+
"[32445, 'friends', 32487]\n",
|
229 |
+
"[32445, 'friends', 32415]\n",
|
230 |
+
"[32445, 'friends', 32421]\n",
|
231 |
+
"[32445, 'influential', 32540]\n",
|
232 |
+
"[32445, 'feedback', 32498]\n",
|
233 |
+
"[32445, 'feedback', 32487]\n",
|
234 |
+
"[32445, 'feedback', 32404]\n",
|
235 |
+
"[32445, 'moretime', 32498]\n",
|
236 |
+
"[32445, 'moretime', 32487]\n",
|
237 |
+
"[32445, 'moretime', 32404]\n",
|
238 |
+
"[32445, 'moretime', 32415]\n",
|
239 |
+
"[32445, 'moretime', 32421]\n",
|
240 |
+
"[32445, 'advice', 32498]\n",
|
241 |
+
"[32445, 'advice', 32487]\n",
|
242 |
+
"[32445, 'advice', 32404]\n",
|
243 |
+
"[32445, 'disrespect', 32466]\n",
|
244 |
+
"[32445, 'disrespect', 32500]\n",
|
245 |
+
"[32445, 'disrespect', 32561]\n",
|
246 |
+
"[32470, 'friends', 32477]\n",
|
247 |
+
"[32470, 'friends', 32431]\n",
|
248 |
+
"[32470, 'friends', 32514]\n",
|
249 |
+
"[32470, 'friends', 32535]\n",
|
250 |
+
"[32470, 'friends', 32555]\n",
|
251 |
+
"[32470, 'friends', 32418]\n",
|
252 |
+
"[32470, 'friends', 32478]\n",
|
253 |
+
"[32470, 'friends', 32426]\n",
|
254 |
+
"[32470, 'friends', 32508]\n",
|
255 |
+
"[32470, 'friends', 32400]\n",
|
256 |
+
"[32470, 'friends', 32466]\n",
|
257 |
+
"[32470, 'friends', 32401]\n",
|
258 |
+
"[32470, 'friends', 32396]\n",
|
259 |
+
"[32470, 'friends', 32507]\n",
|
260 |
+
"[32470, 'friends', 32459]\n",
|
261 |
+
"[32470, 'influential', 32477]\n",
|
262 |
+
"[32470, 'feedback', 32477]\n",
|
263 |
+
"[32470, 'advice', 32477]\n",
|
264 |
+
"[32395, 'friends', 32454]\n",
|
265 |
+
"[32395, 'friends', 32494]\n",
|
266 |
+
"[32395, 'friends', 32475]\n",
|
267 |
+
"[32395, 'friends', 32528]\n",
|
268 |
+
"[32395, 'friends', 32415]\n",
|
269 |
+
"[32395, 'feedback', 32494]\n",
|
270 |
+
"[32395, 'feedback', 32475]\n",
|
271 |
+
"[32395, 'moretime', 32415]\n",
|
272 |
+
"[32395, 'advice', 32494]\n",
|
273 |
+
"[32531, 'friends', 32521]\n",
|
274 |
+
"[32531, 'friends', 32538]\n",
|
275 |
+
"[32531, 'friends', 32458]\n",
|
276 |
+
"[32531, 'friends', 32460]\n",
|
277 |
+
"[32531, 'friends', 32562]\n",
|
278 |
+
"[32531, 'friends', 32554]\n",
|
279 |
+
"[32531, 'friends', 32563]\n",
|
280 |
+
"[32531, 'friends', 32395]\n",
|
281 |
+
"[32531, 'influential', 32460]\n",
|
282 |
+
"[32531, 'feedback', 32562]\n",
|
283 |
+
"[32531, 'feedback', 32460]\n",
|
284 |
+
"[32531, 'moretime', 32458]\n",
|
285 |
+
"[32531, 'moretime', 32538]\n",
|
286 |
+
"[32531, 'moretime', 32554]\n",
|
287 |
+
"[32531, 'moretime', 32521]\n",
|
288 |
+
"[32531, 'moretime', 32460]\n",
|
289 |
+
"[32531, 'advice', 32562]\n",
|
290 |
+
"[32531, 'advice', 32554]\n",
|
291 |
+
"[32440, 'friends', 32430]\n",
|
292 |
+
"[32440, 'friends', 32409]\n",
|
293 |
+
"[32440, 'friends', 32414]\n",
|
294 |
+
"[32440, 'friends', 32499]\n",
|
295 |
+
"[32440, 'friends', 32408]\n",
|
296 |
+
"[32440, 'friends', 32517]\n",
|
297 |
+
"[32440, 'friends', 32469]\n",
|
298 |
+
"[32440, 'friends', 32513]\n",
|
299 |
+
"[32440, 'friends', 32462]\n",
|
300 |
+
"[32440, 'friends', 32540]\n",
|
301 |
+
"[32440, 'friends', 32391]\n",
|
302 |
+
"[32440, 'friends', 32420]\n",
|
303 |
+
"[32440, 'friends', 32546]\n",
|
304 |
+
"[32440, 'friends', 32519]\n",
|
305 |
+
"[32440, 'friends', 32433]\n",
|
306 |
+
"[32440, 'influential', 32535]\n",
|
307 |
+
"[32440, 'influential', 32396]\n",
|
308 |
+
"[32440, 'influential', 32393]\n",
|
309 |
+
"[32440, 'feedback', 32549]\n",
|
310 |
+
"[32440, 'feedback', 32409]\n",
|
311 |
+
"[32440, 'feedback', 32540]\n",
|
312 |
+
"[32440, 'moretime', 32430]\n",
|
313 |
+
"[32440, 'moretime', 32409]\n",
|
314 |
+
"[32440, 'moretime', 32420]\n",
|
315 |
+
"[32440, 'moretime', 32540]\n",
|
316 |
+
"[32440, 'moretime', 32433]\n",
|
317 |
+
"[32440, 'moretime', 32549]\n",
|
318 |
+
"[32440, 'moretime', 32410]\n",
|
319 |
+
"[32440, 'moretime', 32489]\n",
|
320 |
+
"[32440, 'advice', 32540]\n",
|
321 |
+
"[32440, 'advice', 32420]\n",
|
322 |
+
"[32440, 'advice', 32517]\n",
|
323 |
+
"[32440, 'advice', 32409]\n",
|
324 |
+
"[32440, 'advice', 32432]\n",
|
325 |
+
"[32440, 'advice', 32469]\n",
|
326 |
+
"[32440, 'advice', 32446]\n",
|
327 |
+
"[32440, 'advice', 32437]\n",
|
328 |
+
"[32440, 'disrespect', 32535]\n",
|
329 |
+
"[32440, 'disrespect', 32466]\n",
|
330 |
+
"[32440, 'disrespect', 32500]\n",
|
331 |
+
"[32440, 'disrespect', 32401]\n",
|
332 |
+
"[32550, 'friends', 32408]\n",
|
333 |
+
"[32550, 'friends', 32477]\n",
|
334 |
+
"[32550, 'feedback', 32440]\n",
|
335 |
+
"[32550, 'moretime', 32408]\n",
|
336 |
+
"[32550, 'advice', 32478]\n",
|
337 |
+
"[32511, 'friends', 32536]\n",
|
338 |
+
"[32511, 'friends', 32524]\n",
|
339 |
+
"[32511, 'friends', 32450]\n",
|
340 |
+
"[32511, 'friends', 32482]\n",
|
341 |
+
"[32511, 'friends', 32506]\n",
|
342 |
+
"[32511, 'friends', 32481]\n",
|
343 |
+
"[32511, 'influential', 32396]\n",
|
344 |
+
"[32511, 'moretime', 32524]\n",
|
345 |
+
"[32511, 'moretime', 32536]\n",
|
346 |
+
"[32511, 'moretime', 32450]\n",
|
347 |
+
"[32511, 'moretime', 32482]\n",
|
348 |
+
"[32511, 'moretime', 32506]\n",
|
349 |
+
"[32511, 'moretime', 32481]\n",
|
350 |
+
"[32511, 'advice', 32524]\n",
|
351 |
+
"[32556, 'friends', 32402]\n",
|
352 |
+
"[32556, 'friends', 32565]\n",
|
353 |
+
"[32556, 'friends', 32520]\n",
|
354 |
+
"[32556, 'friends', 32398]\n",
|
355 |
+
"[32556, 'friends', 32448]\n",
|
356 |
+
"[32556, 'influential', 32425]\n",
|
357 |
+
"[32556, 'influential', 32443]\n",
|
358 |
+
"[32556, 'influential', 32406]\n",
|
359 |
+
"[32556, 'feedback', 32565]\n",
|
360 |
+
"[32556, 'feedback', 32402]\n",
|
361 |
+
"[32556, 'moretime', 32565]\n",
|
362 |
+
"[32556, 'moretime', 32402]\n",
|
363 |
+
"[32556, 'moretime', 32520]\n",
|
364 |
+
"[32556, 'moretime', 32559]\n",
|
365 |
+
"[32556, 'moretime', 32398]\n",
|
366 |
+
"[32556, 'advice', 32448]\n",
|
367 |
+
"[32556, 'disrespect', 32415]\n",
|
368 |
+
"[32556, 'disrespect', 32421]\n",
|
369 |
+
"[32556, 'disrespect', 32441]\n",
|
370 |
+
"[32556, 'disrespect', 32564]\n",
|
371 |
+
"[32556, 'disrespect', 32547]\n",
|
372 |
+
"[32556, 'disrespect', 32425]\n",
|
373 |
+
"[32556, 'disrespect', 32449]\n",
|
374 |
+
"[32549, 'friends', 32551]\n",
|
375 |
+
"[32549, 'friends', 32431]\n",
|
376 |
+
"[32549, 'friends', 32464]\n",
|
377 |
+
"[32549, 'friends', 32440]\n",
|
378 |
+
"[32549, 'friends', 32554]\n",
|
379 |
+
"[32549, 'friends', 32425]\n",
|
380 |
+
"[32549, 'friends', 32486]\n",
|
381 |
+
"[32549, 'influential', 32431]\n",
|
382 |
+
"[32549, 'influential', 32554]\n",
|
383 |
+
"[32549, 'influential', 32440]\n",
|
384 |
+
"[32549, 'feedback', 32551]\n",
|
385 |
+
"[32549, 'feedback', 32554]\n",
|
386 |
+
"[32549, 'feedback', 32464]\n",
|
387 |
+
"[32549, 'feedback', 32502]\n",
|
388 |
+
"[32549, 'moretime', 32551]\n",
|
389 |
+
"[32549, 'moretime', 32440]\n",
|
390 |
+
"[32549, 'moretime', 32431]\n",
|
391 |
+
"[32549, 'moretime', 32425]\n",
|
392 |
+
"[32549, 'moretime', 32554]\n",
|
393 |
+
"[32549, 'moretime', 32529]\n",
|
394 |
+
"[32549, 'moretime', 32487]\n",
|
395 |
+
"[32549, 'moretime', 32464]\n",
|
396 |
+
"[32549, 'advice', 32551]\n",
|
397 |
+
"[32549, 'advice', 32431]\n",
|
398 |
+
"[32549, 'advice', 32464]\n",
|
399 |
+
"[32549, 'advice', 32554]\n",
|
400 |
+
"[32400, 'friends', 32478]\n",
|
401 |
+
"[32400, 'friends', 32514]\n",
|
402 |
+
"[32400, 'friends', 32477]\n",
|
403 |
+
"[32400, 'friends', 32405]\n",
|
404 |
+
"[32400, 'friends', 32396]\n",
|
405 |
+
"[32400, 'friends', 32401]\n",
|
406 |
+
"[32400, 'friends', 32550]\n",
|
407 |
+
"[32400, 'friends', 32443]\n",
|
408 |
+
"[32400, 'friends', 32485]\n",
|
409 |
+
"[32400, 'friends', 32418]\n",
|
410 |
+
"[32400, 'friends', 32463]\n",
|
411 |
+
"[32400, 'friends', 32544]\n",
|
412 |
+
"[32400, 'friends', 32426]\n",
|
413 |
+
"[32400, 'friends', 32491]\n",
|
414 |
+
"[32400, 'friends', 32515]\n",
|
415 |
+
"[32400, 'friends', 32462]\n",
|
416 |
+
"[32400, 'friends', 32529]\n",
|
417 |
+
"[32400, 'friends', 32393]\n",
|
418 |
+
"[32400, 'friends', 32470]\n",
|
419 |
+
"[32400, 'friends', 32508]\n",
|
420 |
+
"[32400, 'friends', 32555]\n",
|
421 |
+
"[32400, 'friends', 32459]\n",
|
422 |
+
"[32400, 'feedback', 32478]\n",
|
423 |
+
"[32400, 'feedback', 32514]\n",
|
424 |
+
"[32400, 'feedback', 32477]\n",
|
425 |
+
"[32400, 'feedback', 32550]\n",
|
426 |
+
"[32400, 'feedback', 32401]\n",
|
427 |
+
"[32400, 'advice', 32478]\n",
|
428 |
+
"[32400, 'advice', 32514]\n",
|
429 |
+
"[32505, 'friends', 32462]\n",
|
430 |
+
"[32505, 'friends', 32558]\n",
|
431 |
+
"[32505, 'friends', 32515]\n",
|
432 |
+
"[32505, 'moretime', 32558]\n",
|
433 |
+
"[32417, 'friends', 32396]\n",
|
434 |
+
"[32417, 'friends', 32508]\n",
|
435 |
+
"[32417, 'friends', 32507]\n",
|
436 |
+
"[32417, 'influential', 32396]\n",
|
437 |
+
"[32417, 'influential', 32507]\n",
|
438 |
+
"[32417, 'influential', 32393]\n",
|
439 |
+
"[32417, 'moretime', 32396]\n",
|
440 |
+
"[32417, 'moretime', 32508]\n",
|
441 |
+
"[32417, 'moretime', 32507]\n",
|
442 |
+
"[32478, 'friends', 32405]\n",
|
443 |
+
"[32478, 'friends', 32463]\n",
|
444 |
+
"[32478, 'friends', 32400]\n",
|
445 |
+
"[32478, 'friends', 32535]\n",
|
446 |
+
"[32478, 'friends', 32443]\n",
|
447 |
+
"[32478, 'friends', 32393]\n",
|
448 |
+
"[32478, 'friends', 32514]\n",
|
449 |
+
"[32478, 'friends', 32401]\n",
|
450 |
+
"[32478, 'friends', 32550]\n",
|
451 |
+
"[32478, 'friends', 32485]\n",
|
452 |
+
"[32478, 'friends', 32418]\n",
|
453 |
+
"[32478, 'friends', 32491]\n",
|
454 |
+
"[32478, 'friends', 32544]\n",
|
455 |
+
"[32478, 'friends', 32529]\n",
|
456 |
+
"[32478, 'friends', 32408]\n",
|
457 |
+
"[32478, 'friends', 32470]\n",
|
458 |
+
"[32478, 'friends', 32508]\n",
|
459 |
+
"[32478, 'friends', 32555]\n",
|
460 |
+
"[32478, 'friends', 32459]\n",
|
461 |
+
"[32478, 'friends', 32411]\n",
|
462 |
+
"[32478, 'influential', 32405]\n",
|
463 |
+
"[32478, 'feedback', 32459]\n",
|
464 |
+
"[32478, 'moretime', 32426]\n",
|
465 |
+
"[32478, 'moretime', 32396]\n",
|
466 |
+
"[32478, 'moretime', 32413]\n",
|
467 |
+
"[32478, 'moretime', 32467]\n",
|
468 |
+
"[32478, 'moretime', 32408]\n",
|
469 |
+
"[32478, 'advice', 32508]\n",
|
470 |
+
"[32478, 'advice', 32514]\n",
|
471 |
+
"[32478, 'advice', 32459]\n",
|
472 |
+
"[32477, 'friends', 32514]\n",
|
473 |
+
"[32477, 'friends', 32401]\n",
|
474 |
+
"[32477, 'friends', 32396]\n",
|
475 |
+
"[32477, 'friends', 32400]\n",
|
476 |
+
"[32477, 'friends', 32544]\n",
|
477 |
+
"[32477, 'friends', 32408]\n",
|
478 |
+
"[32477, 'friends', 32405]\n",
|
479 |
+
"[32477, 'friends', 32508]\n",
|
480 |
+
"[32477, 'friends', 32418]\n",
|
481 |
+
"[32477, 'friends', 32470]\n",
|
482 |
+
"[32477, 'friends', 32535]\n",
|
483 |
+
"[32477, 'friends', 32431]\n",
|
484 |
+
"[32477, 'friends', 32426]\n",
|
485 |
+
"[32477, 'friends', 32550]\n",
|
486 |
+
"[32477, 'advice', 32401]\n",
|
487 |
+
"[32477, 'advice', 32470]\n",
|
488 |
+
"[32474, 'friends', 32413]\n",
|
489 |
+
"[32474, 'friends', 32408]\n",
|
490 |
+
"[32474, 'friends', 32499]\n",
|
491 |
+
"[32474, 'friends', 32529]\n",
|
492 |
+
"[32474, 'friends', 32406]\n",
|
493 |
+
"[32474, 'influential', 32405]\n",
|
494 |
+
"[32474, 'influential', 32544]\n",
|
495 |
+
"[32474, 'influential', 32507]\n",
|
496 |
+
"[32474, 'influential', 32396]\n",
|
497 |
+
"[32474, 'influential', 32393]\n",
|
498 |
+
"[32474, 'feedback', 32408]\n",
|
499 |
+
"[32474, 'moretime', 32413]\n",
|
500 |
+
"[32474, 'advice', 32408]\n",
|
501 |
+
"[32474, 'advice', 32499]\n",
|
502 |
+
"[32474, 'advice', 32478]\n",
|
503 |
+
"[32474, 'advice', 32448]\n",
|
504 |
+
"[32493, 'friends', 32448]\n",
|
505 |
+
"[32493, 'friends', 32473]\n",
|
506 |
+
"[32493, 'feedback', 32448]\n",
|
507 |
+
"[32493, 'advice', 32501]\n",
|
508 |
+
"[32493, 'advice', 32448]\n",
|
509 |
+
"[32413, 'friends', 32474]\n",
|
510 |
+
"[32413, 'friends', 32405]\n",
|
511 |
+
"[32413, 'friends', 32408]\n",
|
512 |
+
"[32413, 'friends', 32393]\n",
|
513 |
+
"[32413, 'friends', 32485]\n",
|
514 |
+
"[32413, 'friends', 32467]\n",
|
515 |
+
"[32413, 'influential', 32405]\n",
|
516 |
+
"[32413, 'influential', 32544]\n",
|
517 |
+
"[32413, 'influential', 32396]\n",
|
518 |
+
"[32413, 'influential', 32507]\n",
|
519 |
+
"[32413, 'influential', 32393]\n",
|
520 |
+
"[32413, 'feedback', 32408]\n",
|
521 |
+
"[32413, 'moretime', 32474]\n",
|
522 |
+
"[32413, 'moretime', 32478]\n",
|
523 |
+
"[32413, 'advice', 32408]\n",
|
524 |
+
"[32413, 'advice', 32467]\n",
|
525 |
+
"[32413, 'advice', 32471]\n",
|
526 |
+
"[32413, 'advice', 32448]\n",
|
527 |
+
"[32459, 'friends', 32401]\n",
|
528 |
+
"[32459, 'friends', 32477]\n",
|
529 |
+
"[32459, 'friends', 32478]\n",
|
530 |
+
"[32459, 'friends', 32555]\n",
|
531 |
+
"[32459, 'friends', 32411]\n",
|
532 |
+
"[32459, 'friends', 32460]\n",
|
533 |
+
"[32459, 'friends', 32458]\n",
|
534 |
+
"[32459, 'friends', 32553]\n",
|
535 |
+
"[32459, 'influential', 32544]\n",
|
536 |
+
"[32459, 'influential', 32485]\n",
|
537 |
+
"[32459, 'influential', 32443]\n",
|
538 |
+
"[32459, 'feedback', 32478]\n",
|
539 |
+
"[32459, 'feedback', 32553]\n",
|
540 |
+
"[32459, 'feedback', 32477]\n",
|
541 |
+
"[32459, 'feedback', 32401]\n",
|
542 |
+
"[32459, 'moretime', 32401]\n",
|
543 |
+
"[32459, 'moretime', 32477]\n",
|
544 |
+
"[32459, 'moretime', 32478]\n",
|
545 |
+
"[32459, 'moretime', 32411]\n",
|
546 |
+
"[32459, 'advice', 32478]\n",
|
547 |
+
"[32459, 'advice', 32555]\n",
|
548 |
+
"[32459, 'advice', 32411]\n",
|
549 |
+
"[32459, 'advice', 32460]\n",
|
550 |
+
"[32459, 'advice', 32553]\n",
|
551 |
+
"[32459, 'disrespect', 32443]\n",
|
552 |
+
"[32459, 'disrespect', 32544]\n",
|
553 |
+
"[32534, 'friends', 32408]\n",
|
554 |
+
"[32534, 'friends', 32463]\n",
|
555 |
+
"[32534, 'friends', 32468]\n",
|
556 |
+
"[32534, 'friends', 32550]\n",
|
557 |
+
"[32534, 'friends', 32541]\n",
|
558 |
+
"[32534, 'friends', 32467]\n",
|
559 |
+
"[32534, 'friends', 32499]\n",
|
560 |
+
"[32534, 'friends', 32406]\n",
|
561 |
+
"[32534, 'friends', 32553]\n",
|
562 |
+
"[32534, 'friends', 32413]\n",
|
563 |
+
"[32534, 'friends', 32478]\n",
|
564 |
+
"[32534, 'friends', 32540]\n",
|
565 |
+
"[32534, 'friends', 32405]\n",
|
566 |
+
"[32534, 'friends', 32409]\n",
|
567 |
+
"[32534, 'friends', 32529]\n",
|
568 |
+
"[32534, 'friends', 32551]\n",
|
569 |
+
"[32534, 'friends', 32431]\n",
|
570 |
+
"[32534, 'friends', 32392]\n",
|
571 |
+
"[32534, 'friends', 32474]\n",
|
572 |
+
"[32534, 'friends', 32440]\n",
|
573 |
+
"[32534, 'friends', 32418]\n",
|
574 |
+
"[32534, 'friends', 32426]\n",
|
575 |
+
"[32534, 'friends', 32393]\n",
|
576 |
+
"[32534, 'feedback', 32540]\n",
|
577 |
+
"[32534, 'moretime', 32418]\n",
|
578 |
+
"[32534, 'moretime', 32426]\n",
|
579 |
+
"[32534, 'moretime', 32535]\n",
|
580 |
+
"[32534, 'advice', 32540]\n",
|
581 |
+
"[32534, 'advice', 32468]\n",
|
582 |
+
"[32534, 'advice', 32440]\n",
|
583 |
+
"[32527, 'friends', 32420]\n",
|
584 |
+
"[32527, 'friends', 32435]\n",
|
585 |
+
"[32527, 'influential', 32420]\n",
|
586 |
+
"[32527, 'moretime', 32420]\n",
|
587 |
+
"[32527, 'moretime', 32410]\n",
|
588 |
+
"[32527, 'advice', 32435]\n",
|
589 |
+
"[32532, 'friends', 32392]\n",
|
590 |
+
"[32532, 'friends', 32554]\n",
|
591 |
+
"[32532, 'friends', 32522]\n",
|
592 |
+
"[32532, 'friends', 32565]\n",
|
593 |
+
"[32532, 'friends', 32532]\n",
|
594 |
+
"[32532, 'influential', 32420]\n",
|
595 |
+
"[32532, 'influential', 32540]\n",
|
596 |
+
"[32532, 'moretime', 32565]\n",
|
597 |
+
"[32532, 'moretime', 32402]\n",
|
598 |
+
"[32532, 'advice', 32392]\n",
|
599 |
+
"[32532, 'advice', 32554]\n",
|
600 |
+
"[32532, 'advice', 32522]\n",
|
601 |
+
"[32399, 'friends', 32529]\n",
|
602 |
+
"[32399, 'friends', 32420]\n",
|
603 |
+
"[32399, 'friends', 32432]\n",
|
604 |
+
"[32399, 'friends', 32425]\n",
|
605 |
+
"[32399, 'friends', 32551]\n",
|
606 |
+
"[32399, 'friends', 32443]\n",
|
607 |
+
"[32399, 'friends', 32468]\n",
|
608 |
+
"[32399, 'friends', 32499]\n",
|
609 |
+
"[32399, 'friends', 32525]\n",
|
610 |
+
"[32399, 'friends', 32523]\n",
|
611 |
+
"[32399, 'friends', 32435]\n",
|
612 |
+
"[32399, 'friends', 32409]\n",
|
613 |
+
"[32399, 'friends', 32413]\n",
|
614 |
+
"[32399, 'friends', 32459]\n",
|
615 |
+
"[32399, 'friends', 32406]\n",
|
616 |
+
"[32399, 'influential', 32443]\n",
|
617 |
+
"[32399, 'influential', 32525]\n",
|
618 |
+
"[32399, 'influential', 32540]\n",
|
619 |
+
"[32399, 'influential', 32507]\n",
|
620 |
+
"[32399, 'influential', 32544]\n",
|
621 |
+
"[32399, 'influential', 32405]\n",
|
622 |
+
"[32399, 'influential', 32406]\n",
|
623 |
+
"[32399, 'feedback', 32499]\n",
|
624 |
+
"[32399, 'feedback', 32468]\n",
|
625 |
+
"[32399, 'moretime', 32551]\n",
|
626 |
+
"[32399, 'moretime', 32432]\n",
|
627 |
+
"[32399, 'moretime', 32529]\n",
|
628 |
+
"[32399, 'moretime', 32492]\n",
|
629 |
+
"[32399, 'moretime', 32443]\n",
|
630 |
+
"[32399, 'moretime', 32523]\n",
|
631 |
+
"[32399, 'advice', 32499]\n",
|
632 |
+
"[32399, 'advice', 32468]\n",
|
633 |
+
"[32399, 'advice', 32420]\n",
|
634 |
+
"[32399, 'advice', 32432]\n",
|
635 |
+
"[32409, 'friends', 32512]\n",
|
636 |
+
"[32409, 'friends', 32495]\n",
|
637 |
+
"[32409, 'friends', 32420]\n",
|
638 |
+
"[32409, 'friends', 32462]\n",
|
639 |
+
"[32409, 'friends', 32513]\n",
|
640 |
+
"[32409, 'friends', 32517]\n",
|
641 |
+
"[32409, 'friends', 32540]\n",
|
642 |
+
"[32409, 'friends', 32546]\n",
|
643 |
+
"[32409, 'friends', 32469]\n",
|
644 |
+
"[32409, 'friends', 32446]\n",
|
645 |
+
"[32409, 'friends', 32501]\n",
|
646 |
+
"[32409, 'friends', 32432]\n",
|
647 |
+
"[32409, 'friends', 32436]\n",
|
648 |
+
"[32409, 'friends', 32409]\n",
|
649 |
+
"[32409, 'friends', 32435]\n",
|
650 |
+
"[32409, 'friends', 32414]\n",
|
651 |
+
"[32409, 'friends', 32395]\n",
|
652 |
+
"[32409, 'friends', 32399]\n",
|
653 |
+
"[32409, 'friends', 32528]\n",
|
654 |
+
"[32409, 'friends', 32428]\n",
|
655 |
+
"[32409, 'friends', 32526]\n",
|
656 |
+
"[32409, 'friends', 32493]\n",
|
657 |
+
"[32409, 'friends', 32397]\n",
|
658 |
+
"[32409, 'friends', 32534]\n",
|
659 |
+
"[32409, 'friends', 32499]\n",
|
660 |
+
"[32409, 'friends', 32408]\n",
|
661 |
+
"[32409, 'friends', 32421]\n",
|
662 |
+
"[32409, 'friends', 32422]\n",
|
663 |
+
"[32409, 'friends', 32523]\n",
|
664 |
+
"[32409, 'friends', 32529]\n",
|
665 |
+
"[32409, 'friends', 32440]\n",
|
666 |
+
"[32409, 'friends', 32516]\n",
|
667 |
+
"[32409, 'friends', 32556]\n",
|
668 |
+
"[32409, 'friends', 32479]\n",
|
669 |
+
"[32409, 'friends', 32437]\n",
|
670 |
+
"[32409, 'influential', 32420]\n",
|
671 |
+
"[32409, 'influential', 32540]\n",
|
672 |
+
"[32409, 'influential', 32409]\n",
|
673 |
+
"[32409, 'feedback', 32420]\n",
|
674 |
+
"[32409, 'moretime', 32440]\n",
|
675 |
+
"[32409, 'moretime', 32540]\n",
|
676 |
+
"[32409, 'moretime', 32462]\n",
|
677 |
+
"[32409, 'moretime', 32513]\n",
|
678 |
+
"[32409, 'advice', 32420]\n",
|
679 |
+
"[32409, 'advice', 32540]\n",
|
680 |
+
"[32475, 'friends', 32397]\n",
|
681 |
+
"[32475, 'friends', 32428]\n",
|
682 |
+
"[32475, 'friends', 32432]\n",
|
683 |
+
"[32475, 'influential', 32448]\n",
|
684 |
+
"[32475, 'influential', 32420]\n",
|
685 |
+
"[32475, 'moretime', 32420]\n",
|
686 |
+
"[32475, 'moretime', 32479]\n",
|
687 |
+
"[32475, 'advice', 32420]\n",
|
688 |
+
"[32475, 'advice', 32432]\n",
|
689 |
+
"[32462, 'friends', 32456]\n",
|
690 |
+
"[32462, 'friends', 32517]\n",
|
691 |
+
"[32462, 'friends', 32513]\n",
|
692 |
+
"[32462, 'friends', 32460]\n",
|
693 |
+
"[32462, 'friends', 32409]\n",
|
694 |
+
"[32462, 'influential', 32513]\n",
|
695 |
+
"[32462, 'influential', 32540]\n",
|
696 |
+
"[32462, 'influential', 32517]\n",
|
697 |
+
"[32462, 'influential', 32456]\n",
|
698 |
+
"[32462, 'influential', 32535]\n",
|
699 |
+
"[32462, 'feedback', 32513]\n",
|
700 |
+
"[32462, 'feedback', 32550]\n",
|
701 |
+
"[32462, 'feedback', 32456]\n",
|
702 |
+
"[32462, 'moretime', 32513]\n",
|
703 |
+
"[32462, 'moretime', 32456]\n",
|
704 |
+
"[32462, 'moretime', 32517]\n",
|
705 |
+
"[32462, 'moretime', 32409]\n",
|
706 |
+
"[32462, 'advice', 32517]\n",
|
707 |
+
"[32462, 'advice', 32456]\n",
|
708 |
+
"[32498, 'friends', 32543]\n",
|
709 |
+
"[32498, 'friends', 32445]\n",
|
710 |
+
"[32498, 'friends', 32555]\n",
|
711 |
+
"[32498, 'friends', 32415]\n",
|
712 |
+
"[32498, 'friends', 32451]\n",
|
713 |
+
"[32498, 'friends', 32427]\n",
|
714 |
+
"[32498, 'friends', 32487]\n",
|
715 |
+
"[32498, 'friends', 32488]\n",
|
716 |
+
"[32498, 'friends', 32502]\n",
|
717 |
+
"[32498, 'friends', 32433]\n",
|
718 |
+
"[32498, 'friends', 32533]\n",
|
719 |
+
"[32498, 'influential', 32488]\n",
|
720 |
+
"[32498, 'influential', 32433]\n",
|
721 |
+
"[32498, 'influential', 32533]\n",
|
722 |
+
"[32498, 'feedback', 32433]\n",
|
723 |
+
"[32498, 'moretime', 32445]\n",
|
724 |
+
"[32498, 'moretime', 32555]\n",
|
725 |
+
"[32498, 'moretime', 32488]\n",
|
726 |
+
"[32498, 'moretime', 32543]\n",
|
727 |
+
"[32498, 'moretime', 32433]\n",
|
728 |
+
"[32498, 'moretime', 32533]\n",
|
729 |
+
"[32498, 'advice', 32543]\n",
|
730 |
+
"[32498, 'advice', 32433]\n",
|
731 |
+
"[32498, 'advice', 32488]\n",
|
732 |
+
"[32498, 'advice', 32502]\n",
|
733 |
+
"[32498, 'disrespect', 32466]\n",
|
734 |
+
"[32458, 'friends', 32460]\n",
|
735 |
+
"[32458, 'friends', 32533]\n",
|
736 |
+
"[32458, 'friends', 32531]\n",
|
737 |
+
"[32458, 'friends', 32404]\n",
|
738 |
+
"[32458, 'friends', 32459]\n",
|
739 |
+
"[32458, 'friends', 32397]\n",
|
740 |
+
"[32458, 'friends', 32554]\n",
|
741 |
+
"[32458, 'influential', 32460]\n",
|
742 |
+
"[32458, 'feedback', 32460]\n",
|
743 |
+
"[32458, 'moretime', 32531]\n",
|
744 |
+
"[32458, 'advice', 32533]\n",
|
745 |
+
"[32458, 'advice', 32460]\n",
|
746 |
+
"[32458, 'advice', 32448]\n",
|
747 |
+
"[32404, 'friends', 32551]\n",
|
748 |
+
"[32404, 'friends', 32425]\n",
|
749 |
+
"[32404, 'friends', 32445]\n",
|
750 |
+
"[32404, 'friends', 32554]\n",
|
751 |
+
"[32404, 'friends', 32460]\n",
|
752 |
+
"[32404, 'moretime', 32425]\n",
|
753 |
+
"[32404, 'advice', 32460]\n",
|
754 |
+
"[32517, 'friends', 32513]\n",
|
755 |
+
"[32517, 'friends', 32469]\n",
|
756 |
+
"[32517, 'friends', 32546]\n",
|
757 |
+
"[32517, 'friends', 32440]\n",
|
758 |
+
"[32517, 'friends', 32462]\n",
|
759 |
+
"[32517, 'friends', 32420]\n",
|
760 |
+
"[32517, 'friends', 32446]\n",
|
761 |
+
"[32517, 'friends', 32523]\n",
|
762 |
+
"[32517, 'friends', 32474]\n",
|
763 |
+
"[32517, 'friends', 32392]\n",
|
764 |
+
"[32517, 'friends', 32490]\n",
|
765 |
+
"[32517, 'influential', 32406]\n",
|
766 |
+
"[32517, 'influential', 32425]\n",
|
767 |
+
"[32517, 'influential', 32491]\n",
|
768 |
+
"[32517, 'influential', 32518]\n",
|
769 |
+
"[32517, 'influential', 32525]\n",
|
770 |
+
"[32517, 'influential', 32405]\n",
|
771 |
+
"[32517, 'influential', 32485]\n",
|
772 |
+
"[32517, 'influential', 32474]\n",
|
773 |
+
"[32517, 'influential', 32391]\n",
|
774 |
+
"[32517, 'advice', 32513]\n",
|
775 |
+
"[32517, 'advice', 32448]\n",
|
776 |
+
"[32401, 'friends', 32508]\n",
|
777 |
+
"[32401, 'friends', 32396]\n",
|
778 |
+
"[32401, 'friends', 32535]\n",
|
779 |
+
"[32401, 'friends', 32478]\n",
|
780 |
+
"[32401, 'friends', 32418]\n",
|
781 |
+
"[32401, 'friends', 32477]\n",
|
782 |
+
"[32401, 'friends', 32426]\n",
|
783 |
+
"[32401, 'friends', 32470]\n",
|
784 |
+
"[32401, 'friends', 32514]\n",
|
785 |
+
"[32401, 'friends', 32550]\n",
|
786 |
+
"[32401, 'influential', 32535]\n",
|
787 |
+
"[32401, 'influential', 32396]\n",
|
788 |
+
"[32401, 'influential', 32508]\n",
|
789 |
+
"[32401, 'influential', 32418]\n",
|
790 |
+
"[32401, 'influential', 32477]\n",
|
791 |
+
"[32401, 'influential', 32478]\n",
|
792 |
+
"[32401, 'feedback', 32508]\n",
|
793 |
+
"[32401, 'feedback', 32550]\n",
|
794 |
+
"[32401, 'moretime', 32405]\n",
|
795 |
+
"[32401, 'moretime', 32485]\n",
|
796 |
+
"[32401, 'moretime', 32544]\n",
|
797 |
+
"[32401, 'advice', 32470]\n",
|
798 |
+
"[32401, 'advice', 32514]\n",
|
799 |
+
"[32401, 'advice', 32478]\n",
|
800 |
+
"[32401, 'advice', 32508]\n",
|
801 |
+
"[32504, 'friends', 32422]\n",
|
802 |
+
"[32504, 'friends', 32421]\n",
|
803 |
+
"[32504, 'friends', 32545]\n",
|
804 |
+
"[32504, 'friends', 32465]\n",
|
805 |
+
"[32504, 'friends', 32419]\n",
|
806 |
+
"[32448, 'friends', 32473]\n",
|
807 |
+
"[32448, 'friends', 32516]\n",
|
808 |
+
"[32448, 'friends', 32541]\n",
|
809 |
+
"[32448, 'friends', 32479]\n",
|
810 |
+
"[32448, 'friends', 32413]\n",
|
811 |
+
"[32448, 'friends', 32459]\n",
|
812 |
+
"[32448, 'friends', 32405]\n",
|
813 |
+
"[32448, 'influential', 32405]\n",
|
814 |
+
"[32448, 'influential', 32425]\n",
|
815 |
+
"[32448, 'influential', 32448]\n",
|
816 |
+
"[32448, 'feedback', 32516]\n",
|
817 |
+
"[32448, 'feedback', 32446]\n",
|
818 |
+
"[32448, 'feedback', 32473]\n",
|
819 |
+
"[32448, 'moretime', 32405]\n",
|
820 |
+
"[32448, 'moretime', 32425]\n",
|
821 |
+
"[32448, 'moretime', 32459]\n",
|
822 |
+
"[32448, 'advice', 32420]\n",
|
823 |
+
"[32448, 'advice', 32516]\n",
|
824 |
+
"[32448, 'advice', 32446]\n",
|
825 |
+
"[32448, 'disrespect', 32466]\n",
|
826 |
+
"[32522, 'friends', 32422]\n",
|
827 |
+
"[32522, 'friends', 32432]\n",
|
828 |
+
"[32522, 'friends', 32421]\n",
|
829 |
+
"[32522, 'friends', 32436]\n",
|
830 |
+
"[32522, 'friends', 32545]\n",
|
831 |
+
"[32522, 'friends', 32504]\n",
|
832 |
+
"[32522, 'friends', 32532]\n",
|
833 |
+
"[32522, 'influential', 32408]\n",
|
834 |
+
"[32522, 'influential', 32529]\n",
|
835 |
+
"[32522, 'influential', 32468]\n",
|
836 |
+
"[32522, 'influential', 32393]\n",
|
837 |
+
"[32522, 'feedback', 32422]\n",
|
838 |
+
"[32522, 'feedback', 32421]\n",
|
839 |
+
"[32522, 'feedback', 32432]\n",
|
840 |
+
"[32522, 'moretime', 32498]\n",
|
841 |
+
"[32522, 'moretime', 32465]\n",
|
842 |
+
"[32522, 'moretime', 32445]\n",
|
843 |
+
"[32522, 'moretime', 32436]\n",
|
844 |
+
"[32522, 'moretime', 32432]\n",
|
845 |
+
"[32522, 'moretime', 32504]\n",
|
846 |
+
"[32522, 'moretime', 32545]\n",
|
847 |
+
"[32522, 'moretime', 32421]\n",
|
848 |
+
"[32522, 'moretime', 32422]\n",
|
849 |
+
"[32522, 'advice', 32532]\n",
|
850 |
+
"[32522, 'advice', 32501]\n",
|
851 |
+
"[32522, 'advice', 32409]\n",
|
852 |
+
"[32522, 'advice', 32439]\n",
|
853 |
+
"[32509, 'friends', 32510]\n",
|
854 |
+
"[32509, 'friends', 32559]\n",
|
855 |
+
"[32509, 'friends', 32542]\n",
|
856 |
+
"[32509, 'friends', 32416]\n",
|
857 |
+
"[32509, 'friends', 32407]\n",
|
858 |
+
"[32509, 'friends', 32457]\n",
|
859 |
+
"[32509, 'friends', 32539]\n",
|
860 |
+
"[32509, 'influential', 32488]\n",
|
861 |
+
"[32509, 'influential', 32427]\n",
|
862 |
+
"[32509, 'influential', 32559]\n",
|
863 |
+
"[32509, 'influential', 32407]\n",
|
864 |
+
"[32509, 'feedback', 32490]\n",
|
865 |
+
"[32509, 'feedback', 32510]\n",
|
866 |
+
"[32509, 'moretime', 32542]\n",
|
867 |
+
"[32509, 'moretime', 32559]\n",
|
868 |
+
"[32509, 'advice', 32510]\n",
|
869 |
+
"[32509, 'advice', 32490]\n",
|
870 |
+
"[32397, 'friends', 32475]\n",
|
871 |
+
"[32397, 'friends', 32523]\n",
|
872 |
+
"[32397, 'friends', 32528]\n",
|
873 |
+
"[32397, 'friends', 32420]\n",
|
874 |
+
"[32397, 'influential', 32420]\n",
|
875 |
+
"[32397, 'influential', 32540]\n",
|
876 |
+
"[32397, 'influential', 32409]\n",
|
877 |
+
"[32397, 'feedback', 32420]\n",
|
878 |
+
"[32397, 'feedback', 32540]\n",
|
879 |
+
"[32397, 'feedback', 32475]\n",
|
880 |
+
"[32397, 'moretime', 32523]\n",
|
881 |
+
"[32397, 'moretime', 32420]\n",
|
882 |
+
"[32397, 'moretime', 32540]\n",
|
883 |
+
"[32397, 'moretime', 32475]\n",
|
884 |
+
"[32397, 'advice', 32420]\n",
|
885 |
+
"[32397, 'advice', 32475]\n",
|
886 |
+
"[32397, 'advice', 32540]\n",
|
887 |
+
"[32512, 'friends', 32541]\n",
|
888 |
+
"[32512, 'friends', 32447]\n",
|
889 |
+
"[32512, 'friends', 32495]\n",
|
890 |
+
"[32512, 'friends', 32409]\n",
|
891 |
+
"[32512, 'friends', 32489]\n",
|
892 |
+
"[32512, 'friends', 32468]\n",
|
893 |
+
"[32512, 'advice', 32468]\n",
|
894 |
+
"[32512, 'advice', 32489]\n",
|
895 |
+
"[32512, 'advice', 32541]\n",
|
896 |
+
"[32455, 'friends', 32489]\n",
|
897 |
+
"[32455, 'friends', 32480]\n",
|
898 |
+
"[32455, 'friends', 32546]\n",
|
899 |
+
"[32455, 'friends', 32419]\n",
|
900 |
+
"[32455, 'friends', 32413]\n",
|
901 |
+
"[32455, 'friends', 32501]\n",
|
902 |
+
"[32455, 'friends', 32435]\n",
|
903 |
+
"[32455, 'friends', 32540]\n",
|
904 |
+
"[32455, 'friends', 32392]\n",
|
905 |
+
"[32455, 'friends', 32402]\n",
|
906 |
+
"[32455, 'friends', 32410]\n",
|
907 |
+
"[32455, 'influential', 32544]\n",
|
908 |
+
"[32455, 'influential', 32405]\n",
|
909 |
+
"[32455, 'influential', 32408]\n",
|
910 |
+
"[32455, 'influential', 32413]\n",
|
911 |
+
"[32455, 'feedback', 32546]\n",
|
912 |
+
"[32455, 'feedback', 32410]\n",
|
913 |
+
"[32455, 'moretime', 32480]\n",
|
914 |
+
"[32455, 'moretime', 32546]\n",
|
915 |
+
"[32455, 'moretime', 32410]\n",
|
916 |
+
"[32455, 'moretime', 32489]\n",
|
917 |
+
"[32455, 'advice', 32392]\n",
|
918 |
+
"[32455, 'advice', 32480]\n",
|
919 |
+
"[32455, 'advice', 32489]\n",
|
920 |
+
"[32455, 'advice', 32501]\n",
|
921 |
+
"[32455, 'advice', 32546]\n",
|
922 |
+
"[32489, 'friends', 32410]\n",
|
923 |
+
"[32489, 'friends', 32413]\n",
|
924 |
+
"[32489, 'friends', 32499]\n",
|
925 |
+
"[32489, 'friends', 32441]\n",
|
926 |
+
"[32489, 'friends', 32480]\n",
|
927 |
+
"[32489, 'feedback', 32410]\n",
|
928 |
+
"[32489, 'advice', 32410]\n",
|
929 |
+
"[32432, 'friends', 32475]\n",
|
930 |
+
"[32432, 'friends', 32422]\n",
|
931 |
+
"[32432, 'friends', 32421]\n",
|
932 |
+
"[32432, 'friends', 32397]\n",
|
933 |
+
"[32432, 'friends', 32399]\n",
|
934 |
+
"[32432, 'friends', 32420]\n",
|
935 |
+
"[32432, 'advice', 32422]\n",
|
936 |
+
"[32432, 'advice', 32421]\n",
|
937 |
+
"[32432, 'advice', 32420]\n",
|
938 |
+
"[32432, 'advice', 32399]\n",
|
939 |
+
"[32432, 'advice', 32475]\n",
|
940 |
+
"[32432, 'advice', 32397]\n",
|
941 |
+
"[32476, 'friends', 32457]\n",
|
942 |
+
"[32476, 'friends', 32490]\n",
|
943 |
+
"[32476, 'friends', 32483]\n",
|
944 |
+
"[32476, 'friends', 32471]\n",
|
945 |
+
"[32476, 'friends', 32472]\n",
|
946 |
+
"[32476, 'influential', 32490]\n",
|
947 |
+
"[32476, 'influential', 32457]\n",
|
948 |
+
"[32476, 'feedback', 32490]\n",
|
949 |
+
"[32476, 'feedback', 32457]\n",
|
950 |
+
"[32476, 'moretime', 32457]\n",
|
951 |
+
"[32476, 'moretime', 32490]\n",
|
952 |
+
"[32476, 'moretime', 32483]\n",
|
953 |
+
"[32476, 'moretime', 32471]\n",
|
954 |
+
"[32476, 'moretime', 32472]\n",
|
955 |
+
"[32476, 'advice', 32490]\n",
|
956 |
+
"[32476, 'advice', 32457]\n",
|
957 |
+
"[32476, 'disrespect', 32545]\n",
|
958 |
+
"[32476, 'disrespect', 32421]\n",
|
959 |
+
"[32476, 'disrespect', 32422]\n",
|
960 |
+
"[32476, 'disrespect', 32522]\n",
|
961 |
+
"[32516, 'friends', 32448]\n",
|
962 |
+
"[32516, 'friends', 32541]\n",
|
963 |
+
"[32516, 'friends', 32479]\n",
|
964 |
+
"[32516, 'influential', 32448]\n",
|
965 |
+
"[32516, 'influential', 32525]\n",
|
966 |
+
"[32516, 'influential', 32443]\n",
|
967 |
+
"[32516, 'influential', 32463]\n",
|
968 |
+
"[32516, 'moretime', 32541]\n",
|
969 |
+
"[32516, 'moretime', 32448]\n",
|
970 |
+
"[32516, 'advice', 32448]\n",
|
971 |
+
"[32467, 'friends', 32553]\n",
|
972 |
+
"[32467, 'friends', 32408]\n",
|
973 |
+
"[32467, 'friends', 32413]\n",
|
974 |
+
"[32467, 'friends', 32448]\n",
|
975 |
+
"[32467, 'friends', 32405]\n",
|
976 |
+
"[32467, 'friends', 32485]\n",
|
977 |
+
"[32467, 'friends', 32393]\n",
|
978 |
+
"[32467, 'friends', 32517]\n",
|
979 |
+
"[32467, 'friends', 32534]\n",
|
980 |
+
"[32467, 'influential', 32408]\n",
|
981 |
+
"[32467, 'influential', 32413]\n",
|
982 |
+
"[32467, 'influential', 32443]\n",
|
983 |
+
"[32467, 'influential', 32405]\n",
|
984 |
+
"[32467, 'influential', 32544]\n",
|
985 |
+
"[32467, 'feedback', 32553]\n",
|
986 |
+
"[32467, 'feedback', 32534]\n",
|
987 |
+
"[32467, 'feedback', 32408]\n",
|
988 |
+
"[32467, 'moretime', 32553]\n",
|
989 |
+
"[32467, 'moretime', 32534]\n",
|
990 |
+
"[32467, 'moretime', 32408]\n",
|
991 |
+
"[32467, 'advice', 32553]\n",
|
992 |
+
"[32467, 'advice', 32534]\n",
|
993 |
+
"[32408, 'friends', 32550]\n",
|
994 |
+
"[32408, 'friends', 32541]\n",
|
995 |
+
"[32408, 'friends', 32413]\n",
|
996 |
+
"[32408, 'friends', 32474]\n",
|
997 |
+
"[32408, 'friends', 32499]\n",
|
998 |
+
"[32408, 'friends', 32440]\n",
|
999 |
+
"[32408, 'friends', 32467]\n",
|
1000 |
+
"[32408, 'friends', 32515]\n",
|
1001 |
+
"[32408, 'friends', 32534]\n",
|
1002 |
+
"[32408, 'friends', 32405]\n",
|
1003 |
+
"[32408, 'influential', 32413]\n",
|
1004 |
+
"[32408, 'influential', 32443]\n",
|
1005 |
+
"[32408, 'influential', 32405]\n",
|
1006 |
+
"[32408, 'influential', 32544]\n",
|
1007 |
+
"[32408, 'feedback', 32499]\n",
|
1008 |
+
"[32408, 'moretime', 32467]\n",
|
1009 |
+
"[32408, 'moretime', 32401]\n",
|
1010 |
+
"[32408, 'advice', 32499]\n",
|
1011 |
+
"[32420, 'friends', 32446]\n",
|
1012 |
+
"[32420, 'friends', 32399]\n",
|
1013 |
+
"[32420, 'friends', 32409]\n",
|
1014 |
+
"[32420, 'friends', 32540]\n",
|
1015 |
+
"[32420, 'friends', 32528]\n",
|
1016 |
+
"[32420, 'friends', 32527]\n",
|
1017 |
+
"[32420, 'friends', 32432]\n",
|
1018 |
+
"[32420, 'friends', 32448]\n",
|
1019 |
+
"[32420, 'influential', 32540]\n",
|
1020 |
+
"[32420, 'feedback', 32540]\n",
|
1021 |
+
"[32420, 'feedback', 32397]\n",
|
1022 |
+
"[32420, 'moretime', 32399]\n",
|
1023 |
+
"[32420, 'moretime', 32528]\n",
|
1024 |
+
"[32420, 'advice', 32540]\n",
|
1025 |
+
"[32420, 'advice', 32446]\n",
|
1026 |
+
"[32497, 'friends', 32412]\n",
|
1027 |
+
"[32497, 'feedback', 32412]\n",
|
1028 |
+
"[32497, 'moretime', 32412]\n",
|
1029 |
+
"[32497, 'advice', 32412]\n",
|
1030 |
+
"[32515, 'friends', 32505]\n",
|
1031 |
+
"[32515, 'friends', 32408]\n",
|
1032 |
+
"[32515, 'friends', 32462]\n",
|
1033 |
+
"[32515, 'feedback', 32505]\n",
|
1034 |
+
"[32515, 'moretime', 32505]\n",
|
1035 |
+
"[32515, 'moretime', 32408]\n",
|
1036 |
+
"[32515, 'advice', 32505]\n",
|
1037 |
+
"[32429, 'friends', 32415]\n",
|
1038 |
+
"[32429, 'friends', 32475]\n",
|
1039 |
+
"[32429, 'influential', 32475]\n",
|
1040 |
+
"[32429, 'feedback', 32435]\n",
|
1041 |
+
"[32429, 'moretime', 32415]\n",
|
1042 |
+
"[32415, 'friends', 32416]\n",
|
1043 |
+
"[32415, 'friends', 32496]\n",
|
1044 |
+
"[32415, 'friends', 32435]\n",
|
1045 |
+
"[32415, 'friends', 32498]\n",
|
1046 |
+
"[32415, 'friends', 32429]\n",
|
1047 |
+
"[32415, 'friends', 32397]\n",
|
1048 |
+
"[32415, 'friends', 32395]\n",
|
1049 |
+
"[32415, 'friends', 32543]\n",
|
1050 |
+
"[32415, 'friends', 32433]\n",
|
1051 |
+
"[32415, 'friends', 32546]\n",
|
1052 |
+
"[32415, 'friends', 32415]\n",
|
1053 |
+
"[32415, 'influential', 32416]\n",
|
1054 |
+
"[32415, 'influential', 32496]\n",
|
1055 |
+
"[32415, 'influential', 32415]\n",
|
1056 |
+
"[32415, 'feedback', 32435]\n",
|
1057 |
+
"[32415, 'feedback', 32451]\n",
|
1058 |
+
"[32415, 'moretime', 32543]\n",
|
1059 |
+
"[32415, 'moretime', 32528]\n",
|
1060 |
+
"[32415, 'advice', 32416]\n",
|
1061 |
+
"[32415, 'advice', 32496]\n",
|
1062 |
+
"[32415, 'advice', 32435]\n",
|
1063 |
+
"[32435, 'friends', 32527]\n",
|
1064 |
+
"[32435, 'friends', 32415]\n",
|
1065 |
+
"[32435, 'influential', 32408]\n",
|
1066 |
+
"[32435, 'influential', 32443]\n",
|
1067 |
+
"[32435, 'influential', 32525]\n",
|
1068 |
+
"[32435, 'influential', 32399]\n",
|
1069 |
+
"[32435, 'influential', 32485]\n",
|
1070 |
+
"[32435, 'moretime', 32415]\n",
|
1071 |
+
"[32435, 'moretime', 32399]\n",
|
1072 |
+
"[32435, 'moretime', 32409]\n",
|
1073 |
+
"[32435, 'moretime', 32546]\n",
|
1074 |
+
"[32405, 'friends', 32485]\n",
|
1075 |
+
"[32405, 'friends', 32443]\n",
|
1076 |
+
"[32405, 'friends', 32478]\n",
|
1077 |
+
"[32405, 'friends', 32463]\n",
|
1078 |
+
"[32405, 'friends', 32393]\n",
|
1079 |
+
"[32405, 'friends', 32413]\n",
|
1080 |
+
"[32405, 'friends', 32544]\n",
|
1081 |
+
"[32405, 'friends', 32491]\n",
|
1082 |
+
"[32405, 'friends', 32507]\n",
|
1083 |
+
"[32405, 'friends', 32518]\n",
|
1084 |
+
"[32405, 'friends', 32396]\n",
|
1085 |
+
"[32405, 'advice', 32478]\n",
|
1086 |
+
"[32405, 'advice', 32463]\n",
|
1087 |
+
"[32392, 'friends', 32532]\n",
|
1088 |
+
"[32392, 'friends', 32554]\n",
|
1089 |
+
"[32392, 'friends', 32455]\n",
|
1090 |
+
"[32392, 'friends', 32551]\n",
|
1091 |
+
"[32392, 'friends', 32542]\n",
|
1092 |
+
"[32392, 'friends', 32486]\n",
|
1093 |
+
"[32392, 'feedback', 32532]\n",
|
1094 |
+
"[32392, 'feedback', 32554]\n",
|
1095 |
+
"[32392, 'feedback', 32542]\n",
|
1096 |
+
"[32392, 'moretime', 32542]\n",
|
1097 |
+
"[32392, 'moretime', 32402]\n",
|
1098 |
+
"[32392, 'advice', 32551]\n",
|
1099 |
+
"[32392, 'advice', 32532]\n",
|
1100 |
+
"[32392, 'advice', 32554]\n",
|
1101 |
+
"[32495, 'friends', 32512]\n",
|
1102 |
+
"[32495, 'friends', 32454]\n",
|
1103 |
+
"[32495, 'friends', 32494]\n",
|
1104 |
+
"[32495, 'friends', 32541]\n",
|
1105 |
+
"[32495, 'moretime', 32512]\n",
|
1106 |
+
"[32495, 'moretime', 32541]\n",
|
1107 |
+
"[32495, 'moretime', 32494]\n",
|
1108 |
+
"[32427, 'friends', 32434]\n",
|
1109 |
+
"[32427, 'friends', 32488]\n",
|
1110 |
+
"[32427, 'friends', 32394]\n",
|
1111 |
+
"[32427, 'friends', 32407]\n",
|
1112 |
+
"[32427, 'friends', 32433]\n",
|
1113 |
+
"[32427, 'friends', 32423]\n",
|
1114 |
+
"[32427, 'friends', 32543]\n",
|
1115 |
+
"[32427, 'friends', 32542]\n",
|
1116 |
+
"[32427, 'influential', 32507]\n",
|
1117 |
+
"[32427, 'moretime', 32434]\n",
|
1118 |
+
"[32427, 'moretime', 32488]\n",
|
1119 |
+
"[32427, 'moretime', 32407]\n",
|
1120 |
+
"[32427, 'moretime', 32423]\n",
|
1121 |
+
"[32427, 'moretime', 32394]\n",
|
1122 |
+
"[32427, 'moretime', 32433]\n",
|
1123 |
+
"[32427, 'moretime', 32458]\n",
|
1124 |
+
"[32427, 'moretime', 32543]\n",
|
1125 |
+
"[32427, 'advice', 32434]\n",
|
1126 |
+
"[32427, 'advice', 32488]\n",
|
1127 |
+
"[32427, 'advice', 32394]\n",
|
1128 |
+
"[32427, 'advice', 32407]\n",
|
1129 |
+
"[32427, 'advice', 32542]\n",
|
1130 |
+
"[32427, 'advice', 32423]\n",
|
1131 |
+
"[32421, 'friends', 32504]\n",
|
1132 |
+
"[32421, 'friends', 32465]\n",
|
1133 |
+
"[32421, 'friends', 32432]\n",
|
1134 |
+
"[32421, 'friends', 32522]\n",
|
1135 |
+
"[32421, 'friends', 32422]\n",
|
1136 |
+
"[32421, 'friends', 32545]\n",
|
1137 |
+
"[32421, 'friends', 32460]\n",
|
1138 |
+
"[32421, 'friends', 32546]\n",
|
1139 |
+
"[32421, 'friends', 32554]\n",
|
1140 |
+
"[32421, 'feedback', 32422]\n",
|
1141 |
+
"[32421, 'moretime', 32504]\n",
|
1142 |
+
"[32421, 'moretime', 32545]\n",
|
1143 |
+
"[32421, 'moretime', 32422]\n",
|
1144 |
+
"[32421, 'moretime', 32554]\n",
|
1145 |
+
"[32421, 'moretime', 32546]\n",
|
1146 |
+
"[32421, 'moretime', 32432]\n",
|
1147 |
+
"[32421, 'moretime', 32522]\n",
|
1148 |
+
"[32421, 'advice', 32422]\n",
|
1149 |
+
"[32421, 'advice', 32432]\n",
|
1150 |
+
"[32421, 'advice', 32546]\n",
|
1151 |
+
"[32421, 'advice', 32522]\n",
|
1152 |
+
"[32422, 'friends', 32504]\n",
|
1153 |
+
"[32422, 'friends', 32522]\n",
|
1154 |
+
"[32422, 'friends', 32545]\n",
|
1155 |
+
"[32422, 'friends', 32421]\n",
|
1156 |
+
"[32422, 'friends', 32436]\n",
|
1157 |
+
"[32422, 'friends', 32432]\n",
|
1158 |
+
"[32422, 'friends', 32465]\n",
|
1159 |
+
"[32422, 'feedback', 32546]\n",
|
1160 |
+
"[32422, 'feedback', 32432]\n",
|
1161 |
+
"[32422, 'feedback', 32522]\n",
|
1162 |
+
"[32422, 'feedback', 32554]\n",
|
1163 |
+
"[32422, 'moretime', 32460]\n",
|
1164 |
+
"[32422, 'moretime', 32545]\n",
|
1165 |
+
"[32422, 'moretime', 32522]\n",
|
1166 |
+
"[32422, 'moretime', 32504]\n",
|
1167 |
+
"[32422, 'moretime', 32465]\n",
|
1168 |
+
"[32422, 'moretime', 32432]\n",
|
1169 |
+
"[32422, 'moretime', 32436]\n",
|
1170 |
+
"[32422, 'advice', 32432]\n",
|
1171 |
+
"[32422, 'advice', 32522]\n",
|
1172 |
+
"[32422, 'advice', 32421]\n",
|
1173 |
+
"[32422, 'advice', 32460]\n",
|
1174 |
+
"[32422, 'advice', 32546]\n",
|
1175 |
+
"[32403, 'friends', 32479]\n",
|
1176 |
+
"[32403, 'friends', 32457]\n",
|
1177 |
+
"[32403, 'friends', 32439]\n",
|
1178 |
+
"[32403, 'friends', 32412]\n",
|
1179 |
+
"[32403, 'friends', 32407]\n",
|
1180 |
+
"[32403, 'moretime', 32479]\n",
|
1181 |
+
"[32557, 'friends', 32444]\n",
|
1182 |
+
"[32557, 'friends', 32537]\n",
|
1183 |
+
"[32557, 'friends', 32526]\n",
|
1184 |
+
"[32557, 'feedback', 32444]\n",
|
1185 |
+
"[32557, 'feedback', 32483]\n",
|
1186 |
+
"[32557, 'feedback', 32526]\n",
|
1187 |
+
"[32557, 'moretime', 32444]\n",
|
1188 |
+
"[32557, 'advice', 32524]\n",
|
1189 |
+
"[32557, 'disrespect', 32500]\n",
|
1190 |
+
"[32499, 'friends', 32408]\n",
|
1191 |
+
"[32499, 'friends', 32468]\n",
|
1192 |
+
"[32499, 'friends', 32440]\n",
|
1193 |
+
"[32499, 'friends', 32474]\n",
|
1194 |
+
"[32499, 'friends', 32489]\n",
|
1195 |
+
"[32499, 'friends', 32410]\n",
|
1196 |
+
"[32499, 'friends', 32534]\n",
|
1197 |
+
"[32499, 'friends', 32529]\n",
|
1198 |
+
"[32499, 'influential', 32408]\n",
|
1199 |
+
"[32499, 'influential', 32529]\n",
|
1200 |
+
"[32499, 'influential', 32535]\n",
|
1201 |
+
"[32499, 'influential', 32426]\n",
|
1202 |
+
"[32499, 'influential', 32443]\n",
|
1203 |
+
"[32499, 'moretime', 32489]\n",
|
1204 |
+
"[32499, 'moretime', 32410]\n",
|
1205 |
+
"[32499, 'moretime', 32440]\n",
|
1206 |
+
"[32499, 'advice', 32468]\n",
|
1207 |
+
"[32499, 'advice', 32489]\n",
|
1208 |
+
"[32499, 'advice', 32410]\n",
|
1209 |
+
"[32499, 'advice', 32440]\n",
|
1210 |
+
"[32433, 'friends', 32533]\n",
|
1211 |
+
"[32433, 'friends', 32498]\n",
|
1212 |
+
"[32433, 'friends', 32502]\n",
|
1213 |
+
"[32433, 'friends', 32496]\n",
|
1214 |
+
"[32433, 'friends', 32404]\n",
|
1215 |
+
"[32433, 'friends', 32416]\n",
|
1216 |
+
"[32433, 'friends', 32465]\n",
|
1217 |
+
"[32433, 'friends', 32510]\n",
|
1218 |
+
"[32433, 'friends', 32543]\n",
|
1219 |
+
"[32433, 'friends', 32427]\n",
|
1220 |
+
"[32433, 'friends', 32542]\n",
|
1221 |
+
"[32433, 'friends', 32451]\n",
|
1222 |
+
"[32433, 'friends', 32546]\n",
|
1223 |
+
"[32433, 'friends', 32487]\n",
|
1224 |
+
"[32433, 'friends', 32424]\n",
|
1225 |
+
"[32433, 'friends', 32488]\n",
|
1226 |
+
"[32433, 'friends', 32504]\n",
|
1227 |
+
"[32433, 'friends', 32407]\n",
|
1228 |
+
"[32433, 'feedback', 32533]\n",
|
1229 |
+
"[32433, 'feedback', 32487]\n",
|
1230 |
+
"[32433, 'feedback', 32424]\n",
|
1231 |
+
"[32433, 'moretime', 32533]\n",
|
1232 |
+
"[32433, 'advice', 32533]\n",
|
1233 |
+
"[32433, 'advice', 32543]\n",
|
1234 |
+
"[32433, 'advice', 32498]\n",
|
1235 |
+
"[32433, 'advice', 32496]\n",
|
1236 |
+
"[32433, 'advice', 32546]\n",
|
1237 |
+
"[32402, 'friends', 32402]\n",
|
1238 |
+
"[32402, 'friends', 32528]\n",
|
1239 |
+
"[32402, 'friends', 32558]\n",
|
1240 |
+
"[32402, 'friends', 32565]\n",
|
1241 |
+
"[32402, 'friends', 32553]\n",
|
1242 |
+
"[32402, 'friends', 32411]\n",
|
1243 |
+
"[32402, 'friends', 32420]\n",
|
1244 |
+
"[32402, 'friends', 32397]\n",
|
1245 |
+
"[32402, 'influential', 32443]\n",
|
1246 |
+
"[32402, 'influential', 32413]\n",
|
1247 |
+
"[32402, 'feedback', 32420]\n",
|
1248 |
+
"[32402, 'feedback', 32540]\n",
|
1249 |
+
"[32402, 'feedback', 32565]\n",
|
1250 |
+
"[32402, 'feedback', 32468]\n",
|
1251 |
+
"[32402, 'feedback', 32528]\n",
|
1252 |
+
"[32402, 'feedback', 32558]\n",
|
1253 |
+
"[32402, 'moretime', 32528]\n",
|
1254 |
+
"[32402, 'moretime', 32558]\n",
|
1255 |
+
"[32402, 'moretime', 32565]\n",
|
1256 |
+
"[32402, 'moretime', 32553]\n",
|
1257 |
+
"[32402, 'moretime', 32420]\n",
|
1258 |
+
"[32402, 'moretime', 32411]\n",
|
1259 |
+
"[32402, 'moretime', 32397]\n",
|
1260 |
+
"[32402, 'advice', 32420]\n",
|
1261 |
+
"[32402, 'advice', 32565]\n",
|
1262 |
+
"[32402, 'advice', 32540]\n",
|
1263 |
+
"[32402, 'advice', 32468]\n",
|
1264 |
+
"[32402, 'advice', 32558]\n",
|
1265 |
+
"[32402, 'disrespect', 32522]\n",
|
1266 |
+
"[32491, 'friends', 32443]\n",
|
1267 |
+
"[32491, 'friends', 32518]\n",
|
1268 |
+
"[32491, 'friends', 32406]\n",
|
1269 |
+
"[32491, 'friends', 32544]\n",
|
1270 |
+
"[32491, 'friends', 32507]\n",
|
1271 |
+
"[32491, 'friends', 32405]\n",
|
1272 |
+
"[32491, 'friends', 32485]\n",
|
1273 |
+
"[32491, 'friends', 32463]\n",
|
1274 |
+
"[32491, 'friends', 32413]\n",
|
1275 |
+
"[32491, 'friends', 32396]\n",
|
1276 |
+
"[32491, 'friends', 32478]\n",
|
1277 |
+
"[32491, 'friends', 32418]\n",
|
1278 |
+
"[32491, 'friends', 32508]\n",
|
1279 |
+
"[32491, 'friends', 32425]\n",
|
1280 |
+
"[32491, 'friends', 32408]\n",
|
1281 |
+
"[32491, 'friends', 32541]\n",
|
1282 |
+
"[32491, 'influential', 32491]\n",
|
1283 |
+
"[32491, 'influential', 32443]\n",
|
1284 |
+
"[32491, 'influential', 32405]\n",
|
1285 |
+
"[32491, 'influential', 32518]\n",
|
1286 |
+
"[32491, 'feedback', 32443]\n",
|
1287 |
+
"[32491, 'moretime', 32443]\n",
|
1288 |
+
"[32491, 'moretime', 32518]\n",
|
1289 |
+
"[32491, 'moretime', 32535]\n",
|
1290 |
+
"[32491, 'moretime', 32508]\n",
|
1291 |
+
"[32491, 'moretime', 32396]\n",
|
1292 |
+
"[32491, 'moretime', 32507]\n",
|
1293 |
+
"[32491, 'advice', 32443]\n",
|
1294 |
+
"[32491, 'advice', 32518]\n",
|
1295 |
+
"[32491, 'disrespect', 32466]\n",
|
1296 |
+
"[32453, 'friends', 32563]\n",
|
1297 |
+
"[32453, 'influential', 32452]\n",
|
1298 |
+
"[32453, 'feedback', 32563]\n",
|
1299 |
+
"[32453, 'moretime', 32563]\n",
|
1300 |
+
"[32453, 'moretime', 32562]\n",
|
1301 |
+
"[32453, 'advice', 32563]\n",
|
1302 |
+
"[32453, 'disrespect', 32413]\n",
|
1303 |
+
"[32453, 'disrespect', 32452]\n",
|
1304 |
+
"[32530, 'friends', 32429]\n",
|
1305 |
+
"[32530, 'friends', 32398]\n",
|
1306 |
+
"[32530, 'friends', 32520]\n",
|
1307 |
+
"[32530, 'moretime', 32429]\n",
|
1308 |
+
"[32530, 'moretime', 32398]\n",
|
1309 |
+
"[32530, 'advice', 32429]\n",
|
1310 |
+
"[32544, 'friends', 32443]\n",
|
1311 |
+
"[32544, 'friends', 32405]\n",
|
1312 |
+
"[32544, 'friends', 32485]\n",
|
1313 |
+
"[32544, 'friends', 32393]\n",
|
1314 |
+
"[32544, 'friends', 32491]\n",
|
1315 |
+
"[32544, 'friends', 32396]\n",
|
1316 |
+
"[32544, 'friends', 32477]\n",
|
1317 |
+
"[32544, 'friends', 32401]\n",
|
1318 |
+
"[32544, 'friends', 32508]\n",
|
1319 |
+
"[32544, 'friends', 32426]\n",
|
1320 |
+
"[32544, 'friends', 32463]\n",
|
1321 |
+
"[32544, 'friends', 32413]\n",
|
1322 |
+
"[32544, 'friends', 32518]\n",
|
1323 |
+
"[32544, 'friends', 32525]\n",
|
1324 |
+
"[32544, 'feedback', 32405]\n",
|
1325 |
+
"[32544, 'feedback', 32468]\n",
|
1326 |
+
"[32544, 'feedback', 32485]\n",
|
1327 |
+
"[32544, 'moretime', 32477]\n",
|
1328 |
+
"[32544, 'moretime', 32468]\n",
|
1329 |
+
"[32544, 'moretime', 32411]\n",
|
1330 |
+
"[32544, 'moretime', 32443]\n",
|
1331 |
+
"[32544, 'advice', 32468]\n",
|
1332 |
+
"[32544, 'advice', 32405]\n",
|
1333 |
+
"[32508, 'friends', 32401]\n",
|
1334 |
+
"[32508, 'friends', 32396]\n",
|
1335 |
+
"[32508, 'friends', 32535]\n",
|
1336 |
+
"[32508, 'friends', 32418]\n",
|
1337 |
+
"[32508, 'friends', 32478]\n",
|
1338 |
+
"[32508, 'friends', 32555]\n",
|
1339 |
+
"[32508, 'friends', 32477]\n",
|
1340 |
+
"[32508, 'friends', 32426]\n",
|
1341 |
+
"[32508, 'influential', 32396]\n",
|
1342 |
+
"[32508, 'influential', 32535]\n",
|
1343 |
+
"[32508, 'influential', 32478]\n",
|
1344 |
+
"[32508, 'influential', 32401]\n",
|
1345 |
+
"[32508, 'feedback', 32478]\n",
|
1346 |
+
"[32508, 'moretime', 32417]\n",
|
1347 |
+
"[32508, 'moretime', 32405]\n",
|
1348 |
+
"[32508, 'moretime', 32485]\n",
|
1349 |
+
"[32508, 'advice', 32478]\n",
|
1350 |
+
"[32508, 'advice', 32401]\n",
|
1351 |
+
"[32407, 'friends', 32548]\n",
|
1352 |
+
"[32407, 'friends', 32563]\n",
|
1353 |
+
"[32407, 'influential', 32544]\n",
|
1354 |
+
"[32407, 'feedback', 32392]\n",
|
1355 |
+
"[32407, 'feedback', 32542]\n",
|
1356 |
+
"[32407, 'feedback', 32559]\n",
|
1357 |
+
"[32407, 'moretime', 32548]\n",
|
1358 |
+
"[32407, 'moretime', 32563]\n",
|
1359 |
+
"[32407, 'moretime', 32559]\n",
|
1360 |
+
"[32407, 'advice', 32563]\n",
|
1361 |
+
"[32407, 'advice', 32416]\n",
|
1362 |
+
"[32407, 'advice', 32543]\n",
|
1363 |
+
"[32407, 'disrespect', 32411]\n",
|
1364 |
+
"[32407, 'disrespect', 32556]\n",
|
1365 |
+
"[32565, 'friends', 32565]\n",
|
1366 |
+
"[32565, 'friends', 32556]\n",
|
1367 |
+
"[32565, 'friends', 32558]\n",
|
1368 |
+
"[32565, 'friends', 32528]\n",
|
1369 |
+
"[32565, 'friends', 32402]\n",
|
1370 |
+
"[32565, 'friends', 32559]\n",
|
1371 |
+
"[32565, 'friends', 32523]\n",
|
1372 |
+
"[32565, 'influential', 32443]\n",
|
1373 |
+
"[32565, 'influential', 32413]\n",
|
1374 |
+
"[32565, 'influential', 32406]\n",
|
1375 |
+
"[32565, 'influential', 32393]\n",
|
1376 |
+
"[32565, 'feedback', 32420]\n",
|
1377 |
+
"[32565, 'feedback', 32523]\n",
|
1378 |
+
"[32565, 'moretime', 32556]\n",
|
1379 |
+
"[32565, 'moretime', 32402]\n",
|
1380 |
+
"[32565, 'moretime', 32559]\n",
|
1381 |
+
"[32565, 'moretime', 32528]\n",
|
1382 |
+
"[32565, 'moretime', 32558]\n",
|
1383 |
+
"[32565, 'moretime', 32523]\n",
|
1384 |
+
"[32565, 'advice', 32420]\n",
|
1385 |
+
"[32565, 'advice', 32540]\n",
|
1386 |
+
"[32565, 'disrespect', 32441]\n",
|
1387 |
+
"[32565, 'disrespect', 32393]\n",
|
1388 |
+
"[32565, 'disrespect', 32564]\n",
|
1389 |
+
"[32565, 'disrespect', 32547]\n",
|
1390 |
+
"[32565, 'disrespect', 32522]\n",
|
1391 |
+
"[32529, 'friends', 32399]\n",
|
1392 |
+
"[32529, 'friends', 32425]\n",
|
1393 |
+
"[32529, 'friends', 32541]\n",
|
1394 |
+
"[32529, 'friends', 32408]\n",
|
1395 |
+
"[32529, 'friends', 32468]\n",
|
1396 |
+
"[32529, 'friends', 32551]\n",
|
1397 |
+
"[32529, 'friends', 32492]\n",
|
1398 |
+
"[32529, 'friends', 32499]\n",
|
1399 |
+
"[32529, 'friends', 32439]\n",
|
1400 |
+
"[32529, 'friends', 32525]\n",
|
1401 |
+
"[32529, 'friends', 32549]\n",
|
1402 |
+
"[32529, 'friends', 32485]\n",
|
1403 |
+
"[32529, 'friends', 32405]\n",
|
1404 |
+
"[32529, 'friends', 32489]\n",
|
1405 |
+
"[32529, 'friends', 32413]\n",
|
1406 |
+
"[32529, 'influential', 32443]\n",
|
1407 |
+
"[32529, 'influential', 32525]\n",
|
1408 |
+
"[32529, 'influential', 32466]\n",
|
1409 |
+
"[32529, 'influential', 32540]\n",
|
1410 |
+
"[32529, 'influential', 32507]\n",
|
1411 |
+
"[32529, 'influential', 32405]\n",
|
1412 |
+
"[32529, 'influential', 32399]\n",
|
1413 |
+
"[32529, 'influential', 32406]\n",
|
1414 |
+
"[32529, 'feedback', 32499]\n",
|
1415 |
+
"[32529, 'feedback', 32399]\n",
|
1416 |
+
"[32529, 'feedback', 32468]\n",
|
1417 |
+
"[32529, 'moretime', 32439]\n",
|
1418 |
+
"[32529, 'moretime', 32551]\n",
|
1419 |
+
"[32529, 'moretime', 32399]\n",
|
1420 |
+
"[32529, 'moretime', 32492]\n",
|
1421 |
+
"[32529, 'moretime', 32408]\n",
|
1422 |
+
"[32529, 'moretime', 32499]\n",
|
1423 |
+
"[32529, 'moretime', 32425]\n",
|
1424 |
+
"[32529, 'advice', 32499]\n",
|
1425 |
+
"[32529, 'advice', 32399]\n",
|
1426 |
+
"[32529, 'advice', 32468]\n",
|
1427 |
+
"[32529, 'disrespect', 32422]\n",
|
1428 |
+
"[32457, 'friends', 32476]\n",
|
1429 |
+
"[32457, 'friends', 32483]\n",
|
1430 |
+
"[32457, 'friends', 32439]\n",
|
1431 |
+
"[32457, 'friends', 32490]\n",
|
1432 |
+
"[32457, 'influential', 32408]\n",
|
1433 |
+
"[32457, 'influential', 32485]\n",
|
1434 |
+
"[32457, 'feedback', 32476]\n",
|
1435 |
+
"[32457, 'feedback', 32490]\n",
|
1436 |
+
"[32457, 'moretime', 32476]\n",
|
1437 |
+
"[32457, 'moretime', 32490]\n",
|
1438 |
+
"[32457, 'moretime', 32439]\n",
|
1439 |
+
"[32457, 'advice', 32476]\n",
|
1440 |
+
"[32457, 'advice', 32490]\n",
|
1441 |
+
"[32457, 'disrespect', 32441]\n",
|
1442 |
+
"[32545, 'friends', 32465]\n",
|
1443 |
+
"[32545, 'friends', 32504]\n",
|
1444 |
+
"[32545, 'moretime', 32465]\n",
|
1445 |
+
"[32545, 'advice', 32545]\n",
|
1446 |
+
"[32492, 'friends', 32529]\n",
|
1447 |
+
"[32492, 'friends', 32551]\n",
|
1448 |
+
"[32492, 'friends', 32425]\n",
|
1449 |
+
"[32492, 'friends', 32399]\n",
|
1450 |
+
"[32492, 'friends', 32507]\n",
|
1451 |
+
"[32492, 'friends', 32544]\n",
|
1452 |
+
"[32492, 'friends', 32393]\n",
|
1453 |
+
"[32492, 'friends', 32404]\n",
|
1454 |
+
"[32492, 'friends', 32500]\n",
|
1455 |
+
"[32492, 'moretime', 32529]\n",
|
1456 |
+
"[32492, 'moretime', 32551]\n",
|
1457 |
+
"[32492, 'moretime', 32425]\n",
|
1458 |
+
"[32406, 'friends', 32518]\n",
|
1459 |
+
"[32406, 'friends', 32491]\n",
|
1460 |
+
"[32406, 'friends', 32443]\n",
|
1461 |
+
"[32406, 'friends', 32425]\n",
|
1462 |
+
"[32406, 'friends', 32408]\n",
|
1463 |
+
"[32406, 'friends', 32439]\n",
|
1464 |
+
"[32406, 'friends', 32551]\n",
|
1465 |
+
"[32406, 'friends', 32431]\n",
|
1466 |
+
"[32406, 'influential', 32518]\n",
|
1467 |
+
"[32406, 'influential', 32406]\n",
|
1468 |
+
"[32406, 'influential', 32491]\n",
|
1469 |
+
"[32406, 'influential', 32443]\n",
|
1470 |
+
"[32406, 'influential', 32439]\n",
|
1471 |
+
"[32406, 'moretime', 32439]\n",
|
1472 |
+
"[32406, 'moretime', 32477]\n",
|
1473 |
+
"[32406, 'moretime', 32518]\n",
|
1474 |
+
"[32406, 'moretime', 32491]\n",
|
1475 |
+
"[32406, 'advice', 32425]\n",
|
1476 |
+
"[32406, 'advice', 32408]\n",
|
1477 |
+
"[32406, 'disrespect', 32466]\n",
|
1478 |
+
"[32479, 'friends', 32516]\n",
|
1479 |
+
"[32479, 'friends', 32448]\n",
|
1480 |
+
"[32479, 'friends', 32403]\n",
|
1481 |
+
"[32479, 'friends', 32487]\n",
|
1482 |
+
"[32479, 'friends', 32428]\n",
|
1483 |
+
"[32479, 'friends', 32457]\n",
|
1484 |
+
"[32479, 'friends', 32541]\n",
|
1485 |
+
"[32479, 'friends', 32439]\n",
|
1486 |
+
"[32479, 'advice', 32448]\n",
|
1487 |
+
"[32490, 'friends', 32476]\n",
|
1488 |
+
"[32490, 'friends', 32457]\n",
|
1489 |
+
"[32490, 'friends', 32455]\n",
|
1490 |
+
"[32490, 'friends', 32510]\n",
|
1491 |
+
"[32490, 'friends', 32448]\n",
|
1492 |
+
"[32490, 'influential', 32455]\n",
|
1493 |
+
"[32490, 'feedback', 32448]\n",
|
1494 |
+
"[32490, 'moretime', 32543]\n",
|
1495 |
+
"[32490, 'moretime', 32448]\n",
|
1496 |
+
"[32490, 'advice', 32448]\n",
|
1497 |
+
"[32490, 'advice', 32476]\n",
|
1498 |
+
"[32490, 'disrespect', 32482]\n",
|
1499 |
+
"[32490, 'disrespect', 32564]\n",
|
1500 |
+
"[32513, 'friends', 32517]\n",
|
1501 |
+
"[32513, 'friends', 32469]\n",
|
1502 |
+
"[32513, 'friends', 32546]\n",
|
1503 |
+
"[32513, 'friends', 32440]\n",
|
1504 |
+
"[32513, 'friends', 32462]\n",
|
1505 |
+
"[32513, 'friends', 32540]\n",
|
1506 |
+
"[32513, 'friends', 32409]\n",
|
1507 |
+
"[32513, 'influential', 32406]\n",
|
1508 |
+
"[32513, 'influential', 32425]\n",
|
1509 |
+
"[32513, 'influential', 32491]\n",
|
1510 |
+
"[32513, 'influential', 32525]\n",
|
1511 |
+
"[32513, 'influential', 32408]\n",
|
1512 |
+
"[32513, 'influential', 32405]\n",
|
1513 |
+
"[32513, 'influential', 32544]\n",
|
1514 |
+
"[32513, 'advice', 32517]\n",
|
1515 |
+
"[32513, 'advice', 32469]\n",
|
1516 |
+
"[32480, 'friends', 32455]\n",
|
1517 |
+
"[32480, 'friends', 32489]\n",
|
1518 |
+
"[32480, 'friends', 32546]\n",
|
1519 |
+
"[32480, 'friends', 32501]\n",
|
1520 |
+
"[32480, 'friends', 32419]\n",
|
1521 |
+
"[32480, 'influential', 32405]\n",
|
1522 |
+
"[32480, 'influential', 32544]\n",
|
1523 |
+
"[32480, 'influential', 32413]\n",
|
1524 |
+
"[32480, 'moretime', 32455]\n",
|
1525 |
+
"[32480, 'moretime', 32489]\n",
|
1526 |
+
"[32480, 'advice', 32501]\n",
|
1527 |
+
"[32480, 'advice', 32455]\n",
|
1528 |
+
"[32480, 'advice', 32489]\n",
|
1529 |
+
"[32546, 'friends', 32499]\n",
|
1530 |
+
"[32546, 'friends', 32480]\n",
|
1531 |
+
"[32546, 'friends', 32501]\n",
|
1532 |
+
"[32546, 'friends', 32455]\n",
|
1533 |
+
"[32546, 'friends', 32490]\n",
|
1534 |
+
"[32546, 'friends', 32435]\n",
|
1535 |
+
"[32546, 'friends', 32415]\n",
|
1536 |
+
"[32546, 'friends', 32460]\n",
|
1537 |
+
"[32546, 'friends', 32496]\n",
|
1538 |
+
"[32546, 'friends', 32414]\n",
|
1539 |
+
"[32546, 'friends', 32547]\n",
|
1540 |
+
"[32546, 'friends', 32421]\n",
|
1541 |
+
"[32546, 'friends', 32422]\n",
|
1542 |
+
"[32546, 'friends', 32513]\n",
|
1543 |
+
"[32546, 'friends', 32517]\n",
|
1544 |
+
"[32546, 'friends', 32469]\n",
|
1545 |
+
"[32546, 'friends', 32484]\n",
|
1546 |
+
"[32546, 'moretime', 32513]\n",
|
1547 |
+
"[32546, 'moretime', 32517]\n",
|
1548 |
+
"[32546, 'moretime', 32469]\n",
|
1549 |
+
"[32546, 'advice', 32421]\n",
|
1550 |
+
"[32546, 'advice', 32422]\n",
|
1551 |
+
"[32546, 'advice', 32455]\n",
|
1552 |
+
"[32546, 'advice', 32499]\n",
|
1553 |
+
"[32546, 'advice', 32517]\n",
|
1554 |
+
"[32546, 'advice', 32469]\n",
|
1555 |
+
"[32535, 'friends', 32418]\n",
|
1556 |
+
"[32535, 'friends', 32426]\n",
|
1557 |
+
"[32535, 'friends', 32396]\n",
|
1558 |
+
"[32535, 'friends', 32508]\n",
|
1559 |
+
"[32535, 'friends', 32401]\n",
|
1560 |
+
"[32535, 'influential', 32426]\n",
|
1561 |
+
"[32535, 'influential', 32418]\n",
|
1562 |
+
"[32535, 'influential', 32396]\n",
|
1563 |
+
"[32535, 'feedback', 32508]\n",
|
1564 |
+
"[32535, 'moretime', 32418]\n",
|
1565 |
+
"[32535, 'advice', 32418]\n",
|
1566 |
+
"[32535, 'advice', 32426]\n",
|
1567 |
+
"[32535, 'advice', 32396]\n",
|
1568 |
+
"[32535, 'disrespect', 32519]\n",
|
1569 |
+
"[32456, 'friends', 32462]\n",
|
1570 |
+
"[32456, 'friends', 32513]\n",
|
1571 |
+
"[32456, 'friends', 32463]\n",
|
1572 |
+
"[32456, 'friends', 32551]\n",
|
1573 |
+
"[32456, 'friends', 32517]\n",
|
1574 |
+
"[32456, 'friends', 32478]\n",
|
1575 |
+
"[32456, 'influential', 32462]\n",
|
1576 |
+
"[32456, 'influential', 32513]\n",
|
1577 |
+
"[32456, 'feedback', 32462]\n",
|
1578 |
+
"[32456, 'feedback', 32551]\n",
|
1579 |
+
"[32456, 'feedback', 32513]\n",
|
1580 |
+
"[32456, 'moretime', 32462]\n",
|
1581 |
+
"[32456, 'moretime', 32513]\n",
|
1582 |
+
"[32456, 'moretime', 32551]\n",
|
1583 |
+
"[32456, 'advice', 32462]\n",
|
1584 |
+
"[32456, 'advice', 32551]\n",
|
1585 |
+
"[32551, 'friends', 32549]\n",
|
1586 |
+
"[32551, 'friends', 32431]\n",
|
1587 |
+
"[32551, 'friends', 32425]\n",
|
1588 |
+
"[32551, 'friends', 32529]\n",
|
1589 |
+
"[32551, 'friends', 32525]\n",
|
1590 |
+
"[32551, 'friends', 32391]\n",
|
1591 |
+
"[32551, 'friends', 32554]\n",
|
1592 |
+
"[32551, 'friends', 32464]\n",
|
1593 |
+
"[32551, 'friends', 32404]\n",
|
1594 |
+
"[32551, 'friends', 32399]\n",
|
1595 |
+
"[32551, 'influential', 32544]\n",
|
1596 |
+
"[32551, 'influential', 32507]\n",
|
1597 |
+
"[32551, 'influential', 32405]\n",
|
1598 |
+
"[32551, 'feedback', 32546]\n",
|
1599 |
+
"[32551, 'feedback', 32549]\n",
|
1600 |
+
"[32551, 'feedback', 32399]\n",
|
1601 |
+
"[32551, 'moretime', 32546]\n",
|
1602 |
+
"[32551, 'advice', 32549]\n",
|
1603 |
+
"[32551, 'advice', 32391]\n",
|
1604 |
+
"[32551, 'advice', 32425]\n",
|
1605 |
+
"[32551, 'advice', 32554]\n",
|
1606 |
+
"[32551, 'advice', 32546]\n",
|
1607 |
+
"[32446, 'friends', 32523]\n",
|
1608 |
+
"[32446, 'friends', 32420]\n",
|
1609 |
+
"[32446, 'friends', 32501]\n",
|
1610 |
+
"[32446, 'friends', 32437]\n",
|
1611 |
+
"[32446, 'friends', 32448]\n",
|
1612 |
+
"[32446, 'friends', 32490]\n",
|
1613 |
+
"[32446, 'friends', 32558]\n",
|
1614 |
+
"[32446, 'friends', 32409]\n",
|
1615 |
+
"[32446, 'friends', 32421]\n",
|
1616 |
+
"[32446, 'friends', 32476]\n",
|
1617 |
+
"[32446, 'friends', 32540]\n",
|
1618 |
+
"[32446, 'influential', 32420]\n",
|
1619 |
+
"[32446, 'influential', 32443]\n",
|
1620 |
+
"[32446, 'feedback', 32420]\n",
|
1621 |
+
"[32446, 'feedback', 32540]\n",
|
1622 |
+
"[32446, 'moretime', 32420]\n",
|
1623 |
+
"[32446, 'moretime', 32501]\n",
|
1624 |
+
"[32446, 'advice', 32420]\n",
|
1625 |
+
"[32451, 'friends', 32394]\n",
|
1626 |
+
"[32451, 'friends', 32519]\n",
|
1627 |
+
"[32451, 'friends', 32431]\n",
|
1628 |
+
"[32451, 'friends', 32507]\n",
|
1629 |
+
"[32451, 'friends', 32413]\n",
|
1630 |
+
"[32451, 'friends', 32478]\n",
|
1631 |
+
"[32451, 'friends', 32486]\n",
|
1632 |
+
"[32451, 'friends', 32424]\n",
|
1633 |
+
"[32451, 'friends', 32485]\n",
|
1634 |
+
"[32451, 'friends', 32396]\n",
|
1635 |
+
"[32451, 'moretime', 32394]\n",
|
1636 |
+
"[32451, 'moretime', 32396]\n",
|
1637 |
+
"[32451, 'moretime', 32507]\n",
|
1638 |
+
"[32451, 'moretime', 32431]\n",
|
1639 |
+
"[32451, 'moretime', 32478]\n",
|
1640 |
+
"[32451, 'moretime', 32424]\n",
|
1641 |
+
"[32451, 'disrespect', 32556]\n",
|
1642 |
+
"[32425, 'friends', 32431]\n",
|
1643 |
+
"[32425, 'friends', 32551]\n",
|
1644 |
+
"[32425, 'friends', 32464]\n",
|
1645 |
+
"[32425, 'friends', 32529]\n",
|
1646 |
+
"[32425, 'friends', 32549]\n",
|
1647 |
+
"[32425, 'friends', 32525]\n",
|
1648 |
+
"[32425, 'friends', 32391]\n",
|
1649 |
+
"[32425, 'friends', 32406]\n",
|
1650 |
+
"[32425, 'friends', 32518]\n",
|
1651 |
+
"[32425, 'influential', 32544]\n",
|
1652 |
+
"[32425, 'influential', 32405]\n",
|
1653 |
+
"[32425, 'influential', 32393]\n",
|
1654 |
+
"[32425, 'influential', 32518]\n",
|
1655 |
+
"[32425, 'moretime', 32518]\n",
|
1656 |
+
"[32425, 'advice', 32391]\n",
|
1657 |
+
"[32425, 'advice', 32464]\n",
|
1658 |
+
"[32425, 'advice', 32551]\n",
|
1659 |
+
"[32471, 'friends', 32483]\n",
|
1660 |
+
"[32471, 'friends', 32452]\n",
|
1661 |
+
"[32471, 'friends', 32484]\n",
|
1662 |
+
"[32471, 'friends', 32537]\n",
|
1663 |
+
"[32471, 'friends', 32457]\n",
|
1664 |
+
"[32471, 'influential', 32452]\n",
|
1665 |
+
"[32471, 'moretime', 32483]\n",
|
1666 |
+
"[32471, 'moretime', 32452]\n",
|
1667 |
+
"[32471, 'advice', 32457]\n",
|
1668 |
+
"[32471, 'advice', 32483]\n",
|
1669 |
+
"[32528, 'friends', 32539]\n",
|
1670 |
+
"[32528, 'friends', 32540]\n",
|
1671 |
+
"[32528, 'friends', 32420]\n",
|
1672 |
+
"[32528, 'friends', 32558]\n",
|
1673 |
+
"[32528, 'friends', 32476]\n",
|
1674 |
+
"[32528, 'friends', 32402]\n",
|
1675 |
+
"[32528, 'friends', 32565]\n",
|
1676 |
+
"[32528, 'advice', 32420]\n",
|
1677 |
+
"[32528, 'advice', 32540]\n",
|
1678 |
+
"[32528, 'advice', 32476]\n",
|
1679 |
+
"[32528, 'advice', 32539]\n",
|
1680 |
+
"[32528, 'advice', 32402]\n",
|
1681 |
+
"[32528, 'advice', 32565]\n",
|
1682 |
+
"[32468, 'friends', 32418]\n",
|
1683 |
+
"[32468, 'friends', 32426]\n",
|
1684 |
+
"[32468, 'friends', 32408]\n",
|
1685 |
+
"[32468, 'friends', 32529]\n",
|
1686 |
+
"[32468, 'friends', 32499]\n",
|
1687 |
+
"[32468, 'friends', 32534]\n",
|
1688 |
+
"[32468, 'friends', 32535]\n",
|
1689 |
+
"[32468, 'influential', 32443]\n",
|
1690 |
+
"[32468, 'influential', 32525]\n",
|
1691 |
+
"[32468, 'influential', 32507]\n",
|
1692 |
+
"[32468, 'feedback', 32420]\n",
|
1693 |
+
"[32468, 'feedback', 32499]\n",
|
1694 |
+
"[32468, 'feedback', 32448]\n",
|
1695 |
+
"[32468, 'moretime', 32418]\n",
|
1696 |
+
"[32468, 'moretime', 32426]\n",
|
1697 |
+
"[32468, 'moretime', 32401]\n",
|
1698 |
+
"[32468, 'moretime', 32544]\n",
|
1699 |
+
"[32468, 'moretime', 32535]\n",
|
1700 |
+
"[32468, 'advice', 32540]\n",
|
1701 |
+
"[32468, 'advice', 32420]\n",
|
1702 |
+
"[32414, 'friends', 32463]\n",
|
1703 |
+
"[32414, 'friends', 32440]\n",
|
1704 |
+
"[32414, 'friends', 32546]\n",
|
1705 |
+
"[32414, 'friends', 32469]\n",
|
1706 |
+
"[32414, 'friends', 32513]\n",
|
1707 |
+
"[32414, 'friends', 32517]\n",
|
1708 |
+
"[32414, 'influential', 32408]\n",
|
1709 |
+
"[32414, 'influential', 32405]\n",
|
1710 |
+
"[32414, 'feedback', 32540]\n",
|
1711 |
+
"[32414, 'feedback', 32532]\n",
|
1712 |
+
"[32414, 'moretime', 32469]\n",
|
1713 |
+
"[32414, 'moretime', 32546]\n",
|
1714 |
+
"[32414, 'moretime', 32440]\n",
|
1715 |
+
"[32414, 'moretime', 32463]\n",
|
1716 |
+
"[32414, 'moretime', 32513]\n",
|
1717 |
+
"[32414, 'moretime', 32413]\n",
|
1718 |
+
"[32414, 'moretime', 32405]\n",
|
1719 |
+
"[32414, 'advice', 32540]\n",
|
1720 |
+
"[32414, 'advice', 32532]\n",
|
1721 |
+
"[32414, 'disrespect', 32466]\n",
|
1722 |
+
"[32483, 'friends', 32457]\n",
|
1723 |
+
"[32483, 'friends', 32442]\n",
|
1724 |
+
"[32483, 'friends', 32560]\n",
|
1725 |
+
"[32483, 'influential', 32540]\n",
|
1726 |
+
"[32483, 'feedback', 32457]\n",
|
1727 |
+
"[32483, 'moretime', 32457]\n",
|
1728 |
+
"[32483, 'moretime', 32442]\n",
|
1729 |
+
"[32483, 'moretime', 32471]\n",
|
1730 |
+
"[32483, 'moretime', 32472]\n",
|
1731 |
+
"[32483, 'moretime', 32537]\n",
|
1732 |
+
"[32483, 'moretime', 32560]\n",
|
1733 |
+
"[32483, 'advice', 32457]\n",
|
1734 |
+
"[32418, 'friends', 32535]\n",
|
1735 |
+
"[32418, 'friends', 32426]\n",
|
1736 |
+
"[32418, 'friends', 32468]\n",
|
1737 |
+
"[32418, 'friends', 32555]\n",
|
1738 |
+
"[32418, 'friends', 32477]\n",
|
1739 |
+
"[32418, 'friends', 32431]\n",
|
1740 |
+
"[32418, 'friends', 32470]\n",
|
1741 |
+
"[32418, 'friends', 32550]\n",
|
1742 |
+
"[32418, 'friends', 32401]\n",
|
1743 |
+
"[32418, 'friends', 32396]\n",
|
1744 |
+
"[32418, 'influential', 32396]\n",
|
1745 |
+
"[32418, 'influential', 32468]\n",
|
1746 |
+
"[32418, 'moretime', 32468]\n",
|
1747 |
+
"[32418, 'moretime', 32555]\n",
|
1748 |
+
"[32418, 'moretime', 32535]\n",
|
1749 |
+
"[32418, 'moretime', 32426]\n",
|
1750 |
+
"[32418, 'moretime', 32396]\n",
|
1751 |
+
"[32418, 'advice', 32470]\n",
|
1752 |
+
"[32418, 'advice', 32401]\n",
|
1753 |
+
"[32418, 'advice', 32468]\n",
|
1754 |
+
"[32418, 'advice', 32426]\n",
|
1755 |
+
"[32394, 'friends', 32434]\n",
|
1756 |
+
"[32394, 'friends', 32451]\n",
|
1757 |
+
"[32394, 'friends', 32424]\n",
|
1758 |
+
"[32394, 'friends', 32488]\n",
|
1759 |
+
"[32394, 'friends', 32519]\n",
|
1760 |
+
"[32394, 'influential', 32507]\n",
|
1761 |
+
"[32394, 'influential', 32431]\n",
|
1762 |
+
"[32394, 'feedback', 32451]\n",
|
1763 |
+
"[32394, 'feedback', 32434]\n",
|
1764 |
+
"[32394, 'feedback', 32424]\n",
|
1765 |
+
"[32394, 'advice', 32451]\n",
|
1766 |
+
"[32394, 'advice', 32434]\n",
|
1767 |
+
"[32394, 'advice', 32424]\n",
|
1768 |
+
"[32431, 'friends', 32551]\n",
|
1769 |
+
"[32431, 'friends', 32464]\n",
|
1770 |
+
"[32431, 'friends', 32425]\n",
|
1771 |
+
"[32431, 'friends', 32391]\n",
|
1772 |
+
"[32431, 'friends', 32525]\n",
|
1773 |
+
"[32431, 'friends', 32477]\n",
|
1774 |
+
"[32431, 'friends', 32507]\n",
|
1775 |
+
"[32431, 'friends', 32440]\n",
|
1776 |
+
"[32431, 'friends', 32470]\n",
|
1777 |
+
"[32431, 'friends', 32418]\n",
|
1778 |
+
"[32431, 'friends', 32393]\n",
|
1779 |
+
"[32431, 'friends', 32535]\n",
|
1780 |
+
"[32431, 'friends', 32443]\n",
|
1781 |
+
"[32431, 'friends', 32549]\n",
|
1782 |
+
"[32431, 'friends', 32485]\n",
|
1783 |
+
"[32431, 'friends', 32405]\n",
|
1784 |
+
"[32431, 'friends', 32514]\n",
|
1785 |
+
"[32431, 'friends', 32552]\n",
|
1786 |
+
"[32431, 'friends', 32466]\n",
|
1787 |
+
"[32431, 'friends', 32439]\n",
|
1788 |
+
"[32431, 'friends', 32478]\n",
|
1789 |
+
"[32431, 'influential', 32477]\n",
|
1790 |
+
"[32431, 'influential', 32507]\n",
|
1791 |
+
"[32431, 'advice', 32391]\n",
|
1792 |
+
"[32431, 'advice', 32551]\n",
|
1793 |
+
"[32431, 'advice', 32549]\n",
|
1794 |
+
"[32431, 'advice', 32464]\n",
|
1795 |
+
"[32411, 'friends', 32411]\n",
|
1796 |
+
"[32411, 'influential', 32411]\n",
|
1797 |
+
"[32411, 'advice', 32468]\n",
|
1798 |
+
"[32411, 'advice', 32411]\n",
|
1799 |
+
"[32411, 'disrespect', 32466]\n",
|
1800 |
+
"[32558, 'friends', 32528]\n",
|
1801 |
+
"[32558, 'friends', 32565]\n",
|
1802 |
+
"[32558, 'moretime', 32528]\n",
|
1803 |
+
"[32558, 'moretime', 32565]\n",
|
1804 |
+
"[32558, 'advice', 32528]\n",
|
1805 |
+
"[32558, 'advice', 32565]\n",
|
1806 |
+
"[32424, 'friends', 32394]\n",
|
1807 |
+
"[32424, 'friends', 32451]\n",
|
1808 |
+
"[32424, 'friends', 32434]\n",
|
1809 |
+
"[32424, 'friends', 32519]\n",
|
1810 |
+
"[32424, 'friends', 32486]\n",
|
1811 |
+
"[32424, 'influential', 32507]\n",
|
1812 |
+
"[32424, 'influential', 32485]\n",
|
1813 |
+
"[32424, 'influential', 32396]\n",
|
1814 |
+
"[32424, 'feedback', 32394]\n",
|
1815 |
+
"[32424, 'feedback', 32451]\n",
|
1816 |
+
"[32424, 'feedback', 32434]\n",
|
1817 |
+
"[32424, 'feedback', 32486]\n",
|
1818 |
+
"[32424, 'moretime', 32394]\n",
|
1819 |
+
"[32424, 'moretime', 32434]\n",
|
1820 |
+
"[32424, 'moretime', 32451]\n",
|
1821 |
+
"[32424, 'moretime', 32519]\n",
|
1822 |
+
"[32424, 'moretime', 32486]\n",
|
1823 |
+
"[32424, 'advice', 32394]\n",
|
1824 |
+
"[32424, 'advice', 32434]\n",
|
1825 |
+
"[32424, 'advice', 32451]\n",
|
1826 |
+
"[32424, 'advice', 32519]\n",
|
1827 |
+
"[32424, 'advice', 32486]\n",
|
1828 |
+
"[32533, 'friends', 32433]\n",
|
1829 |
+
"[32533, 'friends', 32465]\n",
|
1830 |
+
"[32533, 'friends', 32498]\n",
|
1831 |
+
"[32533, 'friends', 32458]\n",
|
1832 |
+
"[32533, 'friends', 32502]\n",
|
1833 |
+
"[32533, 'friends', 32555]\n",
|
1834 |
+
"[32533, 'friends', 32416]\n",
|
1835 |
+
"[32533, 'friends', 32543]\n",
|
1836 |
+
"[32533, 'influential', 32433]\n",
|
1837 |
+
"[32533, 'influential', 32498]\n",
|
1838 |
+
"[32533, 'influential', 32525]\n",
|
1839 |
+
"[32533, 'feedback', 32465]\n",
|
1840 |
+
"[32533, 'feedback', 32433]\n",
|
1841 |
+
"[32533, 'moretime', 32448]\n",
|
1842 |
+
"[32533, 'advice', 32465]\n",
|
1843 |
+
"[32533, 'advice', 32433]\n",
|
1844 |
+
"[32547, 'friends', 32442]\n",
|
1845 |
+
"[32547, 'friends', 32438]\n",
|
1846 |
+
"[32547, 'friends', 32484]\n",
|
1847 |
+
"[32547, 'friends', 32564]\n",
|
1848 |
+
"[32547, 'feedback', 32459]\n",
|
1849 |
+
"[32547, 'moretime', 32442]\n",
|
1850 |
+
"[32547, 'moretime', 32438]\n",
|
1851 |
+
"[32547, 'moretime', 32484]\n",
|
1852 |
+
"[32547, 'advice', 32459]\n",
|
1853 |
+
"[32547, 'advice', 32442]\n",
|
1854 |
+
"[32547, 'advice', 32484]\n",
|
1855 |
+
"[32547, 'disrespect', 32441]\n",
|
1856 |
+
"[32430, 'friends', 32418]\n",
|
1857 |
+
"[32430, 'friends', 32426]\n",
|
1858 |
+
"[32430, 'friends', 32535]\n",
|
1859 |
+
"[32430, 'friends', 32440]\n",
|
1860 |
+
"[32430, 'friends', 32519]\n",
|
1861 |
+
"[32430, 'moretime', 32418]\n",
|
1862 |
+
"[32430, 'moretime', 32426]\n",
|
1863 |
+
"[32430, 'moretime', 32535]\n",
|
1864 |
+
"[32430, 'moretime', 32519]\n",
|
1865 |
+
"[32430, 'moretime', 32439]\n",
|
1866 |
+
"[32564, 'friends', 32452]\n",
|
1867 |
+
"[32564, 'friends', 32547]\n",
|
1868 |
+
"[32564, 'friends', 32438]\n",
|
1869 |
+
"[32564, 'friends', 32442]\n",
|
1870 |
+
"[32564, 'advice', 32547]\n",
|
1871 |
+
"[32564, 'disrespect', 32559]\n",
|
1872 |
+
"[32564, 'disrespect', 32455]\n",
|
1873 |
+
"[32537, 'friends', 32484]\n",
|
1874 |
+
"[32537, 'influential', 32443]\n",
|
1875 |
+
"[32537, 'influential', 32459]\n",
|
1876 |
+
"[32537, 'moretime', 32484]\n",
|
1877 |
+
"[32537, 'moretime', 32483]\n",
|
1878 |
+
"[32537, 'advice', 32484]\n",
|
1879 |
+
"[32537, 'advice', 32399]\n",
|
1880 |
+
"[32441, 'friends', 32489]\n",
|
1881 |
+
"[32441, 'friends', 32410]\n",
|
1882 |
+
"[32441, 'influential', 32489]\n",
|
1883 |
+
"[32441, 'feedback', 32489]\n",
|
1884 |
+
"[32441, 'moretime', 32410]\n",
|
1885 |
+
"[32441, 'advice', 32489]\n",
|
1886 |
+
"[32555, 'friends', 32470]\n",
|
1887 |
+
"[32555, 'friends', 32514]\n",
|
1888 |
+
"[32555, 'friends', 32423]\n",
|
1889 |
+
"[32555, 'friends', 32465]\n",
|
1890 |
+
"[32555, 'friends', 32498]\n",
|
1891 |
+
"[32555, 'friends', 32418]\n",
|
1892 |
+
"[32555, 'friends', 32533]\n",
|
1893 |
+
"[32555, 'friends', 32435]\n",
|
1894 |
+
"[32555, 'influential', 32540]\n",
|
1895 |
+
"[32555, 'feedback', 32423]\n",
|
1896 |
+
"[32555, 'moretime', 32498]\n",
|
1897 |
+
"[32555, 'moretime', 32435]\n",
|
1898 |
+
"[32555, 'moretime', 32423]\n",
|
1899 |
+
"[32555, 'moretime', 32470]\n",
|
1900 |
+
"[32442, 'friends', 32484]\n",
|
1901 |
+
"[32442, 'friends', 32560]\n",
|
1902 |
+
"[32442, 'friends', 32438]\n",
|
1903 |
+
"[32442, 'friends', 32548]\n",
|
1904 |
+
"[32442, 'influential', 32547]\n",
|
1905 |
+
"[32442, 'influential', 32540]\n",
|
1906 |
+
"[32442, 'feedback', 32483]\n",
|
1907 |
+
"[32442, 'feedback', 32484]\n",
|
1908 |
+
"[32442, 'moretime', 32484]\n",
|
1909 |
+
"[32442, 'moretime', 32438]\n",
|
1910 |
+
"[32442, 'advice', 32483]\n",
|
1911 |
+
"[32442, 'advice', 32484]\n",
|
1912 |
+
"[32442, 'disrespect', 32441]\n",
|
1913 |
+
"[32442, 'disrespect', 32500]\n",
|
1914 |
+
"[32472, 'friends', 32471]\n",
|
1915 |
+
"[32472, 'friends', 32452]\n",
|
1916 |
+
"[32472, 'influential', 32540]\n",
|
1917 |
+
"[32472, 'influential', 32441]\n",
|
1918 |
+
"[32472, 'feedback', 32484]\n",
|
1919 |
+
"[32472, 'moretime', 32471]\n",
|
1920 |
+
"[32472, 'moretime', 32421]\n",
|
1921 |
+
"[32472, 'advice', 32448]\n",
|
1922 |
+
"[32472, 'disrespect', 32564]\n",
|
1923 |
+
"[32472, 'disrespect', 32441]\n",
|
1924 |
+
"[32560, 'friends', 32484]\n",
|
1925 |
+
"[32560, 'friends', 32442]\n",
|
1926 |
+
"[32560, 'friends', 32483]\n",
|
1927 |
+
"[32560, 'influential', 32547]\n",
|
1928 |
+
"[32560, 'feedback', 32483]\n",
|
1929 |
+
"[32560, 'feedback', 32484]\n",
|
1930 |
+
"[32560, 'moretime', 32457]\n",
|
1931 |
+
"[32560, 'moretime', 32438]\n",
|
1932 |
+
"[32560, 'advice', 32457]\n",
|
1933 |
+
"[32560, 'advice', 32483]\n",
|
1934 |
+
"[32560, 'disrespect', 32441]\n",
|
1935 |
+
"[32419, 'friends', 32504]\n",
|
1936 |
+
"[32419, 'friends', 32501]\n",
|
1937 |
+
"[32419, 'friends', 32495]\n",
|
1938 |
+
"[32419, 'friends', 32494]\n",
|
1939 |
+
"[32419, 'friends', 32489]\n",
|
1940 |
+
"[32419, 'friends', 32545]\n",
|
1941 |
+
"[32419, 'friends', 32455]\n",
|
1942 |
+
"[32419, 'friends', 32480]\n",
|
1943 |
+
"[32419, 'advice', 32501]\n",
|
1944 |
+
"[32419, 'advice', 32455]\n",
|
1945 |
+
"[32419, 'advice', 32504]\n",
|
1946 |
+
"[32452, 'friends', 32484]\n",
|
1947 |
+
"[32452, 'friends', 32452]\n",
|
1948 |
+
"[32452, 'friends', 32471]\n",
|
1949 |
+
"[32452, 'friends', 32472]\n",
|
1950 |
+
"[32452, 'influential', 32551]\n",
|
1951 |
+
"[32452, 'feedback', 32484]\n",
|
1952 |
+
"[32452, 'feedback', 32472]\n",
|
1953 |
+
"[32452, 'moretime', 32484]\n",
|
1954 |
+
"[32452, 'advice', 32484]\n",
|
1955 |
+
"[32452, 'advice', 32457]\n",
|
1956 |
+
"[32416, 'friends', 32433]\n",
|
1957 |
+
"[32416, 'friends', 32548]\n",
|
1958 |
+
"[32416, 'friends', 32496]\n",
|
1959 |
+
"[32416, 'friends', 32415]\n",
|
1960 |
+
"[32416, 'friends', 32543]\n",
|
1961 |
+
"[32416, 'friends', 32533]\n",
|
1962 |
+
"[32416, 'friends', 32458]\n",
|
1963 |
+
"[32416, 'friends', 32563]\n",
|
1964 |
+
"[32416, 'friends', 32509]\n",
|
1965 |
+
"[32416, 'friends', 32498]\n",
|
1966 |
+
"[32416, 'friends', 32546]\n",
|
1967 |
+
"[32416, 'friends', 32407]\n",
|
1968 |
+
"[32416, 'friends', 32461]\n",
|
1969 |
+
"[32416, 'friends', 32510]\n",
|
1970 |
+
"[32416, 'influential', 32433]\n",
|
1971 |
+
"[32416, 'influential', 32415]\n",
|
1972 |
+
"[32416, 'influential', 32496]\n",
|
1973 |
+
"[32416, 'influential', 32461]\n",
|
1974 |
+
"[32416, 'influential', 32563]\n",
|
1975 |
+
"[32416, 'influential', 32543]\n",
|
1976 |
+
"[32416, 'feedback', 32461]\n",
|
1977 |
+
"[32416, 'feedback', 32563]\n",
|
1978 |
+
"[32416, 'moretime', 32543]\n",
|
1979 |
+
"[32416, 'moretime', 32433]\n",
|
1980 |
+
"[32416, 'moretime', 32496]\n",
|
1981 |
+
"[32416, 'moretime', 32563]\n",
|
1982 |
+
"[32416, 'moretime', 32407]\n",
|
1983 |
+
"[32416, 'advice', 32461]\n",
|
1984 |
+
"[32416, 'advice', 32563]\n",
|
1985 |
+
"[32416, 'advice', 32496]\n",
|
1986 |
+
"[32416, 'advice', 32433]\n",
|
1987 |
+
"[32434, 'friends', 32488]\n",
|
1988 |
+
"[32434, 'friends', 32394]\n",
|
1989 |
+
"[32434, 'friends', 32519]\n",
|
1990 |
+
"[32434, 'friends', 32427]\n",
|
1991 |
+
"[32434, 'friends', 32423]\n",
|
1992 |
+
"[32434, 'friends', 32543]\n",
|
1993 |
+
"[32434, 'friends', 32407]\n",
|
1994 |
+
"[32434, 'friends', 32542]\n",
|
1995 |
+
"[32434, 'influential', 32507]\n",
|
1996 |
+
"[32434, 'feedback', 32394]\n",
|
1997 |
+
"[32434, 'feedback', 32427]\n",
|
1998 |
+
"[32434, 'moretime', 32423]\n",
|
1999 |
+
"[32434, 'moretime', 32427]\n",
|
2000 |
+
"[32434, 'moretime', 32488]\n",
|
2001 |
+
"[32434, 'moretime', 32543]\n",
|
2002 |
+
"[32434, 'advice', 32394]\n",
|
2003 |
+
"[32434, 'advice', 32427]\n",
|
2004 |
+
"[32434, 'advice', 32488]\n",
|
2005 |
+
"[32434, 'advice', 32423]\n",
|
2006 |
+
"[32434, 'advice', 32519]\n",
|
2007 |
+
"[32434, 'advice', 32543]\n",
|
2008 |
+
"[32438, 'friends', 32484]\n",
|
2009 |
+
"[32438, 'friends', 32537]\n",
|
2010 |
+
"[32438, 'friends', 32442]\n",
|
2011 |
+
"[32438, 'influential', 32547]\n",
|
2012 |
+
"[32438, 'moretime', 32484]\n",
|
2013 |
+
"[32438, 'advice', 32442]\n",
|
2014 |
+
"[32426, 'friends', 32418]\n",
|
2015 |
+
"[32426, 'friends', 32396]\n",
|
2016 |
+
"[32426, 'friends', 32535]\n",
|
2017 |
+
"[32426, 'influential', 32535]\n",
|
2018 |
+
"[32426, 'influential', 32418]\n",
|
2019 |
+
"[32426, 'influential', 32396]\n",
|
2020 |
+
"[32426, 'feedback', 32418]\n",
|
2021 |
+
"[32426, 'moretime', 32418]\n",
|
2022 |
+
"[32426, 'advice', 32418]\n",
|
2023 |
+
"[32426, 'advice', 32396]\n",
|
2024 |
+
"[32426, 'advice', 32535]\n",
|
2025 |
+
"[32426, 'disrespect', 32414]\n",
|
2026 |
+
"[32563, 'friends', 32407]\n",
|
2027 |
+
"[32563, 'friends', 32509]\n",
|
2028 |
+
"[32563, 'friends', 32539]\n",
|
2029 |
+
"[32563, 'friends', 32461]\n",
|
2030 |
+
"[32563, 'friends', 32548]\n",
|
2031 |
+
"[32563, 'friends', 32416]\n",
|
2032 |
+
"[32563, 'advice', 32562]\n",
|
2033 |
+
"[32519, 'friends', 32394]\n",
|
2034 |
+
"[32519, 'friends', 32451]\n",
|
2035 |
+
"[32519, 'friends', 32434]\n",
|
2036 |
+
"[32519, 'friends', 32424]\n",
|
2037 |
+
"[32519, 'friends', 32486]\n",
|
2038 |
+
"[32519, 'friends', 32430]\n",
|
2039 |
+
"[32519, 'influential', 32535]\n",
|
2040 |
+
"[32519, 'influential', 32396]\n",
|
2041 |
+
"[32519, 'influential', 32426]\n",
|
2042 |
+
"[32519, 'influential', 32401]\n",
|
2043 |
+
"[32519, 'influential', 32478]\n",
|
2044 |
+
"[32519, 'feedback', 32440]\n",
|
2045 |
+
"[32519, 'moretime', 32394]\n",
|
2046 |
+
"[32519, 'moretime', 32434]\n",
|
2047 |
+
"[32519, 'moretime', 32430]\n",
|
2048 |
+
"[32519, 'advice', 32486]\n",
|
2049 |
+
"[32519, 'advice', 32440]\n",
|
2050 |
+
"[32543, 'friends', 32498]\n",
|
2051 |
+
"[32543, 'friends', 32433]\n",
|
2052 |
+
"[32543, 'friends', 32496]\n",
|
2053 |
+
"[32543, 'friends', 32510]\n",
|
2054 |
+
"[32543, 'friends', 32427]\n",
|
2055 |
+
"[32543, 'friends', 32423]\n",
|
2056 |
+
"[32543, 'friends', 32488]\n",
|
2057 |
+
"[32543, 'friends', 32407]\n",
|
2058 |
+
"[32543, 'friends', 32455]\n",
|
2059 |
+
"[32543, 'friends', 32434]\n",
|
2060 |
+
"[32543, 'friends', 32559]\n",
|
2061 |
+
"[32543, 'friends', 32490]\n",
|
2062 |
+
"[32543, 'feedback', 32510]\n",
|
2063 |
+
"[32543, 'feedback', 32490]\n",
|
2064 |
+
"[32543, 'moretime', 32423]\n",
|
2065 |
+
"[32543, 'moretime', 32488]\n",
|
2066 |
+
"[32543, 'moretime', 32427]\n",
|
2067 |
+
"[32543, 'moretime', 32510]\n",
|
2068 |
+
"[32543, 'moretime', 32434]\n",
|
2069 |
+
"[32543, 'moretime', 32490]\n",
|
2070 |
+
"[32521, 'friends', 32436]\n",
|
2071 |
+
"[32521, 'friends', 32531]\n",
|
2072 |
+
"[32521, 'friends', 32460]\n",
|
2073 |
+
"[32521, 'influential', 32507]\n",
|
2074 |
+
"[32521, 'feedback', 32420]\n",
|
2075 |
+
"[32521, 'feedback', 32521]\n",
|
2076 |
+
"[32521, 'moretime', 32462]\n",
|
2077 |
+
"[32521, 'moretime', 32540]\n",
|
2078 |
+
"[32521, 'moretime', 32460]\n",
|
2079 |
+
"[32521, 'advice', 32521]\n",
|
2080 |
+
"[32521, 'disrespect', 32414]\n",
|
2081 |
+
"[32521, 'disrespect', 32503]\n",
|
2082 |
+
"[32526, 'friends', 32557]\n",
|
2083 |
+
"[32526, 'friends', 32444]\n",
|
2084 |
+
"[32526, 'friends', 32500]\n",
|
2085 |
+
"[32526, 'friends', 32537]\n",
|
2086 |
+
"[32526, 'influential', 32540]\n",
|
2087 |
+
"[32526, 'feedback', 32557]\n",
|
2088 |
+
"[32526, 'feedback', 32444]\n",
|
2089 |
+
"[32526, 'moretime', 32557]\n",
|
2090 |
+
"[32526, 'moretime', 32444]\n",
|
2091 |
+
"[32526, 'moretime', 32500]\n",
|
2092 |
+
"[32526, 'advice', 32557]\n",
|
2093 |
+
"[32526, 'advice', 32444]\n",
|
2094 |
+
"[32526, 'disrespect', 32466]\n",
|
2095 |
+
"[32561, 'friends', 32548]\n",
|
2096 |
+
"[32561, 'moretime', 32548]\n",
|
2097 |
+
"[32542, 'friends', 32407]\n",
|
2098 |
+
"[32542, 'friends', 32392]\n",
|
2099 |
+
"[32542, 'friends', 32433]\n",
|
2100 |
+
"[32542, 'friends', 32455]\n",
|
2101 |
+
"[32542, 'friends', 32402]\n",
|
2102 |
+
"[32542, 'friends', 32427]\n",
|
2103 |
+
"[32542, 'friends', 32488]\n",
|
2104 |
+
"[32542, 'friends', 32543]\n",
|
2105 |
+
"[32542, 'friends', 32416]\n",
|
2106 |
+
"[32542, 'friends', 32502]\n",
|
2107 |
+
"[32542, 'friends', 32559]\n",
|
2108 |
+
"[32542, 'friends', 32490]\n",
|
2109 |
+
"[32542, 'friends', 32510]\n",
|
2110 |
+
"[32542, 'friends', 32409]\n",
|
2111 |
+
"[32542, 'friends', 32540]\n",
|
2112 |
+
"[32542, 'moretime', 32392]\n",
|
2113 |
+
"[32542, 'moretime', 32407]\n",
|
2114 |
+
"[32542, 'advice', 32455]\n",
|
2115 |
+
"[32542, 'advice', 32433]\n",
|
2116 |
+
"[32542, 'advice', 32407]\n",
|
2117 |
+
"[32393, 'friends', 32396]\n",
|
2118 |
+
"[32393, 'friends', 32544]\n",
|
2119 |
+
"[32393, 'friends', 32405]\n",
|
2120 |
+
"[32393, 'friends', 32485]\n",
|
2121 |
+
"[32393, 'friends', 32443]\n",
|
2122 |
+
"[32393, 'influential', 32396]\n",
|
2123 |
+
"[32393, 'feedback', 32544]\n",
|
2124 |
+
"[32393, 'advice', 32396]\n",
|
2125 |
+
"[32393, 'disrespect', 32466]\n",
|
2126 |
+
"[32496, 'friends', 32416]\n",
|
2127 |
+
"[32496, 'friends', 32415]\n",
|
2128 |
+
"[32496, 'friends', 32498]\n",
|
2129 |
+
"[32496, 'friends', 32433]\n",
|
2130 |
+
"[32496, 'friends', 32543]\n",
|
2131 |
+
"[32496, 'friends', 32546]\n",
|
2132 |
+
"[32496, 'friends', 32480]\n",
|
2133 |
+
"[32496, 'feedback', 32416]\n",
|
2134 |
+
"[32496, 'moretime', 32405]\n",
|
2135 |
+
"[32464, 'friends', 32431]\n",
|
2136 |
+
"[32464, 'friends', 32425]\n",
|
2137 |
+
"[32464, 'friends', 32551]\n",
|
2138 |
+
"[32464, 'friends', 32525]\n",
|
2139 |
+
"[32464, 'friends', 32549]\n",
|
2140 |
+
"[32464, 'friends', 32391]\n",
|
2141 |
+
"[32464, 'friends', 32414]\n",
|
2142 |
+
"[32464, 'friends', 32406]\n",
|
2143 |
+
"[32464, 'influential', 32540]\n",
|
2144 |
+
"[32464, 'feedback', 32525]\n",
|
2145 |
+
"[32464, 'moretime', 32508]\n",
|
2146 |
+
"[32464, 'moretime', 32414]\n",
|
2147 |
+
"[32464, 'moretime', 32455]\n",
|
2148 |
+
"[32464, 'advice', 32391]\n",
|
2149 |
+
"[32464, 'disrespect', 32466]\n",
|
2150 |
+
"[32488, 'friends', 32394]\n",
|
2151 |
+
"[32488, 'friends', 32423]\n",
|
2152 |
+
"[32488, 'friends', 32543]\n",
|
2153 |
+
"[32488, 'friends', 32427]\n",
|
2154 |
+
"[32488, 'friends', 32407]\n",
|
2155 |
+
"[32488, 'friends', 32542]\n",
|
2156 |
+
"[32488, 'friends', 32433]\n",
|
2157 |
+
"[32488, 'friends', 32434]\n",
|
2158 |
+
"[32488, 'friends', 32498]\n",
|
2159 |
+
"[32488, 'friends', 32488]\n",
|
2160 |
+
"[32488, 'friends', 32559]\n",
|
2161 |
+
"[32488, 'friends', 32502]\n",
|
2162 |
+
"[32488, 'friends', 32460]\n",
|
2163 |
+
"[32488, 'influential', 32543]\n",
|
2164 |
+
"[32488, 'influential', 32559]\n",
|
2165 |
+
"[32488, 'feedback', 32423]\n",
|
2166 |
+
"[32488, 'feedback', 32543]\n",
|
2167 |
+
"[32488, 'feedback', 32502]\n",
|
2168 |
+
"[32488, 'feedback', 32460]\n",
|
2169 |
+
"[32488, 'feedback', 32407]\n",
|
2170 |
+
"[32488, 'moretime', 32423]\n",
|
2171 |
+
"[32488, 'moretime', 32543]\n",
|
2172 |
+
"[32488, 'moretime', 32407]\n",
|
2173 |
+
"[32488, 'moretime', 32427]\n",
|
2174 |
+
"[32488, 'moretime', 32502]\n",
|
2175 |
+
"[32488, 'moretime', 32460]\n",
|
2176 |
+
"[32488, 'advice', 32542]\n",
|
2177 |
+
"[32488, 'advice', 32423]\n",
|
2178 |
+
"[32488, 'advice', 32434]\n",
|
2179 |
+
"[32488, 'advice', 32543]\n",
|
2180 |
+
"[32488, 'advice', 32427]\n",
|
2181 |
+
"[32488, 'disrespect', 32411]\n",
|
2182 |
+
"[32488, 'disrespect', 32552]\n",
|
2183 |
+
"[32488, 'disrespect', 32455]\n",
|
2184 |
+
"[32562, 'friends', 32552]\n",
|
2185 |
+
"[32562, 'friends', 32531]\n",
|
2186 |
+
"[32562, 'friends', 32407]\n",
|
2187 |
+
"[32562, 'friends', 32482]\n",
|
2188 |
+
"[32562, 'friends', 32490]\n",
|
2189 |
+
"[32562, 'friends', 32563]\n",
|
2190 |
+
"[32518, 'friends', 32443]\n",
|
2191 |
+
"[32518, 'friends', 32491]\n",
|
2192 |
+
"[32518, 'friends', 32406]\n",
|
2193 |
+
"[32518, 'friends', 32405]\n",
|
2194 |
+
"[32518, 'friends', 32507]\n",
|
2195 |
+
"[32518, 'friends', 32396]\n",
|
2196 |
+
"[32518, 'friends', 32393]\n",
|
2197 |
+
"[32518, 'friends', 32459]\n",
|
2198 |
+
"[32518, 'friends', 32411]\n",
|
2199 |
+
"[32518, 'influential', 32518]\n",
|
2200 |
+
"[32518, 'feedback', 32491]\n",
|
2201 |
+
"[32518, 'moretime', 32443]\n",
|
2202 |
+
"[32518, 'advice', 32443]\n",
|
2203 |
+
"[32518, 'advice', 32491]\n",
|
2204 |
+
"[32518, 'advice', 32406]\n",
|
2205 |
+
"[32502, 'friends', 32488]\n",
|
2206 |
+
"[32502, 'friends', 32434]\n",
|
2207 |
+
"[32502, 'friends', 32549]\n",
|
2208 |
+
"[32502, 'friends', 32423]\n",
|
2209 |
+
"[32502, 'friends', 32518]\n",
|
2210 |
+
"[32502, 'friends', 32427]\n",
|
2211 |
+
"[32502, 'friends', 32460]\n",
|
2212 |
+
"[32502, 'feedback', 32434]\n",
|
2213 |
+
"[32502, 'feedback', 32460]\n",
|
2214 |
+
"[32502, 'feedback', 32488]\n",
|
2215 |
+
"[32502, 'moretime', 32488]\n",
|
2216 |
+
"[32502, 'moretime', 32423]\n",
|
2217 |
+
"[32502, 'advice', 32488]\n",
|
2218 |
+
"[32502, 'advice', 32460]\n",
|
2219 |
+
"[32502, 'advice', 32434]\n",
|
2220 |
+
"[32410, 'friends', 32489]\n",
|
2221 |
+
"[32410, 'friends', 32499]\n",
|
2222 |
+
"[32410, 'friends', 32441]\n",
|
2223 |
+
"[32410, 'friends', 32480]\n",
|
2224 |
+
"[32410, 'friends', 32413]\n",
|
2225 |
+
"[32410, 'feedback', 32489]\n",
|
2226 |
+
"[32410, 'feedback', 32512]\n",
|
2227 |
+
"[32410, 'moretime', 32489]\n",
|
2228 |
+
"[32410, 'advice', 32489]\n",
|
2229 |
+
"[32506, 'friends', 32481]\n",
|
2230 |
+
"[32506, 'friends', 32511]\n",
|
2231 |
+
"[32506, 'friends', 32482]\n",
|
2232 |
+
"[32506, 'friends', 32536]\n",
|
2233 |
+
"[32506, 'friends', 32450]\n",
|
2234 |
+
"[32506, 'friends', 32524]\n",
|
2235 |
+
"[32506, 'feedback', 32524]\n",
|
2236 |
+
"[32506, 'moretime', 32450]\n",
|
2237 |
+
"[32412, 'friends', 32497]\n",
|
2238 |
+
"[32412, 'friends', 32403]\n",
|
2239 |
+
"[32412, 'moretime', 32497]\n",
|
2240 |
+
"[32412, 'moretime', 32403]\n",
|
2241 |
+
"[32539, 'friends', 32509]\n",
|
2242 |
+
"[32539, 'friends', 32476]\n",
|
2243 |
+
"[32539, 'friends', 32407]\n",
|
2244 |
+
"[32539, 'friends', 32548]\n",
|
2245 |
+
"[32539, 'friends', 32563]\n",
|
2246 |
+
"[32539, 'friends', 32528]\n",
|
2247 |
+
"[32539, 'friends', 32461]\n",
|
2248 |
+
"[32539, 'influential', 32476]\n",
|
2249 |
+
"[32539, 'influential', 32507]\n",
|
2250 |
+
"[32539, 'influential', 32457]\n",
|
2251 |
+
"[32539, 'influential', 32514]\n",
|
2252 |
+
"[32539, 'influential', 32477]\n",
|
2253 |
+
"[32539, 'moretime', 32476]\n",
|
2254 |
+
"[32539, 'moretime', 32528]\n",
|
2255 |
+
"[32539, 'advice', 32563]\n",
|
2256 |
+
"[32510, 'friends', 32490]\n",
|
2257 |
+
"[32510, 'friends', 32509]\n",
|
2258 |
+
"[32510, 'friends', 32543]\n",
|
2259 |
+
"[32510, 'friends', 32416]\n",
|
2260 |
+
"[32510, 'friends', 32407]\n",
|
2261 |
+
"[32510, 'friends', 32433]\n",
|
2262 |
+
"[32510, 'friends', 32542]\n",
|
2263 |
+
"[32510, 'friends', 32427]\n",
|
2264 |
+
"[32510, 'friends', 32455]\n",
|
2265 |
+
"[32510, 'influential', 32490]\n",
|
2266 |
+
"[32510, 'feedback', 32490]\n",
|
2267 |
+
"[32510, 'feedback', 32543]\n",
|
2268 |
+
"[32510, 'feedback', 32536]\n",
|
2269 |
+
"[32510, 'moretime', 32490]\n",
|
2270 |
+
"[32510, 'moretime', 32543]\n",
|
2271 |
+
"[32510, 'moretime', 32394]\n",
|
2272 |
+
"[32510, 'moretime', 32509]\n",
|
2273 |
+
"[32510, 'moretime', 32488]\n",
|
2274 |
+
"[32510, 'moretime', 32542]\n",
|
2275 |
+
"[32510, 'moretime', 32416]\n",
|
2276 |
+
"[32510, 'moretime', 32433]\n",
|
2277 |
+
"[32510, 'advice', 32490]\n",
|
2278 |
+
"[32510, 'advice', 32543]\n",
|
2279 |
+
"[32469, 'friends', 32513]\n",
|
2280 |
+
"[32469, 'friends', 32517]\n",
|
2281 |
+
"[32469, 'friends', 32546]\n",
|
2282 |
+
"[32469, 'friends', 32540]\n",
|
2283 |
+
"[32469, 'friends', 32440]\n",
|
2284 |
+
"[32469, 'friends', 32409]\n",
|
2285 |
+
"[32469, 'friends', 32462]\n",
|
2286 |
+
"[32469, 'feedback', 32420]\n",
|
2287 |
+
"[32469, 'feedback', 32468]\n",
|
2288 |
+
"[32469, 'moretime', 32513]\n",
|
2289 |
+
"[32469, 'moretime', 32517]\n",
|
2290 |
+
"[32469, 'moretime', 32462]\n",
|
2291 |
+
"[32469, 'advice', 32540]\n",
|
2292 |
+
"[32469, 'advice', 32468]\n",
|
2293 |
+
"[32469, 'advice', 32420]\n",
|
2294 |
+
"[32469, 'advice', 32501]\n",
|
2295 |
+
"[32548, 'friends', 32407]\n",
|
2296 |
+
"[32548, 'friends', 32416]\n",
|
2297 |
+
"[32548, 'friends', 32461]\n",
|
2298 |
+
"[32548, 'friends', 32539]\n",
|
2299 |
+
"[32548, 'friends', 32509]\n",
|
2300 |
+
"[32548, 'friends', 32563]\n",
|
2301 |
+
"[32548, 'friends', 32561]\n",
|
2302 |
+
"[32548, 'feedback', 32416]\n",
|
2303 |
+
"[32548, 'advice', 32416]\n",
|
2304 |
+
"[32507, 'friends', 32396]\n",
|
2305 |
+
"[32507, 'friends', 32405]\n",
|
2306 |
+
"[32507, 'friends', 32544]\n",
|
2307 |
+
"[32507, 'friends', 32535]\n",
|
2308 |
+
"[32507, 'friends', 32417]\n",
|
2309 |
+
"[32507, 'friends', 32491]\n",
|
2310 |
+
"[32507, 'friends', 32443]\n",
|
2311 |
+
"[32507, 'friends', 32518]\n",
|
2312 |
+
"[32507, 'influential', 32396]\n",
|
2313 |
+
"[32507, 'moretime', 32417]\n",
|
2314 |
+
"[32507, 'moretime', 32491]\n",
|
2315 |
+
"[32507, 'moretime', 32443]\n",
|
2316 |
+
"[32507, 'moretime', 32405]\n",
|
2317 |
+
"[32507, 'moretime', 32518]\n",
|
2318 |
+
"[32507, 'moretime', 32396]\n",
|
2319 |
+
"[32507, 'moretime', 32544]\n",
|
2320 |
+
"[32536, 'friends', 32536]\n",
|
2321 |
+
"[32536, 'friends', 32524]\n",
|
2322 |
+
"[32536, 'friends', 32511]\n",
|
2323 |
+
"[32536, 'friends', 32482]\n",
|
2324 |
+
"[32536, 'friends', 32506]\n",
|
2325 |
+
"[32536, 'friends', 32450]\n",
|
2326 |
+
"[32536, 'friends', 32481]\n",
|
2327 |
+
"[32536, 'friends', 32521]\n",
|
2328 |
+
"[32536, 'feedback', 32536]\n",
|
2329 |
+
"[32536, 'moretime', 32521]\n",
|
2330 |
+
"[32536, 'advice', 32536]\n",
|
2331 |
+
"[32524, 'friends', 32511]\n",
|
2332 |
+
"[32524, 'friends', 32450]\n",
|
2333 |
+
"[32524, 'friends', 32482]\n",
|
2334 |
+
"[32524, 'friends', 32506]\n",
|
2335 |
+
"[32524, 'friends', 32481]\n",
|
2336 |
+
"[32524, 'friends', 32410]\n",
|
2337 |
+
"[32524, 'friends', 32536]\n",
|
2338 |
+
"[32524, 'influential', 32396]\n",
|
2339 |
+
"[32524, 'feedback', 32450]\n",
|
2340 |
+
"[32524, 'moretime', 32511]\n",
|
2341 |
+
"[32524, 'moretime', 32410]\n",
|
2342 |
+
"[32524, 'moretime', 32481]\n",
|
2343 |
+
"[32524, 'moretime', 32450]\n",
|
2344 |
+
"[32524, 'moretime', 32506]\n",
|
2345 |
+
"[32524, 'advice', 32450]\n",
|
2346 |
+
"[32524, 'advice', 32482]\n",
|
2347 |
+
"[32524, 'disrespect', 32536]\n",
|
2348 |
+
"[32482, 'friends', 32481]\n",
|
2349 |
+
"[32482, 'friends', 32536]\n",
|
2350 |
+
"[32482, 'friends', 32450]\n",
|
2351 |
+
"[32482, 'friends', 32524]\n",
|
2352 |
+
"[32482, 'friends', 32412]\n",
|
2353 |
+
"[32482, 'feedback', 32481]\n",
|
2354 |
+
"[32482, 'advice', 32536]\n",
|
2355 |
+
"[32482, 'advice', 32450]\n",
|
2356 |
+
"[32481, 'friends', 32482]\n",
|
2357 |
+
"[32481, 'friends', 32416]\n",
|
2358 |
+
"[32481, 'friends', 32506]\n",
|
2359 |
+
"[32481, 'friends', 32450]\n",
|
2360 |
+
"[32481, 'friends', 32536]\n",
|
2361 |
+
"[32481, 'friends', 32511]\n",
|
2362 |
+
"[32481, 'friends', 32524]\n",
|
2363 |
+
"[32481, 'feedback', 32482]\n",
|
2364 |
+
"[32481, 'moretime', 32482]\n",
|
2365 |
+
"[32481, 'moretime', 32416]\n",
|
2366 |
+
"[32481, 'advice', 32482]\n",
|
2367 |
+
"[32481, 'advice', 32506]\n",
|
2368 |
+
"[32481, 'disrespect', 32413]\n",
|
2369 |
+
"[32481, 'disrespect', 32405]\n",
|
2370 |
+
"[32439, 'friends', 32457]\n",
|
2371 |
+
"[32439, 'friends', 32503]\n",
|
2372 |
+
"[32439, 'friends', 32479]\n",
|
2373 |
+
"[32439, 'friends', 32418]\n",
|
2374 |
+
"[32439, 'friends', 32403]\n",
|
2375 |
+
"[32439, 'influential', 32406]\n",
|
2376 |
+
"[32439, 'influential', 32518]\n",
|
2377 |
+
"[32439, 'influential', 32443]\n",
|
2378 |
+
"[32439, 'influential', 32491]\n",
|
2379 |
+
"[32439, 'feedback', 32503]\n",
|
2380 |
+
"[32439, 'feedback', 32457]\n",
|
2381 |
+
"[32439, 'moretime', 32499]\n",
|
2382 |
+
"[32439, 'moretime', 32410]\n",
|
2383 |
+
"[32439, 'moretime', 32485]\n",
|
2384 |
+
"[32439, 'advice', 32503]\n",
|
2385 |
+
"[32439, 'advice', 32457]\n",
|
2386 |
+
"[32439, 'disrespect', 32552]\n",
|
2387 |
+
"[32559, 'friends', 32558]\n",
|
2388 |
+
"[32559, 'friends', 32565]\n",
|
2389 |
+
"[32559, 'friends', 32509]\n",
|
2390 |
+
"[32559, 'friends', 32427]\n",
|
2391 |
+
"[32559, 'friends', 32407]\n",
|
2392 |
+
"[32559, 'friends', 32562]\n",
|
2393 |
+
"[32559, 'friends', 32488]\n",
|
2394 |
+
"[32559, 'influential', 32488]\n",
|
2395 |
+
"[32559, 'feedback', 32565]\n",
|
2396 |
+
"[32559, 'feedback', 32556]\n",
|
2397 |
+
"[32559, 'advice', 32565]\n",
|
2398 |
+
"[32559, 'advice', 32556]\n",
|
2399 |
+
"[32559, 'advice', 32558]\n",
|
2400 |
+
"[32460, 'friends', 32458]\n",
|
2401 |
+
"[32460, 'friends', 32459]\n",
|
2402 |
+
"[32460, 'friends', 32421]\n",
|
2403 |
+
"[32460, 'friends', 32422]\n",
|
2404 |
+
"[32460, 'friends', 32404]\n",
|
2405 |
+
"[32460, 'influential', 32460]\n",
|
2406 |
+
"[32460, 'influential', 32458]\n",
|
2407 |
+
"[32460, 'feedback', 32458]\n",
|
2408 |
+
"[32460, 'feedback', 32459]\n",
|
2409 |
+
"[32460, 'feedback', 32417]\n",
|
2410 |
+
"[32460, 'moretime', 32458]\n",
|
2411 |
+
"[32460, 'moretime', 32459]\n",
|
2412 |
+
"[32460, 'moretime', 32421]\n",
|
2413 |
+
"[32460, 'moretime', 32422]\n",
|
2414 |
+
"[32460, 'advice', 32490]\n",
|
2415 |
+
"[32460, 'advice', 32459]\n",
|
2416 |
+
"[32460, 'advice', 32458]\n",
|
2417 |
+
"[32520, 'friends', 32556]\n",
|
2418 |
+
"[32520, 'friends', 32449]\n",
|
2419 |
+
"[32520, 'influential', 32547]\n",
|
2420 |
+
"[32520, 'influential', 32561]\n",
|
2421 |
+
"[32520, 'moretime', 32530]\n",
|
2422 |
+
"[32520, 'moretime', 32398]\n",
|
2423 |
+
"[32520, 'disrespect', 32455]\n",
|
2424 |
+
"[32450, 'friends', 32536]\n",
|
2425 |
+
"[32450, 'friends', 32524]\n",
|
2426 |
+
"[32450, 'friends', 32511]\n",
|
2427 |
+
"[32450, 'friends', 32482]\n",
|
2428 |
+
"[32450, 'friends', 32506]\n",
|
2429 |
+
"[32450, 'friends', 32481]\n",
|
2430 |
+
"[32450, 'friends', 32450]\n",
|
2431 |
+
"[32450, 'friends', 32521]\n",
|
2432 |
+
"[32450, 'feedback', 32450]\n",
|
2433 |
+
"[32450, 'advice', 32450]\n",
|
2434 |
+
"[32538, 'friends', 32554]\n",
|
2435 |
+
"[32538, 'friends', 32529]\n",
|
2436 |
+
"[32538, 'friends', 32549]\n",
|
2437 |
+
"[32538, 'friends', 32531]\n",
|
2438 |
+
"[32538, 'friends', 32422]\n",
|
2439 |
+
"[32538, 'friends', 32460]\n",
|
2440 |
+
"[32538, 'friends', 32458]\n",
|
2441 |
+
"[32538, 'influential', 32422]\n",
|
2442 |
+
"[32538, 'influential', 32549]\n",
|
2443 |
+
"[32538, 'influential', 32529]\n",
|
2444 |
+
"[32538, 'feedback', 32549]\n",
|
2445 |
+
"[32538, 'feedback', 32529]\n",
|
2446 |
+
"[32538, 'moretime', 32531]\n",
|
2447 |
+
"[32538, 'moretime', 32554]\n",
|
2448 |
+
"[32538, 'advice', 32529]\n",
|
2449 |
+
"[32538, 'advice', 32531]\n",
|
2450 |
+
"[32538, 'advice', 32554]\n",
|
2451 |
+
"[32538, 'disrespect', 32500]\n",
|
2452 |
+
"[32454, 'friends', 32495]\n",
|
2453 |
+
"[32454, 'friends', 32494]\n",
|
2454 |
+
"[32454, 'friends', 32479]\n",
|
2455 |
+
"[32454, 'friends', 32448]\n",
|
2456 |
+
"[32454, 'feedback', 32495]\n",
|
2457 |
+
"[32454, 'advice', 32495]\n",
|
2458 |
+
"[32554, 'friends', 32392]\n",
|
2459 |
+
"[32554, 'friends', 32532]\n",
|
2460 |
+
"[32554, 'friends', 32538]\n",
|
2461 |
+
"[32554, 'friends', 32531]\n",
|
2462 |
+
"[32554, 'friends', 32458]\n",
|
2463 |
+
"[32554, 'influential', 32422]\n",
|
2464 |
+
"[32554, 'influential', 32421]\n",
|
2465 |
+
"[32554, 'feedback', 32392]\n",
|
2466 |
+
"[32554, 'feedback', 32532]\n",
|
2467 |
+
"[32554, 'moretime', 32422]\n",
|
2468 |
+
"[32554, 'moretime', 32421]\n",
|
2469 |
+
"[32554, 'moretime', 32546]\n",
|
2470 |
+
"[32554, 'moretime', 32462]\n",
|
2471 |
+
"[32554, 'advice', 32392]\n",
|
2472 |
+
"[32554, 'advice', 32532]\n",
|
2473 |
+
"[32447, 'influential', 32541]\n",
|
2474 |
+
"[32447, 'advice', 32541]\n",
|
2475 |
+
"[32447, 'advice', 32512]\n",
|
2476 |
+
"[32447, 'advice', 32487]\n",
|
2477 |
+
"[32447, 'advice', 32448]\n",
|
2478 |
+
"[32447, 'advice', 32444]\n",
|
2479 |
+
"[32447, 'advice', 32413]\n",
|
2480 |
+
"[32447, 'advice', 32502]\n",
|
2481 |
+
"[32447, 'advice', 32529]\n",
|
2482 |
+
"[32447, 'advice', 32513]\n",
|
2483 |
+
"[32447, 'advice', 32440]\n",
|
2484 |
+
"[32423, 'friends', 32488]\n",
|
2485 |
+
"[32423, 'friends', 32555]\n",
|
2486 |
+
"[32423, 'friends', 32434]\n",
|
2487 |
+
"[32423, 'friends', 32427]\n",
|
2488 |
+
"[32423, 'friends', 32543]\n",
|
2489 |
+
"[32423, 'friends', 32407]\n",
|
2490 |
+
"[32423, 'influential', 32396]\n",
|
2491 |
+
"[32423, 'influential', 32555]\n",
|
2492 |
+
"[32423, 'influential', 32488]\n",
|
2493 |
+
"[32423, 'feedback', 32488]\n",
|
2494 |
+
"[32423, 'feedback', 32407]\n",
|
2495 |
+
"[32423, 'feedback', 32434]\n",
|
2496 |
+
"[32423, 'advice', 32488]\n",
|
2497 |
+
"[32423, 'advice', 32555]\n",
|
2498 |
+
"[32486, 'friends', 32519]\n",
|
2499 |
+
"[32486, 'friends', 32424]\n",
|
2500 |
+
"[32486, 'friends', 32451]\n",
|
2501 |
+
"[32486, 'moretime', 32424]\n",
|
2502 |
+
"[32486, 'advice', 32464]\n",
|
2503 |
+
"[32486, 'advice', 32392]\n",
|
2504 |
+
"[32449, 'friends', 32520]\n",
|
2505 |
+
"[32449, 'friends', 32531]\n",
|
2506 |
+
"[32449, 'moretime', 32531]\n",
|
2507 |
+
"[32449, 'moretime', 32538]\n",
|
2508 |
+
"[32465, 'friends', 32545]\n",
|
2509 |
+
"[32465, 'friends', 32504]\n",
|
2510 |
+
"[32465, 'friends', 32422]\n",
|
2511 |
+
"[32465, 'friends', 32421]\n",
|
2512 |
+
"[32465, 'friends', 32533]\n",
|
2513 |
+
"[32465, 'moretime', 32545]\n",
|
2514 |
+
"[32465, 'moretime', 32504]\n",
|
2515 |
+
"[32465, 'moretime', 32422]\n",
|
2516 |
+
"[32465, 'moretime', 32421]\n",
|
2517 |
+
"[32465, 'moretime', 32533]\n",
|
2518 |
+
"[32465, 'advice', 32465]\n",
|
2519 |
+
"[32465, 'advice', 32533]\n",
|
2520 |
+
"[32503, 'friends', 32439]\n",
|
2521 |
+
"[32503, 'friends', 32468]\n",
|
2522 |
+
"[32503, 'friends', 32401]\n",
|
2523 |
+
"[32503, 'influential', 32552]\n",
|
2524 |
+
"[32503, 'feedback', 32439]\n",
|
2525 |
+
"[32503, 'feedback', 32457]\n",
|
2526 |
+
"[32503, 'moretime', 32426]\n",
|
2527 |
+
"[32503, 'moretime', 32418]\n",
|
2528 |
+
"[32503, 'advice', 32439]\n",
|
2529 |
+
"[32503, 'advice', 32418]\n",
|
2530 |
+
"[32552, 'friends', 32562]\n",
|
2531 |
+
"[32552, 'advice', 32562]\n",
|
2532 |
+
"[32473, 'friends', 32448]\n",
|
2533 |
+
"[32473, 'friends', 32479]\n",
|
2534 |
+
"[32473, 'friends', 32484]\n",
|
2535 |
+
"[32473, 'friends', 32502]\n",
|
2536 |
+
"[32473, 'feedback', 32448]\n",
|
2537 |
+
"[32473, 'feedback', 32502]\n",
|
2538 |
+
"[32473, 'moretime', 32502]\n",
|
2539 |
+
"[32473, 'advice', 32448]\n",
|
2540 |
+
"[32473, 'advice', 32484]\n",
|
2541 |
+
"[32473, 'advice', 32502]\n",
|
2542 |
+
"[32473, 'disrespect', 32460]\n",
|
2543 |
+
"[32473, 'disrespect', 32466]\n"
|
2544 |
+
]
|
2545 |
+
}
|
2546 |
+
],
|
2547 |
+
"source": [
|
2548 |
+
"results = k_client.execute(\"\"\"MATCH q = (p:participants)-[f]->(p2:participants)\n",
|
2549 |
+
" RETURN p.participant_id,(rels(q)[1])._label,p2.participant_id;\"\"\")\n",
|
2550 |
+
"# results = k_client.execute(\"\"\"CALL SHOW_TABLES() RETURN *;\"\"\")\n",
|
2551 |
+
"\n",
|
2552 |
+
"\n",
|
2553 |
+
"while results.has_next():\n",
|
2554 |
+
" print(results.get_next())\n",
|
2555 |
+
"# print(results.get_next()[1][\"_label\"])"
|
2556 |
+
]
|
2557 |
+
}
|
2558 |
+
],
|
2559 |
+
"metadata": {
|
2560 |
+
"kernelspec": {
|
2561 |
+
"display_name": ".venv",
|
2562 |
+
"language": "python",
|
2563 |
+
"name": "python3"
|
2564 |
+
},
|
2565 |
+
"language_info": {
|
2566 |
+
"codemirror_mode": {
|
2567 |
+
"name": "ipython",
|
2568 |
+
"version": 3
|
2569 |
+
},
|
2570 |
+
"file_extension": ".py",
|
2571 |
+
"mimetype": "text/x-python",
|
2572 |
+
"name": "python",
|
2573 |
+
"nbconvert_exporter": "python",
|
2574 |
+
"pygments_lexer": "ipython3",
|
2575 |
+
"version": "3.9.6"
|
2576 |
+
}
|
2577 |
+
},
|
2578 |
+
"nbformat": 4,
|
2579 |
+
"nbformat_minor": 2
|
2580 |
+
}
|