I have a dataframe df with:
Source, Target
aaaa, bbbb
aaaa, cccc
aaaa, dddd
bbbb, cccc
cccc, dddd
and so on.
File "total_edges.csv" (71kb): https://uni-duisburg-essen.sciebo.de/s/WLDD4ytkjekVcIL
I get a graph object and, according to the github issue tracker (https://github.com/igraph/python-igraph/issues/253) the triad nodes/edges but it fails:
import pandas as pd
import igraph as ig
df_edges = pd.read_csv("total_edges.csv")
g = ig.Graph.TupleList(df_edges.itertuples(index=False), directed=True)
tc = g.triad_census()
ffl = ig.Graph.Formula("A --> B --> C, A --> C")
result = g.get_subisomorphisms_lad(ffl, induced=True)
print(result)
Error message (VM with updated Pop_OS x64, Python 3.7.5):
Traceback (most recent call last):
File "count_triads.py", line 20, in <module>
ffl = ig.Graph.Formula("A --> B --> C, A --> C")
File "/home/admin/.local/lib/python3.7/site-packages/igraph/formula.py", line 209, in construct_graph_from_formula
for start_names, end_names, arrowheads in generate_edges(part):
File "/home/admin/.local/lib/python3.7/site-packages/igraph/formula.py", line 90, in generate_edges
raise SyntaxError(msg)
SyntaxError: invalid token found in edge specification: A --> B --> C
How can I mark all nodes in that graph with the triad value (A, B, C, None) for triad type 030T so that I can filter/plot triads and non-triads differently?