GraphGists

neoiscoming

The setup

Find all children of all houses

MATCH (westeros)<-[:HOUSE]-(house)<-[:OF_HOUSE]-(ancestor), family=(ancestor)<-[:CHILD_OF*0..]-(last)
WHERE westeros.name='Westeros'
RETURN house.house, collect(DISTINCT last.name)

Find all the children of parents that are siblings (a.k.a. incest)

MATCH (kid)-[:CHILD_OF]->(parent1)-[:CHILD_OF]->(ancestor)<-[:CHILD_OF]-(parent2)<-[:CHILD_OF]-(kid)
RETURN DISTINCT kid.name as name

Easy.