0
(deftemplate Employee
(slot employee-id)
(slot employee-name)
(slot Role)
(slot Designation))
(deffacts Employees
(employee (employee-name X) (employee-id 1) (Role CS) (Designation TA))
(employee (employee-name Y) (employee-id 2) (Role CS) (Designation SA))
(employee (employee-name Z) (employee-id 3) (Role CIS) (Designation TA))
(employee (employee-name W) (employee-id 4) (Role SE) (Designation SA))
(employee (employee-name Q) (employee-id 5) (Role CIS) (Designation TA))
(employee (employee-name U) (employee-id 1) (Role CS) (Designation TA)))
Dans l'exemple ci-dessus, j'ai saisi deux fois l'identifiant de l'employé. Comment puis-je définir l'identifiant de l'employé pour qu'il soit unique?Existe-t-il un moyen de n'autoriser que des valeurs uniques pour les emplacements dans le CLIPS
Ici, il génère automatiquement la séquence. Il ne devrait pas vous permettre d'entrer un fait avec l'ID d'employé existant. –
Ecrivez une règle pour supprimer les employés avec des identifiants dupliqués ou utilisez les fonctions de requête factuelles pour déterminer si un employé existe avec l'identifiant et incrémentez? * Id * jusqu'à ce que vous trouviez une valeur unique, ou utilisez gensym * pour générer un identifiant unique, ou créer une fonction définie par l'utilisateur qui appelle C pour générer un UUID. –
Cela a du sens. Merci..!! –