CC final du cours E5 : "Ingénierie des connaissances et Web sémantique"
Sans document ni moyen de communication. Répondre directement sous les questions.
(plus, si nécessaire, sur d'autres feuilles numérotées et à votre nom).
Durée : 120 minutes  (20 points  ->  en moyenne, 6 minutes maximum par point ;
            chaque relation correcte vaut 0,5 ou 0,75 point suivant sa difficulté).

Dans chacun des exercices où une représentation est demandée, indiquez explicitement la notation que vous utilisez (FL, FL-DF, ...). Des parties de points seront enlevés à chaque fois que vous aurez "oublié" cette consigne (ou d'autres consignes).

  1. [4 points]   Définissez (via une relation d'équivalence) de manière formelle (en FL, FL-DF, ...) la relation d'exclusion, i.e., représentez qu'un type t1 est "exclusif avec" (i.e., a pour exclusion) un type t2 si et seulement si, par définition, aucun sous-type de t1 n'est sous-type de t2, et aucun sous-type de t2 n'est sous-type de t1. Pour représenter ce "par définition, aucun", utilisez une ou plusieurs implications et un "not" juste avant une ou plusieurs relations "subtype of". En FL, 2 lignes longues et remplies (ou, plus lisiblement, 4 lignes dont une avec un seul caractère) suffisent pour toute la définition (avec la relation d'équivalence).
    FL:  [?t1 exclusion: ?t2]
           <=> [ [?st1 subtype of: ?t1] => [?st1  not subtype of: ?t2] ]
                 [?st2 subtype of: ?t2] => [?st2  not subtype of: ?t1] ]
               ];
    
  2. [1,5 point]   Donnez deux représentations (correctes ; en FL, FL-DF, ...) de la phrase "By definition, a wheel is not part of every car", i.e., "By definition, no wheel is part of a car". Dans la 1ère, "wheel" doit être le 1er noeud. Dans la 2nde, "wheel" doit être le dernier noeud (le noeud relation doit donc contenir un "contexte pour les quantificateurs").
    Without context, wheel 1st (KRL: FL):   no wheel part of:  every car;
    Without context, wheel 1st (KRL: FL):   any wheel not part of:  every car;
    With a context,  wheel 1st (KRL: FL):   wheel part of _[no->every]: car; 
    With a context,  wheel 1st (KRL: FL):   wheel not part of _[any->every]: car; 
    
    With car first (KRL: FL):               car part _[every<-no]: wheel;
    
  3. [3 points]   Donnez deux représentations de la phrase "12% of red cars have for part at least 2 blue wheels". Dans la 1ère, "car" doit être le 1er noeud. Dans la 2nde, "car" doit être l'avant-dernier noeud. La 2nde doit contenir un "contexte pour les quantificateurs" dans chaque noeud relation. Si vous inventez un type (e.g., "red_car"), vous devez bien-sûr le définir.
    FL-1:  12% of ^(car color: a red)
              part: at least 2 ^(wheel color: a blue);
    FL-1:  car --color _[any ^rc ^-> a]--> red
              |--part of _[12% ^rc ^-> 2..* ^bw]--> wheel --color _[any ^bw ^-> a]--> blue
    
    FL-2:  wheel  color _[any ^bw ^-> a]: blue,
                  part of _[2..* ^bw <- 12% ^rc]:  (car color _[any ^rc ^-> a]: red);          
    
  4. [6,5 points]   Donnez deux représentations de la phrase
    "Every day, 12% of white cats are eating at least 2 grey mice".
    Dans la 1ère, "cat" doit être le 1er noeud (donc le plus "en haut à gauche") dans le contexte. Dans la 2nde, "cat" est l'avant-dernier noeud dans le contexte. La 2nde doit contenir un "contexte pour les quantificateurs" dans chaque noeud relation, et un seul noeud relation par ligne ; indentez correctement ! Si vous inventez des types (e.g., "white_cat"), vous devez bien-sûr les définir. Pour le contexte temporel, utilisez la relation "time" avec un quantificateur, pas la relation "frequency".
    FL-1: [12% ^(cat  color: a white) 
             agent of: (an eating  object: 2..* ^(mouse color: a grey))
          ] time: every day;        //or: (2..* mouse  color: a grey)
    FL-2: [mouse  color _[any ^m ^-> a]: grey,
                  object of _[^m <- ?e]:
                    (a eating  agent _[?e <- 12% ^c]:
                      (cat color _[any ^c ^-> a]: grey) )
          ] time: every day; 
    
  5. [5 points]   Représentez la phrase "Every man that is singing during 2 minutes then experiences happiness" dans un langage autre que FE (Formalized English) puis représentez la en FE, i.e., écrivez la en utilisant les règles de lecture vues en cours (page 5, points 1, 2 et 5). Si votre représentation en FE n'a pas de sens en anglais (i.e., n'est pas de l'anglais qui a du sens, c'est que votre représentation en FL/FL-DF/... est fausse (ou que votre traduction est fausse mais c'est moins probable). Dans ce cas, corrigez votre représentation en FL/FL-DF/... et en FE. Cette phrase réfère à deux processus : le 1er (de type "singing") est succédé par l'autre. En FL, 2 lignes suffisent. En FL-DF, 3 lignes suffisent. En FE, 2 lignes suffisent.
    FL:  every ^(man  agent of: (a singing ?s  duration: 2 minute))
            experiencer of: (an happiness  successor_state of: ?s);
    
    FE: every `man that is agent of a singing ?s which has for duration: 2 minute´
            is experiencer of an happiness that is successor_state of ?s.
    
    FL-DF:  singing -- successor _[every ^s -> a ?h] --> happiness --experiencer _[?h -> ?m]--> man
             |--duration _[^s ^-> 2]--> minute 
             |--agent _[^s <-^ any ?m]--> man_singing_for_2_minutes --> type _[?m ^-> .]--> man