// this could get expensive on a large graph :O
this could get expensive on a large graph :O
// this could get expensive on a large graph : O
func (el *EdgeList) GetNeighboursBy(filters ...RelationshipFilterFunc) (n Neighbours) {
	for _, neighbours := range el.Edges {
		for _, neighbour := range neighbours {
			matches := true
			for _, fn := range filters {
				if !fn(neighbour) {
					matches = false
					break
				}
			}
			if matches {
				n = append(n, neighbour)
			}
		}
	}
	return n
}
func ( el * EdgeList ) GetNeighboursBy ( filters ... RelationshipFilterFunc ) ( n Neighbours ) { for _ , neighbours := range el . Edges { for _ , neighbour := range neighbours { matches := true for _ , fn := range filters { if ! fn ( neighbour ) { matches = false break } } if matches { n = append ( n , neighbour ) } } } return n }
this could get expensive on a large graph :O
this could get expensive on a large graph : O