I've been trying to learn more about the Bayesian inference techniques
introduced in https://journals.aps.org/prl/pdf/10.1103/PhysRevLett.123.128301 and have
been having much joy trying the graph-tool software - it is a fantastic
tool. I have been having difficulty understanding how one would estimate
both the posterior distribution of a graph and the corresponding
transmission probabilities in the SI dynamics example as suggested in the
Twitter example of the aforementioned paper. For example taking the example
from the cookbook (which is very clear) regarding these ideas but now
assigning a edge property for the transmission probabilities (although
leaving them homogeneous across all edges)

but when I access the arrays within betas after they all just consist of 0
values (through betas[i].get_array()) which makes me think I am not doing
this process correctly (the graph similarities with the posterior and actual
are also negligible~0.05).

You should pass something different than xstep=0 if you want the
transmission rates to actually change during MCMC. Take a look at the
documentation of:

EpidemicsBlockState.mcmc_sweep()

Any help with this problem (I may be doing something very incorrect in the
process) and how to correctly implement an edge prior without knowledge of
the graph would be greatly appreciated as I would like to delve further into
these techniques.

You cannot really change the prior of the edge transmission
probabilities, since that is hard-coded for the uniform prior in this
particular code.

Thanks you very much for taking the time to reply. I have had joy in
implementing the Bayesian inference framework for empirical cascades (on
Windows via WSL!), I have one small query which I cannot find an answer for
in the documentation. Namely, if I implement similar to the example in the
cookbook in my own case the final graph object obtained has a number of edge
properties including the eprob, but it also has another property 'x' - is
this the inferred transmission probabilities for each edge? I have so far
been collecting the probabilities via the 'get_x()' approach described in
the cookbook during the MCMC sweep however the final such call results in an
array of length apparently (?) unrelated to the final graph object. Any
guidance would be greatly appreciated.