From 5b404252473247d0ffe58f21ee43bb524d177026 Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Wed, 26 Jun 2024 09:26:31 +0200
Subject: [PATCH] Modules and SousParties now have and ID, used in the path

---
 .../macao_12/result/macao_content.ttl         | 26 +++++++++++++++++++
 .../macao_12/result/macao_full.ttl            | 26 +++++++++++++++++++
 .../macao_12/script/src/extract.py            |  2 ++
 .../macao_12/script/templates/path.rq         |  3 ++-
 4 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/tetras_extraction/macao_12/result/macao_content.ttl b/tetras_extraction/macao_12/result/macao_content.ttl
index ed5eff07..1561c4b8 100644
--- a/tetras_extraction/macao_12/result/macao_content.ttl
+++ b/tetras_extraction/macao_12/result/macao_content.ttl
@@ -12,6 +12,7 @@
     rdfs:label "Présentation" ;
     :__protege_display_name "00 | MosMod951 | Présentation" ;
     :contientSousPartie :MosEtp342 ;
+    :id "MosMod951" ;
     :index 0 ;
     :titre "Présentation" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4014,6 +4015,7 @@
     rdfs:label "L'accentuation des auxiliaires" ;
     :__protege_display_name "02 | MosEtp252 | L'accentuation des auxiliaires" ;
     :contientActivite :pg686 ;
+    :id "MosEtp252" ;
     :index 2 ;
     :titre "L'accentuation des auxiliaires" ;
     rdfs:subClassOf :MosMod39 .
@@ -4023,6 +4025,7 @@
     rdfs:label "MACAO" ;
     :__protege_display_name "00 | MosEtp342 | MACAO" ;
     :contientActivite :pg496 ;
+    :id "MosEtp342" ;
     :index 0 ;
     :titre "MACAO" ;
     rdfs:subClassOf :MosMod951 .
@@ -4032,6 +4035,7 @@
     rdfs:label "La prononciation des déterminants" ;
     :__protege_display_name "04 | MosEtp385 | La prononciation des déterminants" ;
     :contientActivite :pg881 ;
+    :id "MosEtp385" ;
     :index 4 ;
     :titre "La prononciation des déterminants" ;
     rdfs:subClassOf :MosMod39 .
@@ -4041,6 +4045,7 @@
     rdfs:label "Utiliser les mémentos" ;
     :__protege_display_name "00 | MosEtp435 | Utiliser les mémentos" ;
     :contientActivite :pg578 ;
+    :id "MosEtp435" ;
     :index 0 ;
     :titre "Utiliser les mémentos" ;
     rdfs:subClassOf :MosMod39 .
@@ -4050,6 +4055,7 @@
     rdfs:label "La prononciation des prépositions" ;
     :__protege_display_name "03 | MosEtp534 | La prononciation des prépositions" ;
     :contientActivite :pg926 ;
+    :id "MosEtp534" ;
     :index 3 ;
     :titre "La prononciation des prépositions" ;
     rdfs:subClassOf :MosMod39 .
@@ -4059,6 +4065,7 @@
     rdfs:label "Longueur de la voyelle" ;
     :__protege_display_name "07 | MosEtp690 | Longueur de la voyelle" ;
     :contientActivite :pg397 ;
+    :id "MosEtp690" ;
     :index 7 ;
     :titre "Longueur de la voyelle" ;
     rdfs:subClassOf :MosMod39 .
@@ -4068,6 +4075,7 @@
     rdfs:label "Liste des phonèmes de l'anglais" ;
     :__protege_display_name "05 | MosEtp918 | Liste des phonèmes de l'anglais" ;
     :contientActivite :pg549 ;
+    :id "MosEtp918" ;
     :index 5 ;
     :titre "Liste des phonèmes de l'anglais" ;
     rdfs:subClassOf :MosMod39 .
@@ -4077,6 +4085,7 @@
     rdfs:label "Voyelles lâches et voyelles tendues" ;
     :__protege_display_name "06 | MosEtp940 | Voyelles lâches et voyelles tendues" ;
     :contientActivite :pg888 ;
+    :id "MosEtp940" ;
     :index 6 ;
     :titre "Voyelles lâches et voyelles tendues" ;
     rdfs:subClassOf :MosMod39 .
@@ -4087,6 +4096,7 @@
     :__protege_display_name "01 | MosMod10 | MACAO 1 - S'entraîner à la reconnaissance" ;
     :contientModule :MosMod11,
         :MosMod34 ;
+    :id "MosMod10" ;
     :index 1 ;
     :titre "MACAO 1 - S'entraîner à la reconnaissance" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4096,6 +4106,7 @@
     rdfs:label "Reconnaître les syllabes" ;
     :__protege_display_name "00 | MosMod11 | Reconnaître les syllabes" ;
     :contientSousPartie :MosEtp129 ;
+    :id "MosMod11" ;
     :index 0 ;
     :titre "Reconnaître les syllabes" ;
     rdfs:subClassOf :MosMod10 .
@@ -4106,6 +4117,7 @@
     :__protege_display_name "02 | MosMod95 | MACAO 2 - Se servir des renseignements phonétiques du dictionnaire" ;
     :contientModule :MosMod341,
         :MosMod60 ;
+    :id "MosMod95" ;
     :index 2 ;
     :titre "MACAO 2 - Se servir des renseignements phonétiques du dictionnaire" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4116,6 +4128,7 @@
     :__protege_display_name "01 | MosEtp777 | L'accentuation des syllabes" ;
     :contientActivite :pg156,
         :pg519 ;
+    :id "MosEtp777" ;
     :index 1 ;
     :titre "L'accentuation des syllabes" ;
     rdfs:subClassOf :MosMod39 .
@@ -4126,6 +4139,7 @@
     :__protege_display_name "00 | MosMod341 | Lire les symboles phonétiques" ;
     :contientSousPartie :MosEtp171,
         :MosEtp644 ;
+    :id "MosMod341" ;
     :index 0 ;
     :titre "Lire les symboles phonétiques" ;
     rdfs:subClassOf :MosMod95 .
@@ -4136,6 +4150,7 @@
     :__protege_display_name "01 | MosMod60 | Reconnaître les marques de l'accentuation" ;
     :contientSousPartie :MosEtp369,
         :MosEtp746 ;
+    :id "MosMod60" ;
     :index 1 ;
     :titre "Reconnaître les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod95 .
@@ -5658,6 +5673,7 @@
     :contientSousPartie :MosEtp210,
         :MosEtp335,
         :MosEtp558 ;
+    :id "MosMod34" ;
     :index 1 ;
     :titre "Reconnaître les auxiliaires, les prépositions et les déterminants" ;
     rdfs:subClassOf :MosMod10 .
@@ -5872,6 +5888,7 @@
         :pg5121,
         :pg6241,
         :pg643 ;
+    :id "MosEtp558" ;
     :index 2 ;
     :titre "> Reconnaître les déterminants" ;
     rdfs:subClassOf :MosMod34 .
@@ -5886,6 +5903,7 @@
         :pg455,
         :pg672,
         :pg860 ;
+    :id "MosEtp369" ;
     :index 0 ;
     :titre "> Reconnaître les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod60 .
@@ -5901,6 +5919,7 @@
         :pg594,
         :pg938,
         :pg940 ;
+    :id "MosEtp555" ;
     :index 8 ;
     :titre "Quelques définitions" ;
     rdfs:subClassOf :MosMod39 .
@@ -5918,6 +5937,7 @@
         :MosEtp777,
         :MosEtp918,
         :MosEtp940 ;
+    :id "MosMod39" ;
     :index 3 ;
     :titre "Mémentos" ;
     rdfs:subClassOf :MacaoRoot .
@@ -6306,6 +6326,7 @@
         :pg825,
         :pg890,
         :pg948 ;
+    :id "MosEtp335" ;
     :index 1 ;
     :titre "> Reconnaître les prépositions" ;
     rdfs:subClassOf :MosMod34 .
@@ -6327,6 +6348,7 @@
         :pg85,
         :pg861,
         :pg88 ;
+    :id "MosEtp129" ;
     :index 0 ;
     :titre "> Reconnaître les syllabes en anglais oral" ;
     rdfs:subClassOf :MosMod11 .
@@ -6476,6 +6498,7 @@
         :pg841,
         :pg8412,
         :pg966 ;
+    :id "MosEtp746" ;
     :index 1 ;
     :titre "> Utiliser les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod60 .
@@ -6502,6 +6525,7 @@
         :pg879,
         :pg900,
         :pg903 ;
+    :id "MosEtp210" ;
     :index 0 ;
     :titre "> Reconnaître les auxiliaires" ;
     rdfs:subClassOf :MosMod34 .
@@ -6532,6 +6556,7 @@
         :pg83,
         :pg855,
         :pg896 ;
+    :id "MosEtp171" ;
     :index 0 ;
     :titre "> Reconnaître les symboles phonétiques" ;
     rdfs:subClassOf :MosMod341 .
@@ -6564,6 +6589,7 @@
         :pg933,
         :pg965,
         :pg98 ;
+    :id "MosEtp644" ;
     :index 1 ;
     :titre "> Utiliser les symboles phonétiques" ;
     rdfs:subClassOf :MosMod341 .
diff --git a/tetras_extraction/macao_12/result/macao_full.ttl b/tetras_extraction/macao_12/result/macao_full.ttl
index cce67b46..76eaf02b 100644
--- a/tetras_extraction/macao_12/result/macao_full.ttl
+++ b/tetras_extraction/macao_12/result/macao_full.ttl
@@ -94,6 +94,7 @@
     rdfs:label "Présentation" ;
     :__protege_display_name "00 | MosMod951 | Présentation" ;
     :contientSousPartie :MosEtp342 ;
+    :id "MosMod951" ;
     :index 0 ;
     :titre "Présentation" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4655,6 +4656,7 @@
     rdfs:label "L'accentuation des auxiliaires" ;
     :__protege_display_name "02 | MosEtp252 | L'accentuation des auxiliaires" ;
     :contientActivite :pg686 ;
+    :id "MosEtp252" ;
     :index 2 ;
     :titre "L'accentuation des auxiliaires" ;
     rdfs:subClassOf :MosMod39 .
@@ -4666,6 +4668,7 @@
     rdfs:label "MACAO" ;
     :__protege_display_name "00 | MosEtp342 | MACAO" ;
     :contientActivite :pg496 ;
+    :id "MosEtp342" ;
     :index 0 ;
     :titre "MACAO" ;
     rdfs:subClassOf :MosMod951 .
@@ -4677,6 +4680,7 @@
     rdfs:label "La prononciation des déterminants" ;
     :__protege_display_name "04 | MosEtp385 | La prononciation des déterminants" ;
     :contientActivite :pg881 ;
+    :id "MosEtp385" ;
     :index 4 ;
     :titre "La prononciation des déterminants" ;
     rdfs:subClassOf :MosMod39 .
@@ -4688,6 +4692,7 @@
     rdfs:label "Utiliser les mémentos" ;
     :__protege_display_name "00 | MosEtp435 | Utiliser les mémentos" ;
     :contientActivite :pg578 ;
+    :id "MosEtp435" ;
     :index 0 ;
     :titre "Utiliser les mémentos" ;
     rdfs:subClassOf :MosMod39 .
@@ -4699,6 +4704,7 @@
     rdfs:label "La prononciation des prépositions" ;
     :__protege_display_name "03 | MosEtp534 | La prononciation des prépositions" ;
     :contientActivite :pg926 ;
+    :id "MosEtp534" ;
     :index 3 ;
     :titre "La prononciation des prépositions" ;
     rdfs:subClassOf :MosMod39 .
@@ -4710,6 +4716,7 @@
     rdfs:label "Longueur de la voyelle" ;
     :__protege_display_name "07 | MosEtp690 | Longueur de la voyelle" ;
     :contientActivite :pg397 ;
+    :id "MosEtp690" ;
     :index 7 ;
     :titre "Longueur de la voyelle" ;
     rdfs:subClassOf :MosMod39 .
@@ -4721,6 +4728,7 @@
     rdfs:label "Liste des phonèmes de l'anglais" ;
     :__protege_display_name "05 | MosEtp918 | Liste des phonèmes de l'anglais" ;
     :contientActivite :pg549 ;
+    :id "MosEtp918" ;
     :index 5 ;
     :titre "Liste des phonèmes de l'anglais" ;
     rdfs:subClassOf :MosMod39 .
@@ -4732,6 +4740,7 @@
     rdfs:label "Voyelles lâches et voyelles tendues" ;
     :__protege_display_name "06 | MosEtp940 | Voyelles lâches et voyelles tendues" ;
     :contientActivite :pg888 ;
+    :id "MosEtp940" ;
     :index 6 ;
     :titre "Voyelles lâches et voyelles tendues" ;
     rdfs:subClassOf :MosMod39 .
@@ -4744,6 +4753,7 @@
     :__protege_display_name "01 | MosMod10 | MACAO 1 - S'entraîner à la reconnaissance" ;
     :contientModule :MosMod11,
         :MosMod34 ;
+    :id "MosMod10" ;
     :index 1 ;
     :titre "MACAO 1 - S'entraîner à la reconnaissance" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4755,6 +4765,7 @@
     rdfs:label "Reconnaître les syllabes" ;
     :__protege_display_name "00 | MosMod11 | Reconnaître les syllabes" ;
     :contientSousPartie :MosEtp129 ;
+    :id "MosMod11" ;
     :index 0 ;
     :titre "Reconnaître les syllabes" ;
     rdfs:subClassOf :MosMod10 .
@@ -4767,6 +4778,7 @@
     :__protege_display_name "02 | MosMod95 | MACAO 2 - Se servir des renseignements phonétiques du dictionnaire" ;
     :contientModule :MosMod341,
         :MosMod60 ;
+    :id "MosMod95" ;
     :index 2 ;
     :titre "MACAO 2 - Se servir des renseignements phonétiques du dictionnaire" ;
     rdfs:subClassOf :MacaoRoot .
@@ -4779,6 +4791,7 @@
     :__protege_display_name "01 | MosEtp777 | L'accentuation des syllabes" ;
     :contientActivite :pg156,
         :pg519 ;
+    :id "MosEtp777" ;
     :index 1 ;
     :titre "L'accentuation des syllabes" ;
     rdfs:subClassOf :MosMod39 .
@@ -4791,6 +4804,7 @@
     :__protege_display_name "00 | MosMod341 | Lire les symboles phonétiques" ;
     :contientSousPartie :MosEtp171,
         :MosEtp644 ;
+    :id "MosMod341" ;
     :index 0 ;
     :titre "Lire les symboles phonétiques" ;
     rdfs:subClassOf :MosMod95 .
@@ -4803,6 +4817,7 @@
     :__protege_display_name "01 | MosMod60 | Reconnaître les marques de l'accentuation" ;
     :contientSousPartie :MosEtp369,
         :MosEtp746 ;
+    :id "MosMod60" ;
     :index 1 ;
     :titre "Reconnaître les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod95 .
@@ -6461,6 +6476,7 @@
     :contientSousPartie :MosEtp210,
         :MosEtp335,
         :MosEtp558 ;
+    :id "MosMod34" ;
     :index 1 ;
     :titre "Reconnaître les auxiliaires, les prépositions et les déterminants" ;
     rdfs:subClassOf :MosMod10 .
@@ -6715,6 +6731,7 @@
         :pg5121,
         :pg6241,
         :pg643 ;
+    :id "MosEtp558" ;
     :index 2 ;
     :titre "> Reconnaître les déterminants" ;
     rdfs:subClassOf :MosMod34 .
@@ -6731,6 +6748,7 @@
         :pg455,
         :pg672,
         :pg860 ;
+    :id "MosEtp369" ;
     :index 0 ;
     :titre "> Reconnaître les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod60 .
@@ -6748,6 +6766,7 @@
         :pg594,
         :pg938,
         :pg940 ;
+    :id "MosEtp555" ;
     :index 8 ;
     :titre "Quelques définitions" ;
     rdfs:subClassOf :MosMod39 .
@@ -6780,6 +6799,7 @@
         :MosEtp777,
         :MosEtp918,
         :MosEtp940 ;
+    :id "MosMod39" ;
     :index 3 ;
     :titre "Mémentos" ;
     rdfs:subClassOf :MacaoRoot .
@@ -7202,6 +7222,7 @@
         :pg825,
         :pg890,
         :pg948 ;
+    :id "MosEtp335" ;
     :index 1 ;
     :titre "> Reconnaître les prépositions" ;
     rdfs:subClassOf :MosMod34 .
@@ -7231,6 +7252,7 @@
         :pg85,
         :pg861,
         :pg88 ;
+    :id "MosEtp129" ;
     :index 0 ;
     :titre "> Reconnaître les syllabes en anglais oral" ;
     rdfs:subClassOf :MosMod11 .
@@ -7390,6 +7412,7 @@
         :pg841,
         :pg8412,
         :pg966 ;
+    :id "MosEtp746" ;
     :index 1 ;
     :titre "> Utiliser les marques de l'accentuation" ;
     rdfs:subClassOf :MosMod60 .
@@ -7418,6 +7441,7 @@
         :pg879,
         :pg900,
         :pg903 ;
+    :id "MosEtp210" ;
     :index 0 ;
     :titre "> Reconnaître les auxiliaires" ;
     rdfs:subClassOf :MosMod34 .
@@ -7454,6 +7478,7 @@
         :pg83,
         :pg855,
         :pg896 ;
+    :id "MosEtp171" ;
     :index 0 ;
     :titre "> Reconnaître les symboles phonétiques" ;
     rdfs:subClassOf :MosMod341 .
@@ -7488,6 +7513,7 @@
         :pg933,
         :pg965,
         :pg98 ;
+    :id "MosEtp644" ;
     :index 1 ;
     :titre "> Utiliser les symboles phonétiques" ;
     rdfs:subClassOf :MosMod341 .
diff --git a/tetras_extraction/macao_12/script/src/extract.py b/tetras_extraction/macao_12/script/src/extract.py
index 12133eb1..161018b0 100644
--- a/tetras_extraction/macao_12/script/src/extract.py
+++ b/tetras_extraction/macao_12/script/src/extract.py
@@ -1,4 +1,5 @@
 import filecmp
+from re import sub
 
 from lxml import etree
 from rdflib import RDFS, Graph, Literal, URIRef
@@ -97,6 +98,7 @@ def parse_manifest_rec(
     # Declare RDF resource and simple properties
     subject = NS[id]
     graph.add((subject, RDF.type, OWL.NamedIndividual))
+    graph.add((subject, NS["id"], Literal(id)))
     set_title(graph, subject, str(title))
     if id.startswith("MosMod"):
         # It's a Module:
diff --git a/tetras_extraction/macao_12/script/templates/path.rq b/tetras_extraction/macao_12/script/templates/path.rq
index 9ca19c65..497fbb14 100644
--- a/tetras_extraction/macao_12/script/templates/path.rq
+++ b/tetras_extraction/macao_12/script/templates/path.rq
@@ -4,9 +4,10 @@ PREFIX st: <http://ns.inria.fr/sparql-template/>
 
 # Generates the path of a MacaoContenu
 template mt:path(?obj) {
-    ?rec "/" ?obj
+    ?rec "/" ?id
 } where {
     ?obj a :MacaoContenu .
+    ?obj :id ?id
     optional {
         { ?parent :contientActivite ?obj } union {?parent :contientModule ?obj} union {?parent :contientSousPartie ?obj}.
         bind(st:call-template(mt:path, ?parent) as ?rec)
-- 
GitLab