From 0f7b744ad90f31bed8891a3ceb86d0b5626bafef Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Thu, 6 Jun 2024 11:36:34 +0200
Subject: [PATCH] Add QC correct answers to graph

---
 tetras_extraction/macao_12/macao_schema.ttl   |  12 ++
 .../macao_12/result/macao_content.ttl         | 180 ++++++++++++++++++
 .../macao_12/script/extract_page.py           |   8 +-
 3 files changed, 199 insertions(+), 1 deletion(-)

diff --git a/tetras_extraction/macao_12/macao_schema.ttl b/tetras_extraction/macao_12/macao_schema.ttl
index 8559a0fd..680dc04f 100644
--- a/tetras_extraction/macao_12/macao_schema.ttl
+++ b/tetras_extraction/macao_12/macao_schema.ttl
@@ -64,6 +64,18 @@
 #    Data properties
 #################################################################
 
+###  http://www.semanticweb.org/eliott/ontologies/2024/4/macao/aReponseCorrecte
+:aReponseCorrecte rdf:type owl:DatatypeProperty ;
+                  rdfs:domain :Exercice ;
+                  rdfs:range xsd:positiveInteger .
+
+
+###  http://www.semanticweb.org/eliott/ontologies/2024/4/macao/aReponseIncorrecte
+:aReponseIncorrecte rdf:type owl:DatatypeProperty ;
+                    rdfs:domain :Exercice ;
+                    rdfs:range xsd:positiveInteger .
+
+
 ###  http://www.semanticweb.org/eliott/ontologies/2024/4/macao/cheminFichier
 :cheminFichier rdf:type owl:DatatypeProperty ;
                rdfs:domain :MacaoRessource ;
diff --git a/tetras_extraction/macao_12/result/macao_content.ttl b/tetras_extraction/macao_12/result/macao_content.ttl
index c1313694..a6941235 100644
--- a/tetras_extraction/macao_12/result/macao_content.ttl
+++ b/tetras_extraction/macao_12/result/macao_content.ttl
@@ -31,6 +31,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (9)" ;
     :__protege_display_name "18 | pg1000 | Choisir une transcription (9)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il
         s'agit d'un verbe qui signifie <i>mener</i>. <br><br>L'autre prononciation  <img align="center" border="0" src="../media/phon_leadplomb.png" id="MosImg266" style="visibility:hidden"><br>existe
         : il s'agit d'un nom qui signifie <i>plomb</i>.<br>Vous pouvez écouter et ainsi différencier les deux mots :</p>
@@ -99,6 +101,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une prononciation (3)" ;
     :__protege_display_name "09 | pg108 | Choisir une prononciation (3)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond
         au premier mot entendu : <i>thing</i>.
     </div>
@@ -116,6 +120,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate  (2)" ;
     :__protege_display_name "08 | pg112 | Choisir l'accentuation adéquate  (2)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p>
@@ -145,6 +158,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir entre deux mots (1)" ;
     :__protege_display_name "12 | pg149 | Choisir entre deux mots (1)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p>
         <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur
             transcription :</p>
@@ -203,6 +218,8 @@
         owl:NamedIndividual ;
     rdfs:label "Distinguer d'éventuelles variantes (4)" ;
     :__protege_display_name "07 | pg155 | Distinguer d'éventuelles variantes (4)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Vous avez bien entendu. La
         préposition <i>in</i> est prononcée dans les deux énoncés sans différence notable.</p>
         <p align="">
@@ -306,6 +323,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (7)" ;
     :__protege_display_name "06 | pg205 | Choisir une transcription (7)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne
@@ -324,6 +343,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (11)" ;
     :__protege_display_name "20 | pg2051 | Choisir une transcription (11)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il
         s'agit d'un nom qui signifie <i>usage</i>. </p>
         <p align="">L'autre prononciation   <img align="center" border="0" src="../media/phon_use_utiliser.png" id="MosImg7410" style="visibility:hidden"><br><br>existe et correspond
@@ -386,6 +407,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (1)" ;
     :__protege_display_name "00 | pg217 | Choisir une transcription (1)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est
@@ -402,6 +425,9 @@
         owl:NamedIndividual ;
     rdfs:label "Spécificité des voyelles (3)" ;
     :__protege_display_name "16 | pg220 | Spécificité des voyelles (3)" ;
+    :aReponseCorrecte 2 ;
+    :aReponseIncorrecte 0,
+        1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est la bonne réponse.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Ce n'est pas la bonne réponse. Il y a bien deux
@@ -418,6 +444,8 @@
         owl:NamedIndividual ;
     rdfs:label "Spécificité des voyelles (5)" ;
     :__protege_display_name "19 | pg226 | Spécificité des voyelles (5)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">C'est inexact ; réécoutez attentivement les deux
@@ -434,6 +462,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate  (4)" ;
     :__protege_display_name "10 | pg228 | Choisir l'accentuation adéquate  (4)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"><span style="FONT-SIZE: 90%"><font color="#a60a69"><br><br><br><br>Voici le corrigé :<br><br>How can<br></font><font color="#a60a69">I <i><b>intimate</b></i> this to my most <i><b>intimate</b></i> friend ? </font></span></font><font color="#a60a69"><br><br> <img align="center" border="0" src="../media/phon_intimate_1.png" id="MosImg844436" style="visibility:hidden">                <img align="center" border="0" src="../media/phon_intimate_2.png" id="MosImg6495426" style="visibility:hidden"></font>
@@ -532,6 +569,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate  (5)" ;
     :__protege_display_name "11 | pg293 | Choisir l'accentuation adéquate  (5)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p>
@@ -609,6 +655,10 @@
         owl:NamedIndividual ;
     rdfs:label "Lire des transcriptions phonétiques (2)" ;
     :__protege_display_name "14 | pg313 | Lire des transcriptions phonétiques (2)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3 ;
     :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br><br>
         <script type="text/javascript">ajDocW(PF_clipAV('clipAV97', 'bt_psycho.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script>
            <img align="center" border="0" src="../media/phon_psychology_juste.png" id="MosImg12" style="visibility:hidden"></div>
@@ -817,6 +867,8 @@
         owl:NamedIndividual ;
     rdfs:label "L'auxiliaire MUST (1)" ;
     :__protege_display_name "00 | pg381 | L'auxiliaire MUST (1)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">
         <br><br><br><br><br><br><br><br>Bien !</p>
         <p align="">L'auxiliaire est effectivement prononcé dans les deux énoncés avec la forme <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">réduite</a></b>
@@ -839,6 +891,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une prononciation (2)" ;
     :__protege_display_name "08 | pg386 | Choisir une prononciation (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond
         au second mot entendu : <i>ear</i>.
     </div>
@@ -893,6 +947,10 @@
         owl:NamedIndividual ;
     rdfs:label "Lire des transcriptions phonétiques (1)" ;
     :__protege_display_name "13 | pg400 | Lire des transcriptions phonétiques (1)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3 ;
     :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br>
         <script type="text/javascript">ajDocW(PF_clipAV('clipAV77', 'bt_about.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script>
            <img align="center" border="0" src="../media/phon_about.png" id="MosImg2149" style="visibility:hidden"></div>
@@ -924,6 +982,8 @@
         owl:NamedIndividual ;
     rdfs:label "L'auxiliaire BE (2)" ;
     :__protege_display_name "15 | pg401 | L'auxiliaire BE (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">
         <br><br><br><br><br><br><br><br><br><br>Effectivement.</p>
         <p align="">On observe des degrés différents dans la <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">réduction
@@ -956,6 +1016,9 @@
         owl:NamedIndividual ;
     rdfs:label "Spécificité des voyelles (4)" ;
     :__protege_display_name "17 | pg41 | Spécificité des voyelles (4)" ;
+    :aReponseCorrecte 2 ;
+    :aReponseIncorrecte 0,
+        1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est la bonne réponse.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Ce n'est pas la bonne réponse. Il y a bien deux
@@ -1091,6 +1154,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (4)" ;
     :__protege_display_name "03 | pg491 | Choisir une transcription (4)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est
@@ -1202,6 +1267,8 @@
         owl:NamedIndividual ;
     rdfs:label "L'auxiliaire CAN (2)" ;
     :__protege_display_name "11 | pg531 | L'auxiliaire CAN (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">
         <br><br><br><br><br><br><br><br><br><br>Exact.</p>
         <p align="">L'auxiliaire du premier énoncé comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle
@@ -1295,6 +1362,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir entre deux mots (5)" ;
     :__protege_display_name "16 | pg561 | Choisir entre deux mots (5)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p>
         <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur
             transcription :</p>
@@ -1353,6 +1422,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une prononciation (1)" ;
     :__protege_display_name "07 | pg576 | Choisir une prononciation (1)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond
         au premier mot entendu : <i>test</i>.
     </div>
@@ -1461,6 +1532,15 @@
         owl:NamedIndividual ;
     rdfs:label "Vérifier la place de l'accent primaire (4) " ;
     :__protege_display_name "03 | pg6121 | Vérifier la place de l'accent primaire (4) " ;
+    :aReponseCorrecte 1,
+        7 ;
+    :aReponseIncorrecte 0,
+        2,
+        3,
+        4,
+        5,
+        6,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> </p>
         <p align=""> </p>
         <p align=""> En effet, voici la transcription qui convient pour chaque mot :<br><br><br><br></p>
@@ -1551,6 +1631,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir entre deux mots (3)" ;
     :__protege_display_name "14 | pg6361 | Choisir entre deux mots (3)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p>
         <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur
             transcription :</p>
@@ -1609,6 +1691,9 @@
         owl:NamedIndividual ;
     rdfs:label "Spécificité des voyelles (2)" ;
     :__protege_display_name "15 | pg639 | Spécificité des voyelles (2)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1,
+        2 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Vous avez raison.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous trompez. La voyelle n'est pas composée de
@@ -1645,6 +1730,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate (1)" ;
     :__protege_display_name "07 | pg665 | Choisir l'accentuation adéquate (1)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p>
@@ -1698,6 +1792,21 @@
         owl:NamedIndividual ;
     rdfs:label "Vérifier la place de l'accent primaire (2) " ;
     :__protege_display_name "01 | pg6811 | Vérifier la place de l'accent primaire (2) " ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8,
+        9,
+        10,
+        11,
+        12,
+        13,
+        14 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""><br> </p>
         <p align="">En effet, voici la transcription qui convient pour chaque mot :<br><br><br></p>
         <p align=""> </p>
@@ -1740,6 +1849,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir entre deux mots (4)" ;
     :__protege_display_name "15 | pg699 | Choisir entre deux mots (4)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p>
         <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur
             transcription :</p>
@@ -1798,6 +1909,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate  (6)" ;
     :__protege_display_name "12 | pg71 | Choisir l'accentuation adéquate  (6)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p>
@@ -1826,6 +1946,8 @@
         owl:NamedIndividual ;
     rdfs:label "Spécificité des voyelles (6)" ;
     :__protege_display_name "20 | pg713 | Spécificité des voyelles (6)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">C'est inexact ; réécoutez attentivement les deux
@@ -1867,6 +1989,15 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir l'accentuation adéquate  (3)" ;
     :__protege_display_name "09 | pg740 | Choisir l'accentuation adéquate  (3)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p>
@@ -1900,6 +2031,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir entre deux mots (2)" ;
     :__protege_display_name "13 | pg758 | Choisir entre deux mots (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p>
         <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur
             transcription :</p>
@@ -1958,6 +2091,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une prononciation (4)" ;
     :__protege_display_name "10 | pg76 | Choisir une prononciation (4)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond
         au premier mot entendu : <i>cat</i>.
     </div>
@@ -1985,6 +2120,8 @@
         owl:NamedIndividual ;
     rdfs:label "Distinguer d'éventuelles variantes (3)" ;
     :__protege_display_name "05 | pg769 | Distinguer d'éventuelles variantes (3)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p>
         <p align="">
             <script type="text/javascript">ajDocW(PF_clipAV('clipAV166', 'e29_macao1_2b52.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script>
@@ -2023,6 +2160,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (3)" ;
     :__protege_display_name "02 | pg7691 | Choisir une transcription (3)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est
@@ -2095,6 +2234,8 @@
         owl:NamedIndividual ;
     rdfs:label "Distinguer d'éventuelles variantes (5)" ;
     :__protege_display_name "09 | pg813 | Distinguer d'éventuelles variantes (5)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement. </p>
         <p align="">
             <script type="text/javascript">ajDocW(PF_clipAV('clipAV51', 'e29_macao1_2b92.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script>
@@ -2132,6 +2273,8 @@
         owl:NamedIndividual ;
     rdfs:label "Distinguer d'éventuelles variantes (1)" ;
     :__protege_display_name "01 | pg825 | Distinguer d'éventuelles variantes (1)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p>
         <p align="">
             <script type="text/javascript">ajDocW(PF_clipAV('clipAV190', 'e29_macao1_2b12.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script>
@@ -2167,6 +2310,8 @@
         owl:NamedIndividual ;
     rdfs:label "L'auxiliaire WILL (2)" ;
     :__protege_display_name "03 | pg8251 | L'auxiliaire WILL (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">
         <br><br><br><br><br><br><br><br><br><br>Bien !</p>
         <p align="">L'auxiliaire de la première réponse comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle
@@ -2218,6 +2363,21 @@
         owl:NamedIndividual ;
     rdfs:label "Vérifier la place de l'accent primaire (3) " ;
     :__protege_display_name "02 | pg8412 | Vérifier la place de l'accent primaire (3) " ;
+    :aReponseCorrecte 0,
+        7,
+        13 ;
+    :aReponseIncorrecte 1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        8,
+        9,
+        10,
+        11,
+        12,
+        14 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> </p>
         <p align=""></p>
         <p style="MARGIN-BOTTOM: 0cm" align="">En effet, voici la transcription qui convient pour chaque mot :</p>
@@ -2501,6 +2661,8 @@
         owl:NamedIndividual ;
     rdfs:label "L'auxiliaire HAVE (2)" ;
     :__protege_display_name "07 | pg879 | L'auxiliaire HAVE (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">
         <br><br><br><br><br><br><br><br><br><br>Effectivement.</p>
         <p align="">L'auxiliaire du premier énoncé comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle
@@ -2577,6 +2739,8 @@
         owl:NamedIndividual ;
     rdfs:label "Distinguer d'éventuelles variantes (2)" ;
     :__protege_display_name "03 | pg890 | Distinguer d'éventuelles variantes (2)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p>
         <p align="">
             <script type="text/javascript">ajDocW(PF_clipAV('clipAV662', 'e29_macao1_2b33.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script>
@@ -2617,6 +2781,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (6)" ;
     :__protege_display_name "05 | pg893 | Choisir une transcription (6)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne
@@ -2633,6 +2799,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (8)" ;
     :__protege_display_name "17 | pg894 | Choisir une transcription (8)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il
         s'agit d'un nom qui signifie <i>larme</i>. <br><br>L'autre prononciation  <img align="center" border="0" src="../media/phon_teardechire.png" id="MosImg7235" style="visibility:hidden"><br>existe
         : il s'agit d'un verbe qui signifie <i>déchirer</i>.<br>Vous pouvez écouter et ainsi différencier les deux mots
@@ -2733,6 +2901,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (10)" ;
     :__protege_display_name "19 | pg93 | Choisir une transcription (10)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il
         s'agit d'un verbe ou d'un nom signifiant respectivement <i>blesser</i> et <i>blessure</i>.<br><br>L'autre
         prononciation  <img align="center" border="0" src="../media/phon_woundenroule.png" id="MosImg119" style="visibility:hidden"> <br><br>correspond soit au prétérit ou au participe passé du
@@ -2796,6 +2966,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une prononciation (5)" ;
     :__protege_display_name "11 | pg933 | Choisir une prononciation (5)" ;
+    :aReponseCorrecte 1 ;
+    :aReponseIncorrecte 0 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond
         au second mot entendu : <i>green</i>.
     </div>
@@ -2849,6 +3021,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (2)" ;
     :__protege_display_name "01 | pg965 | Choisir une transcription (2)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne
@@ -2865,6 +3039,10 @@
         owl:NamedIndividual ;
     rdfs:label "Lire des transcriptions phonétiques (3)" ;
     :__protege_display_name "15 | pg966 | Lire des transcriptions phonétiques (3)" ;
+    :aReponseIncorrecte 0,
+        1,
+        2,
+        3 ;
     :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br><br> 
         <script type="text/javascript">ajDocW(PF_clipAV('clipAV77', 'bt_optimistic.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script>
           <img align="center" border="0" src="../media/phon_optimistic14.png" id="MosImg84" style="visibility:hidden">
@@ -2900,6 +3078,8 @@
         owl:NamedIndividual ;
     rdfs:label "Choisir une transcription (5)" ;
     :__protege_display_name "04 | pg98 | Choisir une transcription (5)" ;
+    :aReponseCorrecte 0 ;
+    :aReponseIncorrecte 1 ;
     :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div>
     """ ;
     :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est
diff --git a/tetras_extraction/macao_12/script/extract_page.py b/tetras_extraction/macao_12/script/extract_page.py
index ff371172..05d53d33 100644
--- a/tetras_extraction/macao_12/script/extract_page.py
+++ b/tetras_extraction/macao_12/script/extract_page.py
@@ -54,8 +54,14 @@ class RegexParser:
         # Save to graph
         self.graph.add((NS[self.act_id], RDF.type, NS[activity_type]))
         print(activity_type, end="", file=output)
+
         if activity_type.startswith("ExerciceQC"):
-            print(" ", self._parse_qc_answers(body), end="", file=output)
+            # Parse correct answers and add them to the graph
+            correct_answers = self._parse_qc_answers(body)
+            print(" ", correct_answers, end="", file=output)
+            for i, correct in enumerate(correct_answers):
+                property = NS["aReponseCorrecte" if correct else "aReponseIncorrecte"]
+                self.graph.add((NS[self.act_id], property, Literal(i)))
 
     def _parse_activity_constructor(self, code: str) -> tuple[str, str]:
         """
-- 
GitLab