グラフ文法モデリング (モデル チェック)に関する研究論文を勉強していました。理解を深めるために、私は研究者が行った実験を調査し始めました。
ドット表記を使用してグラフ構造を指定し、 や などの属性を使用labelangle=-35
しました。type = "rt|re|node"
インターネット上でドット言語の適切なリファレンスを見つけることができません。初心者の観点から始めたものはありません。私がstackoverflowを検索したとき、いくつかの表記法が時代遅れになったが文献にはまだ存在しているため、ドットで物事を指定する標準的な方法はないと感じました.
type
誰かが属性の目的、またはlabelangle
少なくともこのコンテキストで何を説明してくれますか。
注: どちらtype
もlabelangle
、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;
}
私がこれまでに開発した理解から、エッジとノードのマッピングがドットファイルと出力グラフで指定されたものと同じではないため、このグラフが上記のドットファイルの出力であるべきかどうかさえわかりません。
助けてください。