2017-07-12 18 views
0

私はDOTグラフ表現形式を使用して、一連の属性を持つグラフを永続化/直列化することを計画しています。graphvizとDOT形式とcgraphの関係は?

私はDOTをGraphVizの入力フォーマットとして知っていたので、DOTがどのように解析されているか、そしてパーサを使用するか、簡単に移植できるかどうかを調べました。私が見つけたのはこの文書でした:Using GraphViz as a Library。 DOTについて書かれていることは次のとおりです。

cgraphライブラリは、DOTで表されるグラフのパーサを提供します。 これを使用すると、aggetまたはagxgetを使用してグラフを読み込み、希望の 属性を検索するのは簡単です。これらの 関数の詳細については、2.1.1項を参照してください。

と節でそれが言う2.1.1:

グラフを描画するための最初のステップは、それを作成することです。 Graphvizレイアウトソフトウェアを使用するには、cgraph ライブラリを使用してグラフを作成する必要があります。 私たちは、などなどagread() またはagopen()

を使用して、主に二つの方法のいずれかでグラフを作成することができます...そして、それはC標準ライブラリFILE*を取るこれらの機能を、説明、またはchar*文字列。

私はそれを得ていません。それはcgraphis just a folder of code within the graphviz repositoryのように見えます。

  • それはcgraphライブラリによって読み取られるDOTファイルないにとって何を意味するのでしょうか?
  • cgraphはスタンドアロンライブラリとして存在しますか?
  • DOTフォーマットが存在するかどうかは、graphvizとは独立して開発されていますか?もしそうなら、それは独立してcgraphコードに関係していますか?

私に教えてください。

答えて

0

あなたの3番目のクエストでは、DOT自体はグラフを記述できる文法の単なる言語です。さまざまなパッケージアプリケーションは、IDE(GraphVizなど)のような機能と、さまざまなフォーマットとレイアウトでグラフをレンダリングして保存する機能を提供します。

DOT言語の文法では、グラフを適切に記述することができれば、アプリケーションやレンダラーのエコシステム全体が利用できるので、これを行うには最適な方法です。そしてそれは簡潔です - 私はシステムの文書化(> 400サーバと> 1000ノード)のためにこれを使用します。

関連する問題