Init wiki from unsel-data wiki authored by Aurélien Lamercerie's avatar Aurélien Lamercerie
La notion de filet sémantique permet de construire des regroupements sur les sommets d’un graphe sémantique. Considérant l’ensemble _S_ des sommets du graphe RDF, les filets sémantiques se rapportent à l’ensemble des parties de _S_, en les reliant à des attributs particuliers (type et valeur).
Cette page donne une définition des filets sémantiques (et des attributs manipulés), sa traduction sous la forme d'une ontologie et quelques requêtes de manipulation des filets.
# Définitions
## Filet sémantique (Semantic Net)
Soit _**G**_ un graphe RDF, _**T**_ un ensemble de types et _**V**_ un ensemble de valeurs. Un filet sémantique (semantic net) sur _**G**_ est un triplet N = (S, T, V) tel que :
- S est une sous-partie des sommets de G,
- T est un ensemble de type (inclu dans _**T**_),
- V est un ensemble de valeurs (inclu dans _**V**_).
Remarques :
- Il est possible de considérer l'un des noeuds du filet comme racine du filet. Cette notion n'est pas forcément utile : elle n'est pas reprise dans cette définition.
- Plusieurs types peuvent être associés à un filet sémantique pour en faciliter l'interprétation. Par exemple, la nature des modificateurs d'une liste de modificateurs pourra être précisée en associant deux types, **modList** avec **agent** ou **complement**.
- L'ensemble _**V**_n'a pas besoin d'être strictement défini si l'on veut considérer des valeurs de nature différente.
## Typage (ensemble _**T**_)
Un ensemble ordonné de types est introduit pour spécifier différentes catégories
de filets. Cet ensemble est noté _**T**_. Il contient les types suivants :
- class,
- modList, classList,
- agent, complement.
NB : cet ensemble peut être complété au besoin.
## Valuation (ensemble _**V**_)
Différentes valeurs peuvent être associées aux filets. Ces valeurs sont utilisées pour construire l'ontologie cible. L'ensemble des valeurs possibles est noté _**V**_. Il n'est pas nécessaire de définir cet ensemble, en considérant toutes les chaines de caractères possibles. L'ensemble _**V**_ peut être décomposé en plusieurs sous-ensemble pour préciser la nature des valeurs considérées, par exemple :
_ concept (pour les filets de type agent, complement)
_ class1, class2 (pour les filets de type classList)
Ces valeurs sont facultatives.
# Ontologie des filets sémantiques (semNet)
Les filets sémantiques sont implementés sous la forme d'une ontologie OWL, exploitable dans les requêtes SPARQL. Cette ontologie est désignée par le préfixe _**net**_.
Les classes suivantes sont introduites :
- net:Instance
- net:Type
- net:class
- net:mod_list
- net:class_list
- net:agent
- net:complement
La classe _net_ regroupe les filets créés (associés à la classe _net_ avec le prédicat _rdfs:subClassOf_).
La définition complète d'un filet est obtenue en utilisant les prédicats suivants :
- net:node
- net:type
- net:value
- net:concept
- net:class1
- net:class2
Le prédicat _net:node_ permet de relier un filet aux noeuds du grahe UNL-RDF.
Les filets peuvent être associés aux types de la classe "Type" avec le prédicat _net:type_.
Les valeurs associées aux filets sont définies avec les prédicats _net:value_. Les valeurs peuvent être caractérisées en utilisant un prédicat spécifique, par exemple :
- net:concept,
- net:class1,
- net:class2.
# Quelques requêtes
## Requête pour sélectionner un filet sémantique
```sparql
# -- Request to select Agent nets
SELECT ?net1
WHERE {
?net1 rdfs:subClassOf net:Instance.
?net1 net:type net:agent.
}
```
## Requête pour sélectionner un filet sémantique et les noeuds du filet
```sparql
SELECT ?net1 ?node1
WHERE {
?net1 rdfs:subClassOf net:Instance.
?net1 net:node ?node1.
}
```
\ No newline at end of file