{"id":164,"date":"2026-05-26T09:02:41","date_gmt":"2026-05-26T09:02:41","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/docs\/uncategorized\/graphviz-playbook\/graphviz-graph-syntax-guide\/"},"modified":"2026-07-29T08:43:01","modified_gmt":"2026-07-29T08:43:01","slug":"graphviz-graph-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/","title":{"rendered":"Graphviz Graph Syntax Guide: Undirected Network Maps"},"content":{"rendered":"<article>While the <strong>digraph<\/strong> is essential for visualizing flow and hierarchy, the <strong>undirected graph<\/strong> (defined simply by the <code>graph<\/code> keyword) is the industry standard for representing systems where relationships are mutual, egalitarian, or non-hierarchical. In an undirected graph, the connection operator <code>--<\/code> indicates a bond between two nodes without implying that one node leads to, causes, or manages the other.<\/p>\n<h2>The Philosophy of Undirected Relationships<\/h2>\n<p>Undirected graphs are the natural language of physical and logical networks. In scenarios like server mesh clusters, peer-to-peer (P2P) file sharing, social connectivity, or hardware cabling, the &#8220;direction&#8221; of data is often fluid or bidirectional. Using an undirected <code>graph<\/code> declaration removes the cognitive bias of &#8220;source&#8221; and &#8220;destination,&#8221; allowing the reader to focus on the <strong>topology<\/strong>\u2014the structural integrity and density of the network itself.<\/p>\n<h3>1. Syntax Mechanics<\/h3>\n<p>Defining an undirected graph follows a syntax almost identical to a digraph, with one critical change: the operator. By replacing <code>-&gt;<\/code> with <code>--<\/code>, you instruct the DOT compiler that these connections represent symmetrical associations.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Graphviz<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#graphviz:eNpLL0osyFDwSy0pzy\/KDskvyM\/JT69UqOblUgACfX0FR4WkzJTMotTkksz8vMQchcTi4vzkzEQQD6JGKTi1qCy1KN7AUElBVxfBNVKyhihAMiq3NKckUzcvPyVVITe1OEMhOT8vD2IymllGqGYZo3JNQEbXAgCyojY9\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Graphviz in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-graphviz\"><code data-language=\"graphviz\" class=\"language-graphviz\">graph NetworkTopology {\r\n    \/\/ A bidirectional association\r\n    \"Server_01\" -- \"Server_02\";\r\n    \r\n    \/\/ A multi-node mesh connection\r\n    \"Server_02\" -- \"Server_03\" -- \"Server_04\";\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#graphviz:eNpLL0osyFDwSy0pzy\/KDskvyM\/JT69UqOblUgACfX0FR4WkzJTMotTkksz8vMQchcTi4vzkzEQQD6JGKTi1qCy1KN7AUElBVxfBNVKyhihAMiq3NKckUzcvPyVVITe1OEMhOT8vD2IymllGqGYZo3JNQEbXAgCyojY9\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Graphviz in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"FvGUftp\"><img fetchpriority=\"high\" decoding=\"async\" width=\"177\" height=\"347\" class=\"alignnone size-full wp-image-655 \" src=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png 177w, https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89-153x300.png 153w\" sizes=\"(max-width: 177px) 100vw, 177px\" \/><\/p>\n<h2>Advanced Layout Strategies: The &#8220;Spring-Model&#8221;<\/h2>\n<p>A common pitfall for new Graphviz users is attempting to render undirected graphs using the default <code>dot<\/code> engine. Because the <code>dot<\/code> engine is optimized for hierarchical ranking, it will often produce unbalanced, awkward layouts for undirected data. Instead, for your undirected <code>graph<\/code> definitions, you should utilize engines designed for equilibrium:<\/p>\n<ul>\n<li><strong>neato:<\/strong> The primary choice for undirected graphs. It uses the &#8220;Kamada-Kawai&#8221; algorithm, which treats every edge like a physical spring. Nodes that are connected move closer together, while unrelated nodes push apart until the system reaches a state of minimum energy.<\/li>\n<li><strong>fdp:<\/strong> A variation of the spring-model algorithm specifically optimized for larger datasets. It is highly effective at preventing &#8220;node overlap&#8221; in dense network maps.<\/li>\n<\/ul>\n<h3>Implementation Example<\/h3>\n<p>By specifying the <code>layout<\/code> engine within your DOT file, you ensure that anyone who renders your code will get the correct, balanced visual output regardless of their local installation.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Graphviz<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#graphviz:eNp1j0FqwzAQRfeF3GHwOiYHMF44Cd01FyglKNK3JFA0RhpDTOndI1dNaRfRYiR4\/6E\/NqnJ0RuyG5J2XqBlTqDPzQuVE9TCs\/QRSrij3Y5eOWlkEgfKU\/LRtlc2CIRofUSV6izhAbkExWuygS8qkMGo5iC5JmIx6T07NaF3uCnLcUtZloB+9CHAbGm9NQdOPScVLT66qsLYolZik1oenmERmDX1W+KI0cdS9LvztexZSXMqv5+Hhtr2571vumfo8B\/tn6PDH3Rc0dcdTQhoXw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Graphviz in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-graphviz\"><code data-language=\"graphviz\" class=\"language-graphviz\">graph MeshArchitecture {\r\n    layout=neato; \/\/ Forces the spring-model engine\r\n    \r\n    \/\/ Aesthetic global defaults\r\n    node [shape=hexagon, style=filled, fillcolor=orange];\r\n    edge [color=gray, style=dotted];\r\n\r\n    \/\/ Defining the mesh\r\n    \"Node_A\" -- \"Node_B\";\r\n    \"Node_A\" -- \"Node_C\";\r\n    \"Node_B\" -- \"Node_C\";\r\n    \"Node_C\" -- \"Node_D\";\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#graphviz:eNp1j0FqwzAQRfeF3GHwOiYHMF44Cd01FyglKNK3JFA0RhpDTOndI1dNaRfRYiR4\/6E\/NqnJ0RuyG5J2XqBlTqDPzQuVE9TCs\/QRSrij3Y5eOWlkEgfKU\/LRtlc2CIRofUSV6izhAbkExWuygS8qkMGo5iC5JmIx6T07NaF3uCnLcUtZloB+9CHAbGm9NQdOPScVLT66qsLYolZik1oenmERmDX1W+KI0cdS9LvztexZSXMqv5+Hhtr2571vumfo8B\/tn6PDH3Rc0dcdTQhoXw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Graphviz in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"Qjjhukf\"><img decoding=\"async\" width=\"257\" height=\"245\" class=\"alignnone size-full wp-image-656 \" src=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a190540cf743.png\" alt=\"\" \/><\/p>\n<h2>Optimizing Undirected Visuals for SEO and Readability<\/h2>\n<p>When mapping undirected networks, the visual layout can quickly become cluttered. Follow these strategies to maintain professional-grade outputs:<\/p>\n<ul>\n<li><strong>Avoid &#8220;Hairball&#8221; Graphs:<\/strong> If a network map is too dense to understand, the Graphviz solution is not more edges\u2014it is grouping. Use subgraphs to break a large mesh into logical &#8220;neighborhoods&#8221; that are connected by fewer, but more significant, bridges.<\/li>\n<li><strong>Leverage Edge Lengths:<\/strong> In <code>neato<\/code>, you can define <code>len<\/code> attributes on edges (e.g., <code>\"A\" -- \"B\" [len=2.0]<\/code>). This allows you to mathematically increase the physical distance between nodes, effectively giving your network &#8220;breathing room&#8221; in dense areas.<\/li>\n<li><strong>Focus on Node Clusters:<\/strong> Even without the <code>cluster_<\/code> prefix used in digraphs, you can group nodes into subgraphs to help the spring-model engine understand that certain nodes should remain physically proximate.<\/li>\n<\/ul>\n<p>Mastering undirected graph syntax allows you to document the &#8220;web&#8221; of your infrastructure rather than just the &#8220;flow.&#8221; By utilizing the correct layout engines and spring-model attributes, you can create network maps that are both mathematically sound and visually intuitive.<\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>While the digraph is essential for visualizing flow and hierarchy, the undirected graph (defined simply by the graph keyword) is the industry standard for representing systems where relationships are mutual, egalitarian, or non-hierarchical. In an undirected graph, the connection operator&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":49,"menu_order":2,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-164","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Graphviz Graph Guide | VPasCode Diagram-as-Code Tool<\/title>\n<meta name=\"description\" content=\"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Graphviz Graph Guide | VPasCode Diagram-as-Code Tool\" \/>\n<meta property=\"og:description\" content=\"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-29T08:43:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/\",\"name\":\"Graphviz Graph Guide | VPasCode Diagram-as-Code Tool\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/05\\\/img_6a19053c6cb89.png\",\"datePublished\":\"2026-05-26T09:02:41+00:00\",\"dateModified\":\"2026-07-29T08:43:01+00:00\",\"description\":\"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/05\\\/img_6a19053c6cb89.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/05\\\/img_6a19053c6cb89.png\",\"width\":177,\"height\":347},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/graphviz-graph-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Graphviz Playbook\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/graphviz-playbook\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Graphviz Graph Syntax Guide: Undirected Network Maps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Graphviz Graph Guide | VPasCode Diagram-as-Code Tool","description":"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/","og_locale":"pt_PT","og_type":"article","og_title":"Graphviz Graph Guide | VPasCode Diagram-as-Code Tool","og_description":"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.","og_url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/","og_site_name":"VPasCode","article_modified_time":"2026-07-29T08:43:01+00:00","og_image":[{"url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/","url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/","name":"Graphviz Graph Guide | VPasCode Diagram-as-Code Tool","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png","datePublished":"2026-05-26T09:02:41+00:00","dateModified":"2026-07-29T08:43:01+00:00","description":"Model symmetric network connections with Graphviz undirected graphs in VPasCode, an agile text to diagram tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/05\/img_6a19053c6cb89.png","width":177,"height":347},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/graphviz-graph-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/pt\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"Graphviz Playbook","item":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/graphviz-playbook\/"},{"@type":"ListItem","position":4,"name":"Graphviz Graph Syntax Guide: Undirected Network Maps"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"up":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/49"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_collection?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}