103 lines
2.4 KiB
Markdown
103 lines
2.4 KiB
Markdown
# 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*)
|
|
//pour chaque aff.comp
|
|
phrase.s = entity.val
|
|
phrase.v = aff.ent
|
|
phrase.c = aff.comp.ent
|
|
aff ::= Aff(ntity, complement*) //TODO générer les Ntiple
|
|
aff.ent = enity.val
|
|
aff.comp = union(aff.comp,complement.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
|
|
turtel val list(phrase) H
|
|
phrase s String H
|
|
v String H
|
|
c String H
|
|
aff ent String H
|
|
comp list(String) H
|
|
complement ent String H
|
|
txt String 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 |