Candidate¶
Le Candidate représente une identité produit potentielle construite à partir des identifiants disponibles avant toute résolution définitive.
Il constitue l'étape intermédiaire entre les identifiants bruts et la Canonical Identity.
Sommaire¶
- Rôle
- Pourquoi un Candidate ?
- Cycle de vie
- Construction
- Responsabilités
- Ce qu'un Candidate ne fait pas
- Exemples
- Invariants
- Voir aussi
Rôle¶
Un Candidate est une proposition d'identité.
Il n'est pas encore considéré comme vrai.
Il sera évalué par le Resolver.
Pourquoi un Candidate ?¶
Avant la Platform, plusieurs traitements tentaient directement de produire une identité.
Cette approche devenait difficile lorsque plusieurs hypothèses étaient possibles.
Le Candidate permet :
- de conserver plusieurs possibilités ;
- d'évaluer leur qualité ;
- de comparer les résultats ;
- de rendre la résolution explicable.
Cycle de vie¶
Identifiers
↓
Candidate
↓
Resolver
↓
Canonical Identity
Construction¶
Un Candidate peut être construit à partir de :
- EAN
- GTIN
- UPC
- MPN
- SKU
- Merchant Product ID
- marque
- série
- modèle
- variante
- attributs techniques
Les Vertical Modules peuvent enrichir cette construction.
Responsabilités¶
Le Candidate est responsable de :
- regrouper les signaux disponibles ;
- conserver les hypothèses ;
- préparer la résolution ;
- exposer les informations utiles au Resolver.
Il n'est jamais responsable de la décision finale.
Ce qu'un Candidate ne fait pas¶
Le Candidate :
- ne résout pas l'identité ;
- ne modifie jamais les données ;
- ne produit pas de projection ;
- ne connaît pas le Frontend.
Exemple Smartphone¶
Apple
iPhone 16 Pro
256 Go
Titanium Black
↓
Candidate
↓
Resolver
Exemple Photo¶
Canon
EF-S
55-250 mm
f/4-5.6
↓
Candidate
↓
Resolver
Invariants¶
Un Candidate :
- reste immutable pendant son évaluation ;
- ne dépend jamais du Frontend ;
- peut être rejeté ;
- peut être comparé à d'autres candidats.
Voir aussi¶
- Identifiers
- Resolver
- Canonical Identity