  Reasoning about complex networks has in recent years become an important
topic of study due to its many applications: the adoption of commercial
products, spread of disease, the diffusion of an idea, etc. In this paper, we
present the MANCaLog language, a formalism based on logic programming that
satisfies a set of desiderata proposed in previous work as recommendations for
the development of approaches to reasoning in complex networks. To the best of
our knowledge, this is the first formalism that satisfies all such criteria. We
first focus on algorithms for finding minimal models (on which multi-attribute
analysis can be done), and then on how this formalism can be applied in certain
real world scenarios. Towards this end, we study the problem of deciding group
membership in social networks: given a social network and a set of groups where
group membership of only some of the individuals in the network is known, we
wish to determine a degree of membership for the remaining group-individual
pairs. We develop a prototype implementation that we use to obtain experimental
results on two real world datasets, including a current social network of
criminal gangs in a major U.S.\ city. We then show how the assignment of degree
of membership to nodes in this case allows for a better understanding of the
criminal gang problem when combined with other social network mining techniques
-- including detection of sub-groups and identification of core group members
-- which would not be possible without further identification of additional
group members.
