1

グラフ文法モデリング (モデル チェック)に関する研究論文を勉強していました。理解を深めるために、私は研究者が行った実験を調査し始めました。

ドット表記を使用してグラフ構造を指定し、 や などの属性を使用labelangle=-35しました。type = "rt|re|node"

インターネット上でドット言語の適切なリファレンスを見つけることができません。初心者の観点から始めたものはありません。私がstackoverflowを検索したとき、いくつかの表記法が時代遅れになったが文献にはまだ存在しているため、ドットで物事を指定する標準的な方法はないと感じました.

type誰かが属性の目的、またはlabelangle少なくともこのコンテキストで何を説明してくれますか。

注: どちらtypelabelangle、graphviz によって生成されたグラフに違いがあるようには見えません。

たとえば、58 ページのトポロジ形成の詳細な説明で悪いパターンとして引用されている次のグラフを考えてみましょう (悪いパターンとは何かについて心配する必要はありません。研究者が論文で定義したものです)。このドット ファイルを使用して作成されます。 :

graph bad_pattern
{
    splines = true;
    node1 [shape=circle, style = filled, width=.15, label = "1", type = "rt"];
    node2 [shape=circle, style = filled, width=.15, label = "2", type = "re"];
    node3 [shape=circle, style = filled, width=.15, label = "3", type = "node"];
    node4 [shape=circle, style = filled, width=.15, label = "4", type = "rt"];
    node5 [shape=circle, style = filled, width=.15, label = "5", type = "node"];
    node6 [shape=doublecircle, style = filled, width=.15, label = "6", type = "re"];

    RouteEntry0 [shape = box, style = filled, label = RouteEntry]
    RouteEntry0 -- node1 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteEntry0 -- node2 [taillabel = 1, labelangle=-35, labeldistance=1];

    RouteAddress0 [shape = box, style = filled, label = RouteAddress]
    RouteAddress0 -- node2 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteAddress0 -- node5 [taillabel = 1, labelangle=-35, labeldistance=1];

    RouteNextHopAddress [shape = box, style = filled]
    RouteNextHopAddress -- node2 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteNextHopAddress -- node3 [taillabel = 1, labelangle=-35, labeldistance=1];

    RouteTable [shape = box, style = filled]
    RouteTable -- node3 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteTable -- node4 [taillabel = 1, labelangle=-35, labeldistance=1];

    RouteEntry1 [shape = doubleoctagon, style = filled, label = RouteEntry]
    RouteEntry1 -- node4 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteEntry1 -- node6 [taillabel = 1, labelangle=-35, labeldistance=1];

    RouteAddress1 [shape = doubleoctagon, style = filled, label = RouteAddress]
    RouteAddress1 -- node6 [taillabel = 0, labelangle=-35, labeldistance=1];
    RouteAddress1 -- node5 [taillabel = 1, labelangle=-35, labeldistance=1];

    label = ""
    fontsize=20;
}

上記のドットファイルからグラフを出力

私がこれまでに開発した理解から、エッジとノードのマッピングがドットファイルと出力グラフで指定されたものと同じではないため、このグラフが上記のドットファイルの出力であるべきかどうかさえわかりません。

助けてください。

4

1 に答える 1

0

Graphviz の概要は、ドットを使用したグラフの描画で利用できます。属性への参照はNode, Edge and Graph Attributes - Graphviz にあります。

typeは通常の属性ではありませんが、言語は任意のユーザー属性をサポートしており、それをさらに処理するために使用します。おそらく、これを使用する実験の後続のステップがあります。これは、レイアウト エンジンでは使用されません。

于 2013-10-23T12:33:02.317 に答える