MATCH p1 = (c1:Computer)-[r:MemberOf*1..]->(g1:Group)
WITH c1,g1
MATCH p2 = (g1:Group)-[r:AdminTo]->(c2:Computer)
RETURN c1.name As Principal,c2.name AS Target,g1.name AS ViaGroup
MATCH (c1:Computer)-[r:AdminTo]->(c2:Computer)
RETURN c1.name,c2.name
Blended user/computer groups may lead to computers accidently added as administrators.
MATCH (c:Computer)-[r:MemberOf]->(groupsWithComps:Group)
WITH groupsWithComps
MATCH (u:User)-[r:MemberOf]->(groupsWithComps)
RETURN DISTINCT(groupsWithComps) as groupsWithCompsAndUsers
MATCH (c:Computer)-[r:MemberOf*1..]->(groupsWithComps:Group)
WITH groupsWithComps
MATCH (u:User)-[r:MemberOf*1..]->(groupsWithComps)
RETURN DISTINCT(groupsWithComps.name) as groupsWithCompsAndUsers