{"id":2098,"date":"2026-05-26T09:02:41","date_gmt":"2026-05-26T09:02:41","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/graphviz-syntax-basis\/"},"modified":"2026-05-26T09:02:41","modified_gmt":"2026-05-26T09:02:41","slug":"graphviz-syntax-basis","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/","title":{"rendered":"C\u01a1 s\u1edf c\u00fa ph\u00e1p Graphviz: Ng\u00f4n ng\u1eef DOT"},"content":{"rendered":"<article>Trong th\u1ebf gi\u1edbi t\u00e0i li\u1ec7u t\u1ef1 \u0111\u1ed9ng h\u00f3a, <strong>Graphviz<\/strong> \u0111\u1ee9ng v\u1eefng nh\u01b0 ti\u00eau chu\u1ea9n v\u00e0ng trong vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i c\u00e1c m\u1ed1i quan h\u1ec7 ph\u1ee9c t\u1ea1p, tr\u1eebu t\u01b0\u1ee3ng th\u00e0nh b\u1ea3n \u0111\u1ed3 tr\u1ef1c quan r\u00f5 r\u00e0ng, chuy\u00ean nghi\u1ec7p. Kh\u00e1c v\u1edbi c\u00e1c c\u00f4ng c\u1ee5 thi\u1ebft k\u1ebf th\u1ee7 c\u00f4ng \u0111\u00f2i h\u1ecfi \u0111i\u1ec1u ch\u1ec9nh v\u00e0 c\u0103n ch\u1ec9nh li\u00ean t\u1ee5c, Graphviz ho\u1ea1t \u0111\u1ed9ng theo nguy\u00ean t\u1eafc \u201c\u0111\u1ed3 th\u1ecb nh\u01b0 m\u00e3 ngu\u1ed3n\u201d. B\u1eb1ng c\u00e1ch t\u1eadn d\u1ee5ng <strong>ng\u00f4n ng\u1eef DOT<\/strong>, b\u1ea1n cung c\u1ea5p d\u1eef li\u1ec7u c\u1ea5u tr\u00fac, v\u00e0 m\u1ed9t b\u1ed9 \u0111\u1ed9ng c\u01a1 b\u1ed1 c\u1ee5c tinh vi s\u1ebd x\u1eed l\u00fd h\u00ecnh h\u1ecdc, \u0111\u1ea3m b\u1ea3o c\u00e1c s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n lu\u00f4n \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a v\u1ec1 m\u1eb7t thu\u1eadt to\u00e1n.<\/p>\n<h2>Tri\u1ebft l\u00fd ki\u1ebfn tr\u00fac c\u1ee7a DOT<\/h2>\n<p>Ng\u00f4n ng\u1eef DOT l\u00e0 m\u1ed9t \u0111\u1ecbnh d\u1ea1ng v\u0103n b\u1ea3n khai b\u00e1o, \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1eb7c bi\u1ec7t \u0111\u1ec3 m\u00f4 t\u1ea3 \u0111\u1ed3 th\u1ecb. Khi b\u1ea1n vi\u1ebft m\u1ed9t t\u1ec7p DOT, b\u1ea1n kh\u00f4ng \u0111ang n\u00f3i v\u1edbi m\u00e1y t\u00ednh <em>n\u01a1i<\/em> \u0111\u1ec3 v\u1ebd m\u1ed9t \u0111\u01b0\u1eddng; b\u1ea1n \u0111ang n\u00f3i v\u1edbi n\u00f3 <em>\u0111i\u1ec1u g\u00ec<\/em> k\u1ebft n\u1ed1i v\u1edbi <em>\u0111i\u1ec1u g\u00ec<\/em>. S\u1ef1 tr\u1eebu t\u01b0\u1ee3ng n\u00e0y ch\u00ednh l\u00e0 l\u00fd do Graphviz tr\u1edf n\u00ean thi\u1ebft y\u1ebfu trong DevOps, k\u1ef9 thu\u1eadt h\u1ec7 th\u1ed1ng v\u00e0 khoa h\u1ecdc d\u1eef li\u1ec7u\u2014n\u00f3 cho ph\u00e9p b\u1ea1n bi\u1ec3u di\u1ec5n c\u00e1c ki\u1ebfn tr\u00fac kh\u1ed5ng l\u1ed3, thay \u0111\u1ed5i li\u00ean t\u1ee5c m\u00e0 s\u1ebd ho\u00e0n to\u00e0n kh\u00f4ng th\u1ec3 duy tr\u00ec \u0111\u01b0\u1ee3c trong m\u1ed9t tr\u00ecnh ch\u1ec9nh s\u1eeda \u0111\u1ed3 h\u1ecda.<\/p>\n<h2>C\u00e1c th\u00e0nh ph\u1ea7n n\u1ec1n t\u1ea3ng c\u1ee7a m\u1ed9t t\u1ec7p DOT<\/h2>\n<p>M\u1ed7i t\u00e0i li\u1ec7u Graphviz \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean m\u1ed9t c\u1ea5u tr\u00fac ph\u00e2n c\u1ea5p ch\u1eb7t ch\u1ebd, h\u1ee3p l\u00fd. Hi\u1ec3u r\u00f5 c\u00e1c th\u00e0nh ph\u1ea7n n\u00e0y l\u00e0 b\u01b0\u1edbc \u0111\u1ea7u ti\u00ean \u0111\u1ec3 th\u00e0nh th\u1ea1o vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 t\u1ef1 \u0111\u1ed9ng:<\/p>\n<h3>1. \u0110\u1ecbnh ngh\u0129a \u0111\u1ed3 th\u1ecb v\u00e0 ph\u1ea1m vi<\/h3>\n<p>To\u00e0n b\u1ed9 t\u00e0i li\u1ec7u \u0111\u01b0\u1ee3c bao b\u1ecdc trong m\u1ed9t \u0111\u1ecbnh ngh\u0129a \u0111\u1ed3 th\u1ecb. B\u1ea1n ph\u1ea3i khai b\u00e1o lo\u1ea1i \u0111\u1ed3 th\u1ecb ngay t\u1eeb \u0111\u1ea7u:<\/p>\n<ul>\n<li><code>digraph<\/code>: D\u00f9ng cho \u0111\u1ed3 th\u1ecb c\u00f3 h\u01b0\u1edbng, n\u01a1i h\u01b0\u1edbng \u0111i l\u00e0 y\u1ebfu t\u1ed1 ch\u00ednh (v\u00ed d\u1ee5: chu\u1ed7i ph\u1ee5 thu\u1ed9c).<\/li>\n<li><code>graph<\/code>: D\u00f9ng cho \u0111\u1ed3 th\u1ecb v\u00f4 h\u01b0\u1edbng, n\u01a1i c\u00e1c m\u1ed1i quan h\u1ec7 l\u00e0 hai chi\u1ec1u (v\u00ed d\u1ee5: ki\u1ebfn tr\u00fac m\u1ea1ng).<\/li>\n<\/ul>\n<h3>2. Danh t\u00ednh c\u1ee7a c\u00e1c n\u00fat<\/h3>\n<p>C\u00e1c n\u00fat l\u00e0 c\u00e1c \u0111\u1ec9nh c\u1ee7a \u0111\u1ed3 th\u1ecb c\u1ee7a b\u1ea1n. Trong DOT, ch\u00fang l\u00e0 nh\u1eefng th\u00e0nh ph\u1ea7n h\u00e0ng \u0111\u1ea7u. B\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a ch\u00fang ch\u1ec9 b\u1eb1ng c\u00e1ch g\u00f5 t\u00ean c\u1ee7a ch\u00fang, nh\u01b0ng \u0111\u1ec3 t\u00e0i li\u1ec7u \u0111\u1ea1t ch\u1ea5t l\u01b0\u1ee3ng s\u1ea3n xu\u1ea5t, b\u1ea1n lu\u00f4n n\u00ean \u0111\u1ecbnh ngh\u0129a ch\u00fang v\u1edbi nh\u00e3n. N\u1ebfu ID c\u1ee7a b\u1ea1n ch\u1ee9a kho\u1ea3ng tr\u1eafng ho\u1eb7c k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t, ng\u00f4n ng\u1eef DOT y\u00eau c\u1ea7u b\u1ea1n ph\u1ea3i bao quanh \u0111\u1ecbnh danh b\u1eb1ng d\u1ea5u ngo\u1eb7c k\u00e9p \u0111\u1ec3 tr\u00e1nh l\u1ed7i c\u00fa ph\u00e1p.<\/p>\n<h3>3. \u0110\u1ecbnh ngh\u0129a c\u1ea1nh v\u00e0 m\u1ed1i quan h\u1ec7<\/h3>\n<p>C\u00e1c c\u1ea1nh l\u00e0 c\u00e1c li\u00ean k\u1ebft gi\u1eefa c\u00e1c n\u00fat c\u1ee7a b\u1ea1n. Ng\u00f4n ng\u1eef DOT cung c\u1ea5p hai to\u00e1n t\u1eed ch\u00ednh \u0111\u1ec3 \u0111\u1ecbnh ngh\u0129a c\u00e1c m\u1ed1i quan h\u1ec7 n\u00e0y:<\/p>\n<ul>\n<li><code>-&gt;<\/code>: D\u00f9ng trong <code>digraph<\/code> \u0111\u1ec3 bi\u1ec3u th\u1ecb h\u01b0\u1edbng \u0111i (v\u00ed d\u1ee5: &#8220;<code>Ngu\u1ed3n -&gt; \u0110\u00edch<\/code>).<\/li>\n<li><code>--<\/code>: \u0110\u01b0\u1ee3c s\u1eed d\u1ee5ng trong <code>\u0111\u1ed3 th\u1ecb<\/code> \u0111\u1ec3 ch\u1ec9 m\u1ed9t m\u1ed1i quan h\u1ec7 t\u01b0\u01a1ng h\u1ed7 (v\u00ed d\u1ee5: <code>NodeA -- NodeB<\/code>).<\/li>\n<\/ul>\n<h2>Qu\u1ea3n l\u00fd thu\u1ed9c t\u00ednh to\u00e0n c\u1ee5c<\/h2>\n<p>M\u1ed9t trong nh\u1eefng t\u00ednh n\u0103ng m\u1ea1nh m\u1ebd nh\u1ea5t c\u1ee7a ng\u00f4n ng\u1eef DOT l\u00e0 kh\u1ea3 n\u0103ng \u00e1p d\u1ee5ng phong c\u00e1ch tr\u00ean to\u00e0n b\u1ed9 \u0111\u1ed3 th\u1ecb. Thay v\u00ec thi\u1ebft l\u1eadp <code>m\u00e0u s\u1eafc<\/code>, <code>h\u00ecnh d\u1ea1ng<\/code>, ho\u1eb7c <code>fontname<\/code> cho t\u1eebng n\u00fat ri\u00eang l\u1ebb, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a ch\u00fang ngay t\u1eeb \u0111\u1ea7u \u0111\u1ed3 th\u1ecb c\u1ee7a m\u00ecnh. \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o t\u00ednh nh\u1ea5t qu\u00e1n tr\u00ean to\u00e0n b\u1ed9 b\u1ed9 t\u00e0i li\u1ec7u c\u1ee7a b\u1ea1n.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Graphviz<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNptjk1LxDAQhu+C\/2GI19XVw56kQkXxIrJr8bR4yDZvm4E0qZN0lyL+d\/uhK6KTQ8jMM28ew7Xo1lLRx4Qml9JyQpk6Ab2fntBQyyU9uLDTjmLqHSjsIcIGcR77YEDbaHWLTIbNxYxlFTsHs6DxLoMLkqmz6nI8amgGn7xukKlcWDv1ej2HwdRD2De+mmrAW\/gDm2Szq4vViB7FnsbPDUqnRScOPtKBk6XO81sHcnoH96Wp8i7ZArLnEoq20yibmvCJy2mb7n3NHkcb9RIhd7c\/+DrEVAuKzSOthRstvfql8ww3a1huB62KPY\/P\/wzOb\/7GbzoII06ZH5+jeoCN\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda Graphviz trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#graphviz:eNptkDFLQzEQx3fB73DEtVodOskTagWFOiitIBSHNC99CaSXZ15aKeLcwcWO4mIpBR0cXN8bHFL8Hvkm5rVYEb0bEi7\/++d3F8vE0FTAiS\/GbeGLCSZN6fMPbBuXM7jd3IAQ1SocCwmLiXuBVGhMgLkpE2C1e0ZgvpizlRB1zKGTCZryyHBmK5DZkeJRTyrF4wqUJ9NKm4hs9XbLJKGo0SLt84jUjaSKXO2vzHicBLNveW0ZQZ5yvJGxFdHeTq2UrhGbgkrouqkGdLmFoS+eJKBwM4R4MAo3n8\/tSk3qAyta3Awl4wQ6ina5isjiwRePYbjG5xQuw4BQbuSdrYHIRcbN0eFPQ0O4NxRwpjObGN46PyW\/gEq\/+\/COiVi8UuiH9Uq4HlCE4Dv+j2T74O8nbRPgh4Edl+53X66Gmyw=\" \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 class=\"language-graphviz\" data-language=\"graphviz\" class=\"language-graphviz\">digraph H\u1ec7Th\u1ed1ngKi\u1ebfnTr\u00fac {\r\n    \/\/ Ghi \u0111\u00e8 phong c\u00e1ch to\u00e0n c\u1ee5c\r\n    node [shape=rect, style=filled, fillcolor=\"#f0f0f0\", fontname=\"Arial\"];\r\n    edge [color=\"#555555\", penwidth=1.5];\r\n\r\n    \/\/ Khai b\u00e1o n\u00fat v\u1edbi nh\u00e3n duy nh\u1ea5t\r\n    \"AuthService\" [label=\"\u0110\u1ed9ng C\u01a1 X\u00e1c Th\u1ef1c\"];\r\n    \"UserDB\" [label=\"Ch\u00ednh PostgreSQL\"];\r\n\r\n    \/\/ \u0110\u1ecbnh ngh\u0129a m\u1ed1i quan h\u1ec7\r\n    \"AuthService\" -&gt; \"UserDB\" [label=\"Truy v\u1ea5n\"];\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNptkDFLQzEQx3fB73DEtVodOskTagWFOiitIBSHNC99CaSXZ15aKeLcwcWO4mIpBR0cXN8bHFL8Hvkm5rVYEb0bEi7\/++d3F8vE0FTAiS\/GbeGLCSZN6fMPbBuXM7jd3IAQ1SocCwmLiXuBVGhMgLkpE2C1e0ZgvpizlRB1zKGTCZryyHBmK5DZkeJRTyrF4wqUJ9NKm4hs9XbLJKGo0SLt84jUjaSKXO2vzHicBLNveW0ZQZ5yvJGxFdHeTq2UrhGbgkrouqkGdLmFoS+eJKBwM4R4MAo3n8\/tSk3qAyta3Awl4wQ6ina5isjiwRePYbjG5xQuw4BQbuSdrYHIRcbN0eFPQ0O4NxRwpjObGN46PyW\/gEq\/+\/COiVi8UuiH9Uq4HlCE4Dv+j2T74O8nbRPgh4Edl+53X66Gmyw=\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNptjk1LxDAQhu+C\/2GI19XVw56kQkXxIrJr8bR4yDZvm4E0qZN0lyL+d\/uhK6KTQ8jMM28ew7Xo1lLRx4Qml9JyQpk6Ab2fntBQyyU9uLDTjmLqHSjsIcIGcR77YEDbaHWLTIbNxYxlFTsHs6DxLoMLkqmz6nI8amgGn7xukKlcWDv1ej2HwdRD2De+mmrAW\/gDm2Szq4vViB7FnsbPDUqnRScOPtKBk6XO81sHcnoH96Wp8i7ZArLnEoq20yibmvCJy2mb7n3NHkcb9RIhd7c\/+DrEVAuKzSOthRstvfql8ww3a1huB62KPY\/P\/wzOb\/7GbzoII06ZH5+jeoCN\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda Graphviz trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"bhGOhoR\"><img alt=\"\" class=\"alignnone size-full wp-image-653\" decoding=\"async\" height=\"169\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png\" width=\"199\"\/><\/p>\n<h2>Ch\u1ecdn \u0111\u1ed9ng c\u01a1 b\u1ed1 c\u1ee5c ph\u00f9 h\u1ee3p<\/h2>\n<p>M\u1ed9t ph\u1ea7n quan tr\u1ecdng trong vi\u1ec7c hi\u1ec3u c\u00fa ph\u00e1p Graphviz l\u00e0 nh\u1eadn ra r\u1eb1ng m\u00e3 DOT ch\u1ec9 l\u00e0 m\u1ed9t n\u1eeda ph\u01b0\u01a1ng tr\u00ecnh. \u0110\u1ed9ng c\u01a1 <strong>\u0110\u1ed9ng c\u01a1 b\u1ed1 c\u1ee5c<\/strong> x\u00e1c \u0111\u1ecbnh c\u00e1ch m\u00e3 \u0111\u00f3 \u0111\u01b0\u1ee3c chuy\u1ec3n \u0111\u1ed5i th\u00e0nh c\u00e1c \u0111i\u1ec3m \u1ea3nh. Vi\u1ec7c ch\u1ecdn \u0111\u00fang \u0111\u1ed9ng c\u01a1 l\u00e0 r\u1ea5t quan tr\u1ecdng \u0111\u1ec3 t\u1ea1o ra c\u00e1c s\u01a1 \u0111\u1ed3 th\u00e2n thi\u1ec7n v\u1edbi SEO v\u00e0 d\u1ec5 \u0111\u1ecdc:<\/p>\n<ul>\n<li><strong>Dot:<\/strong> \u0110\u1ed9ng c\u01a1 m\u1eb7c \u0111\u1ecbnh v\u00e0 \u1ed5n \u0111\u1ecbnh nh\u1ea5t cho c\u00e1c lu\u1ed3ng c\u00f4ng vi\u1ec7c ph\u00e2n c\u1ea5p, t\u1eeb tr\u00ean xu\u1ed1ng d\u01b0\u1edbi.<\/li>\n<li><strong>Neato:<\/strong> S\u1eed d\u1ee5ng thu\u1eadt to\u00e1n m\u00f4 h\u00ecnh l\u00f2 xo, l\u00fd t\u01b0\u1edfng cho c\u00e1c m\u1ea1ng c\u00e2n b\u1eb1ng, kh\u00f4ng \u0111\u1ecbnh h\u01b0\u1edbng.<\/li>\n<li><strong>Fdp:<\/strong> T\u01b0\u01a1ng t\u1ef1 Neato nh\u01b0ng \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u cho c\u00e1c t\u1eadp d\u1eef li\u1ec7u l\u1edbn, n\u01a1i c\u1ea7n tr\u00e1nh tuy\u1ec7t \u0111\u1ed1i s\u1ef1 ch\u1ed3ng l\u1ea5n gi\u1eefa c\u00e1c n\u00fat.<\/li>\n<li><strong>Circo:<\/strong>L\u00fd t\u01b0\u1edfng cho c\u00e1c bi\u1ec3u di\u1ec5n h\u1ec7 th\u1ed1ng h\u00ecnh tr\u00f2n ho\u1eb7c h\u00ecnh qu\u1ea1t.<\/li>\n<\/ul>\n<h2>C\u00e1c Th\u1ef1c Ti\u1ec5n T\u1ed1t Nh\u1ea5t cho Ng\u1eef Ph\u00e1p D\u1ec5 B\u1ea3o Tr\u00ec<\/h2>\n<ul>\n<li><strong>S\u1eed d\u1ee5ng c\u00e1c t\u00ean ID mang \u00fd ngh\u0129a:<\/strong>M\u1eb7c d\u00f9 \u0111\u1ed9ng c\u01a1 kh\u00f4ng quan t\u00e2m \u0111\u1ebfn quy \u01b0\u1edbc \u0111\u1eb7t t\u00ean c\u1ee7a b\u1ea1n, c\u00e1c \u0111\u1ed3ng nghi\u1ec7p c\u1ee7a b\u1ea1n th\u00ec c\u00f3. H\u00e3y s\u1eed d\u1ee5ng c\u00e1c chu\u1ed7i ID m\u00f4 t\u1ea3 nh\u01b0<code>svc_gateway_01<\/code>thay v\u00ec c\u00e1c t\u00ean chung chung nh\u01b0<code>n1<\/code>.<\/li>\n<li><strong>Ghi ch\u00fa M\u00e3 c\u1ee7a B\u1ea1n:<\/strong>DOT h\u1ed7 tr\u1ee3 c\u1ea3 hai lo\u1ea1i<code>\/\/<\/code> ch\u00fa th\u00edch d\u00f2ng \u0111\u01a1n v\u00e0<code>\/* ... *\/<\/code> ch\u00fa th\u00edch kh\u1ed1i. H\u00e3y s\u1eed d\u1ee5ng ch\u00fang \u0111\u1ec3 gi\u1ea3i th\u00edch *t\u1ea1i sao* m\u1ed9t k\u1ebft n\u1ed1i c\u1ee5 th\u1ec3 t\u1ed3n t\u1ea1i.<\/li>\n<li><strong>Chia nh\u1ecf v\u1edbi Include:<\/strong>N\u1ebfu b\u1ea1n \u0111ang l\u00e0m vi\u1ec7c tr\u00ean m\u1ed9t s\u01a1 \u0111\u1ed3 doanh nghi\u1ec7p kh\u1ed5ng l\u1ed3, b\u1ea1n c\u00f3 th\u1ec3 chia c\u00e1c t\u1ec7p DOT c\u1ee7a m\u00ecnh th\u00e0nh nh\u1eefng ph\u1ea7n nh\u1ecf, h\u1ee3p l\u00fd h\u01a1n v\u00e0 s\u1eed d\u1ee5ng c\u00e1c t\u1eadp l\u1ec7nh b\u00ean ngo\u00e0i \u0111\u1ec3 n\u1ed1i ch\u00fang l\u1ea1i tr\u01b0\u1edbc khi hi\u1ec3n th\u1ecb.<\/li>\n<\/ul>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>Trong th\u1ebf gi\u1edbi t\u00e0i li\u1ec7u t\u1ef1 \u0111\u1ed9ng h\u00f3a, Graphviz \u0111\u1ee9ng v\u1eefng nh\u01b0 ti\u00eau chu\u1ea9n v\u00e0ng trong vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i c\u00e1c m\u1ed1i quan h\u1ec7 ph\u1ee9c t\u1ea1p, tr\u1eebu t\u01b0\u1ee3ng th\u00e0nh b\u1ea3n \u0111\u1ed3 tr\u1ef1c quan r\u00f5 r\u00e0ng, chuy\u00ean nghi\u1ec7p. Kh\u00e1c v\u1edbi c\u00e1c c\u00f4ng&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"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-2098","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 Syntax Basics | VPasCode Text to Diagram Tool<\/title>\n<meta name=\"description\" content=\"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.\" \/>\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\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Graphviz Syntax Basics | VPasCode Text to Diagram Tool\" \/>\n<meta property=\"og:description\" content=\"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/\",\"name\":\"Graphviz Syntax Basics | VPasCode Text to Diagram Tool\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1904ff35b00.png\",\"datePublished\":\"2026-05-26T09:02:41+00:00\",\"description\":\"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1904ff35b00.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1904ff35b00.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/graphviz-syntax-basis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"C\u01a1 s\u1edf c\u00fa ph\u00e1p Graphviz: Ng\u00f4n ng\u1eef DOT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Graphviz Syntax Basics | VPasCode Text to Diagram Tool","description":"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.","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\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/","og_locale":"vi_VN","og_type":"article","og_title":"Graphviz Syntax Basics | VPasCode Text to Diagram Tool","og_description":"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"3 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/","name":"Graphviz Syntax Basics | VPasCode Text to Diagram Tool","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png","datePublished":"2026-05-26T09:02:41+00:00","description":"Learn DOT language syntax fundamentals in VPasCode, a precision diagram-as-code tool for building clean graph layouts.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904ff35b00.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/graphviz-syntax-basis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"C\u01a1 s\u1edf c\u00fa ph\u00e1p Graphviz: Ng\u00f4n ng\u1eef DOT"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2098"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}