1package wikidata
2
3import (
4 "context"
5
6 "github.com/haileyok/photocopy/nervana"
7)
8
9func ShouldInclude(ctx context.Context, relevantEntities map[string]Entity, responseEntities []nervana.NervanaItem) bool {
10 // filter down to the relevant entities
11 var filteredEntities []nervana.NervanaItem
12 for _, e := range responseEntities {
13 _, exists := relevantEntities[e.EntityId]
14 if !exists {
15 continue
16 }
17 filteredEntities = append(filteredEntities, e)
18 }
19
20 if len(filteredEntities) == 0 {
21 return false
22 }
23
24 // If an entity is a person and there is only a single entity, ignore it. Too many false positives
25 for _, e := range filteredEntities {
26 entity := relevantEntities[e.EntityId]
27 if entity.InstanceOf == EntityIdHuman && len(filteredEntities) < 2 {
28 return false
29 }
30 }
31
32 return true
33}