• Aucun résultat trouvé

Représentation et navigation dans les modèles

6.2 IsaViz

6.2.1 Représentation et navigation dans les modèles

Les modèles RDF ont une structure de graphe dont les arcs sont étiquetés et orientés (DLG : Directed, Labelled Graph). Ces graphes sont des structures abstraites, et les sérialisations RDF ne contiennent pas d’information géométrique relative à l’aspect visuel du graphe. Il n’existe de toute façon pas de repré-sentation unique d’un graphe donné, mais une infinité de solutions, qui fournissent une reprérepré-sentation plus ou moins lisible et exploitable par l’utilisateur, la solution optimale variant en fonction de la raison pour laquelle le graphe est visualisé. Comme nous l’avons vu dans l’état de l’art, il existe différents al-gorithmes dédiés à la représentation visuelle de graphes et capables de gérer différents types de graphes. L’idée générale de ces algorithmes est d’améliorer la lisibilité des représentations, par exemple en évitant la superposition d’objets et en minimisant les coupures entre arcs (edge crossing) tout en conservant une géométrie simple (les chemins trop sinueux sont difficiles à suivre). La lisibilité peut aussi être améliorée en mettant en évidence des motifs (symétrie, répétition) dans la structure du graphe. Ces techniques sont utilisées par GraphViz [102, 103] de AT&T Research, et plus particulièrement dans le programme dot, spécialisé dans la représentation de graphes orientés. Ce programme fournit une représentation visuelle d’un graphe à partir de sa description abstraite (utilisant une syntaxe spécifique à dot). La représentation visuelle est engendrée soit sous la forme d’image bitmap, soit sous la forme de fichier dot enrichi d’in-formation de placement, ou encore sous la forme de fichier SVG. C’est cette dernière option que nous utilisons, la XVTM disposant d’un interpréteur SVG. Cet interpréteur génère un espace virtuel et y place les glyphes XVTM correspondant aux déclarations du fichier SVG. Le mécanisme d’association de ces glyphes avec les entités du modèle RDF obtenu par une voie parallèle est décrit dans la section 6.2.3.

Navigation

La navigation dans le graphe se fait alors suivant les principes des vues XVTM. Une caméra est créée dans l’espace virtuel ; cette caméra peut être déplacée dans l’espace et il est possible de changer son altitude, ce qui revient à effectuer des opérations de zoom dans le graphe. Cette faculté se révèle utile lors de la visualisation de modèles de taille importante (voir par exemple la figure 6.4), permettant de

IsaViz 177

FIG. 6.5 : IsaViz : Property Browser

passer rapidement d’une vue d’ensemble du graphe à des vues plus détaillées de régions spécifiques. L’utilisateur peut délimiter une région d’intérêt ou cliquer sur un nœud spécifique, et la caméra se dé-place automatiquement (translation et zoom) pour adapter au mieux la vue par rapport à ce nouveau centre d’intérêt. Ces déplacements sont animés, de manière à prendre en compte le principe de continuité perceptuelle. Le schéma d’animation retenu est slow-in/slow-out qui fournit les déplacements les plus plaisants sur le plan esthétique et sur le plan cognitif (réalisme du mouvement et concentration sur les phases importantes de l’animation, voir section 5.2.3).

Pour certaines configurations de graphes, il n’est pas possible d’obtenir automatiquement une représen-tation optimale pour tous les nœuds. En particulier, pour certaines ressources sujets d’un grand nombre d’affirmations dont les objets sont éloignés sur le plan géométrique, il peut être difficile d’obtenir une vue complète des propriétés reliées à la ressource sans avoir à placer la caméra à une altitude très haute, configuration dans laquelle n’apparaissent pas les détails de ces propriétés. Pour pallier ce problème, IsaViz offre un Property Browser (figure 6.5), qui fournit de manière synthétique la liste complète des propriétés faisant partie d’affirmations dont le nœud sélectionné dans le graphe est le sujet. Cette liste présente pour chacune de ces affirmations le type de la propriété ainsi que le nom et la nature de l’ob-jet associé. Chaque membre de cette liste fonctionne comme un hyperlien, la traversée de cet hyperlien ayant pour effet d’afficher la liste des affirmations dont l’objet précédent est le sujet (le lien n’est donc

IsaViz 179 actif que pour les objets de type ressource). Il est aussi possible de synchroniser cette vue avec la vue graphique puisqu’un clic droit sur l’un des éléments de la liste affichée par le Property Browser a pour effet de positionner la caméra de la vue XVTM de manière optimale par rapport à l’objet ainsi désigné. Cette fonctionnalité est importante car les deux types de représentations sont utilisés pour des tâches dif-férentes et l’utilisateur doit pouvoir passer de l’une à l’autre et continuer son travail sans fournir d’effort supplémentaire quant à son orientation dans le modèle.

Enfin, l’environnement fournit des fonctions de recherche et de sélection. La fonction de recherche rapide permet de trouver dans le graphe tous les nœuds et tous les arcs dont le texte4 contient la chaîne de caractères donnée. La fonction de recherche avancée permet de spécifier des critères de sélection plus fins, comme le type de l’entité à sélectionner : ressource, littéral, propriété ou indifférent. Les fonc-tions de recherche fournies par l’environnement sont très utiles, que la représentation soit textuelle ou visuelle. Elles sont cependant relativement peu présentes dans les langages de programmation visuels [111] et pourraient être améliorées, par exemple en ajoutant un mode de spécification visuel des critères de recherche. Dans le cadre d’IsaViz, la fonction de recherche avancée semble suffisante étant donné le nombre peu élevé de types d’objets graphiques et leur correspondance directe avec les entités RDF. Une fonction de recherche visuelle plus complexe pourrait permettre à l’utilisateur d’ébaucher des fragments incomplets de modèles qui seraient convertis en critères de recherche, ou plus exactement en requêtes. Nous nous rapprochons alors en effet d’un langage de requêtes visuel, une fonctionnalité considérée dans les évolutions futures de l’outil.