# TP1 PDS - Traducteur RDF/Turtle vers RDF/Ntriples Réalisé par Thibaut ROCHAS et Tuan Minh VU ## Implémentation du ASD ``` turtle ::= Turtle(phrase*) phrase ::= Phrase(entity, aff*) aff ::= Aff(ntity, complement*) complement ::= Complement(entity) | Complement_Text(text) text ::= Text(entity) |TextSTR(String) entity ::= Entity(String) ``` ## Conversion vers Ntriples par ASD attribuée ``` turtle ::= Turtle(phrase*) phrase ::= Phrase(entity, aff*) aff*.s = entity.val aff ::= Aff(entity, complement*) complement*.s = aff.s complement*.v = entity.val complement ::= Complement(entity) complement.c = entity.val | Complement_Text(text) complement.c = text.val text ::= Text(entity) text.val = entity.val |TextSTR(String) text.val = String.self entity ::= Entity(String) entity.val=String.self ``` |TAD |Nom d'attribut |Type | Polarité |----------------|-----------------|---------------------|---------| |phrase | |String |H |aff | |String |H |complement |s |String |H |complement |v |String |H |complement |c |String |H/S |Entity |val |String |S |TAD |Nom d'attribut |Type | Polarité |----------------|-----------------|---------------------|---------| |turtle |val |list(Phrase) |S |phrase |sujet_p |String |H |phrase |affs |list(Aff) |S |aff |sujet_a |String |H |aff |vebre_a |String |H |aff |comps |list(comp) |S |complement |sujet_c |String |H |complement |verbe_c |String |H |complement |comp_c |String |H/S |Entity |val |String |S ``` Ntriples ::= Ntriples(phrase*) phrase ::= Phrases(entity1,entity2,complement) phrase.s = entity1.val phrase.v = entity2.val phrase.c = complent.ent complement ::= Complement(entity) complement.ent = entity.val | Complement_Text(String) complement.ent = String.self entity ::= Entity(String) entity.val=String.self ``` TAD Nom Type Polarité Descp Ntriples val list(phrase) H phrase s String H v String H c String H complement ent String H/S entity val String S ## Compatibilité - Java JDK 21 - ANTLR3 3.5.2 - Gradle 8.5 ## Construction, exécution Pour construire le projet, depuis la racine du projet : ```bash ./gradlew build ``` Pour exécuter le programme Java TP1.Main, depuis la racine du projet : ```bash java -jar /build/libs/TP1.jar [args] ``` ## Structure du projet Fichiers de code source et de tests - `src/main/java/` : fichiers sources Java à compléter - `src/main/antlr/` : fichier sources ANTLR à compléter - `tests/` : fichiers textes à utiliser pour les tests Moteur de production Gradle - `settings.gradle`, `build.gradle` : configuration Gradle - `gradle/wrapper` : exécutable de Wrapper Gradle - `gradlew`, `gradlew.bat` : scripts (unix/windows) à exécuter depuis le terminal pour lancer le moteur de production Environnement VSCode - `.vscode` : configuration de VSCode - `eclipse-formatter.xml` : formatage de code source Java, optionnel Git - `.gitignore` : configuration pour ignorer certains fichiers et répertoires