Identification des fragments d'exigences relevant des niveaux d'extraction
Niveaux d'extraction :
1. Modalité
2. Genre
3. Factoïde
## Requête pour extraire la modalité
_revoir la requête : construire un filet par ?uw avec un nom de filet aléatoire_
```sparql
CONSTRUCT{
?reqareq:necessary.
}
WHERE{
?uw1unl:has_attribute".@obligation".
?uw1(unl:agt|unl:aoj)?uw2.
?uw1unl:is_substructure_of?req.
FILTERregex(str(?uw2),"system")
}
```
## Requête pour extraire le type d'énoncés
Le type permet de classer les exigences se rapportant au système étudié. Il découle du verbe associé au système. La base de la requête est identique à la requête pour la modalité. Le genre pourra être déduit de l'analyse de UW1, en définissant une fonction spécifique (je pense que c'est la meilleur option sur le principe), ou en définissant plusieurs requêtes.
```sparql
CONSTRUCT{
?lexrdfs:subClassOfreq:requirement.
?reqa?lex
}
WHERE{
?uw1(unl:agt|unl:aoj)?uw2.
?uw1unl:is_substructure_of?req.
?uw1unl:is_occurrence_of?lex.
FILTERregex(str(?uw2),"system")
}
```
TODO : ne pas utiliser directement `?lex` comme sous classe de `requirement-ontology:requirement` mais créer une nouvelle ressource 'liée' à ?lex.