<graph>

<graph> (graphe) encode un graphe, c'est-à-dire un ensemble constitué de nœuds et d'arcs qui les relient entre eux. [19.1 Graphs and Digraphs]
Module nets — Graphs, Networks, and Trees
Attributs
type⚓︎ décrit le type de graphe.
Dérivé de att.typed
Statut Recommendé
Type de données teidata.enumerated
Les valeurs suggérées comprennent:
undirected
graphe non orienté.
directed
graphe orienté.
transitionNetwork
un graphe orienté avec un nœud initial et un nœud terminal bien distincts.
transducer
un réseau de transition avec jusqu'à deux étiquettes par arc.
Note

Si l'attribut type est spécifié avec une valeur undirected, la distinction entre les attributs to et from de la balise arc est neutralisée. Dans ce cas, l'attribut adj doit également être utilisé pour encoder les pointeurs vers les extrêmités des arcs au lieu des attributs adjFrom et adjTo. Si l'attribut type est spécifié avec une valeur directed (ou toute autre valeur qui implique une orientation), les attributs adjFrom et adjTo doivent être utilisés plutôt que l'attribut adj.

order⚓︎ établit l'ordre du graphe, c'est-à-dire le nombre de ses nœuds.
Statut Optionel
Type de données teidata.count
size⚓︎ établit la taille du graphe, c'est-à-dire le nombre de ses arcs.
Statut Optionel
Type de données teidata.count
Membre du
Contenu dans
Peut contenir
Note

un ou plusieurs nœuds et zéro, un ou plusieurs arcs dans un ordre quelconque.

Exemple
<graph xml:id="fr_cug1type="undirected"
 order="5size="4"
 rend="LABEL-PLACE bottom center NODE-FRAME none ARC solid line">

 <label>Inter-connexions des compagnies aériennes dans le Sud-Ouest des Etats-Unis.</label>
 <node xml:id="fr_laxdegree="2">
  <label>LAX</label>
 </node>
 <node xml:id="fr_lvgdegree="2">
  <label>LVG</label>
 </node>
 <node xml:id="fr_phxdegree="3">
  <label>PHX</label>
 </node>
 <node xml:id="fr_tusdegree="1">
  <label>TUS</label>
 </node>
 <node xml:id="fr_cibdegree="0">
  <label>CIB</label>
 </node>
 <arc from="#fr_laxto="#lvg"/>
 <arc from="#fr_laxto="#phx"/>
 <arc from="#fr_lvgto="#phx"/>
 <arc from="#fr_phxto="#tus"/>
</graph>
Modèle de contenu
<content>
 <sequence>
  <sequence minOccurs="0">
   <elementRef key="label"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
  <alternate>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="0"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
  </alternate>
 </sequence>
</content>
Schéma Declaration
<rng:element name="graph">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.typed.attribute.subtype"/>
 <rng:optional>
  <rng:attribute name="type">
   <rng:choice>
    <rng:value>undirected</rng:value>
    <rng:value>directed</rng:value>
    <rng:value>transitionNetwork</rng:value>
    <rng:value>transducer</rng:value>
    <rng:ref name="teidata.enumerated"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="order">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="size">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:group>
    <rng:ref name="label"/>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:group>
  </rng:optional>
  <rng:choice>
   <rng:group>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
    <rng:zeroOrMore>
     <rng:group>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:zeroOrMore>
   </rng:group>
   <rng:group>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
   </rng:group>
  </rng:choice>
 </rng:group>
</rng:element>
element graph
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.typed.attribute.subtype,
   attribute type
   {
      "undirected"
    | "directed"
    | "transitionNetwork"
    | "transducer"
    | teidata.enumerated
   }?,
   attribute order { teidata.count }?,
   attribute size { teidata.count }?,
   (
      ( label, model.global* )?,
      (
         ( ( node, model.global* )+, ( arc, model.global* )* )
       | ( ( arc, model.global* )+, ( node, model.global* )+ )
      )
   )
}