To date, the standard algorithm for learning structure and weights of an MLN is that from [1]. This is implemented in a modular fashion in the ALCHDIR/src/learnstruct directory.