Treebolic

SQL Result Sets

Treebolic SQL effectue trois requêtes sur une base de données pour déterminer

Dans ce dernier cas, seulement la première ligne est prise en considération, le reste étant ignoré.

La base de données est identifiée par l'URL JDBC passée au module. En principe elle débute par jdbc: se se poursuit par des données spécifiques à la base de données.

Les requêtes sont exprimées en SQL mais on peut s'attendre à des variations mineures de syntaxe, suivant le gestionnaire de base de données utilisé.

Le résultat de la requêtes Noeuds (Nodes ResultSet) doit retourner les champs/colonnes suivants :

NOEUDS

 

 

<id_node>*

obligatoire

l'identificateur (ID) du noeud, une chaîne qui doit identifier de façon unique le noeud. Les IDs ne doivent pas contenir les caractères '/\|' utilisés par ailleurs comme séparateurs d'ID

<path>*

obligatoire

le chemin complet du noeud à partir de la racine de l'arbre, une chaîne constituée d'ID de noeuds séparés par des slashs ('/'), ou antislash ('\') ou barre verticale ('|')

<label>*

obligatoire

l'étiquette du noeud

content

facultatif

le contenu du noeud

img

facultatif

l'image du noeud (sera préfixée par 'images/')

link_href

facultatif

l'hyperlien du noeud

link_target

facultatif

la fenêtre cible de l'hyperlien

mount

facultatif

le point de montage du noeud (URL)

delaymount

facultatif

détermine si le montage est immédiat

weight

facultatif

le poids estimé du noeud après le montage

backcolor

facultatif

la couleur de fond du noeud

forecolor

facultatif

la couleur de traçage du noeud

 

 

 

<other>

facultatif

monté sur l'arbre hyperbolique en tant que noeud enfant du noeud, le nom du champ servant d'étiquette et la valeur du champ de contenu.

<other> (underscore prefixed)

facultatif

ignoré

* Les noms de champ sont donnés soit par le fichier de propriétés SQL ou le Document ResultSet. Une façon simple d'arriver à cette correspondance est d'avoir une table ayant les champs requis, bien que ce ne soit pas obligatoire. Le même effet peut être atteint avec le renommage SQL dans lequel un champ existant reçoit un autre nom (alias). Les champs calculés sont aussi valides. Exemples d'aliasing :

SELECT *, Nodes.myID AS id FROM ...
SELECT *, Images.src AS FROM Nodes, Images ...

Le résultat de la requête Arcs (Edges ResultSet) doit retourner les champs/colonnes suivants :

ARCS

 

 

id_edge

facultatif

l'ID de l'arc

<from>*

obligatoire

l'ID du noeud source

<to>*

obligatoire

l'ID du noeud destination

color

facultatif

la couleur de l'arc

hidden

facultatif

ignoré (pour extensions ultérieures)

 

 

 

<other>

facultatif

ignoré

* Les remarques ci-dessus sur le renommage (aliasing) s'appliquent aussi.

Le résultat de la requête Paramètres (Settings ResultSet) doit retourner les champs/colonnes suivants :

PARAMETRES

 

 

id_settings

facultatif

ID de l'ensemble de paramètres

toolbar (*)

facultatif

si il y une barre d'outils

statusbar (*)

facultatif

si il y une barre d'état

focus_on_hover (*)

facultatif

si passer sur un noeud l'amène au centre

xmoveto (*)

facultatif

décalage x

ymoveto (*)

facultatif

décalage y

backcolor (*)

facultatif

couleur de fond

forecolor (*)

facultatif

couleur de traçage

img (*)

facultatif

image d'arrière-plan

orientation (*)

facultatif

orientation de l'arbre

expansion (*)

facultatif

expansion de l'arbre

sweep (*)

facultatif

ouverture de l'arbre

hyperbolic (*)

facultatif

arcs hyperbolique

preserve_orientation (*)

facultatif

si les transformations préservent l'orientation de l'arbre

fontface (*)

facultatif

police

fontsize (*)

facultatif

taille de la police

fontsizestep (*)

facultatif

pas de décrémentation de la taille de la police

nodes_backcolor (*)

facultatif

couleur de fond des noeuds par défaut

nodes_forecolor (*)

facultatif

couleur de traçage des noeuds par défaut

nodes_img (*)

facultatif

image des noeuds par défaut

edges_treecolor (*)

facultatif

couleur de l'arbre par défaut

edges_color (*)

facultatif

couleur des arcs par défaut

field_backcolor (*)

facultatif

couleur de fond des champs (voir Noeuds ci-dessus)

field_forecolor (*)

facultatif

couleur de traçage des champs  (voir Noeuds ci-dessus)

root_backcolor (*)

facultatif

couleur de fond de la racine

root_forecolor (*)

facultatif

couleur de traçage de la racine

 

 

 

<other>

facultatif

ignoré

Fondamentalement, ces conventions de nommage suivent la DTD et on peut se référer à la section attributs pour plus de détails.

Quelques exemples de requêtes :

nodes_sql

SELECT *, Nodes_EN.id_node AS label, _Images.src AS img
FROM Nodes_EN LEFT JOIN _Images ON Nodes_EN.id_img=_Images.id_img
WHERE Nodes_EN.path LIKE '/animal/vertebrate%';

edges_sql

SELECT * FROM Edges;

settings_sql

SELECT *, _BackImages.src AS img, _NodesImages.src AS nodes_img
FROM Settings LEFT JOIN _Images AS _BackImages ON Settings.id_img = _BackImages.id_img
        LEFT JOIN _Images AS _NodesImages ON Settings.id_nodes_img = _NodesImages.id_img
        LEFT JOIN _Orientations ON Settings.id_orientation = _Orientations.id_orientation
        LEFT JOIN _FontFaces ON Settings.id_fontface = _FontFaces.id_fontface
WHERE Settings.id_settings = 'DEFAULT';