GXL2GV,GV2GXL(1)

πŸ“¦
version 16.1.0 Β· 3 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu resolute, ubuntu stonking

✨ GXL2GV,GV2GXL β€” the GXL ⇄ GV converters ✨

okay bestie, listen up, this is gxl2gv and gv2gxl from the General Commands Manual section (section 1, iykyk), and they are literally your little graph-translation besties πŸ’–

🌸 NAME 🌸

gxl2gv, gv2gxl β€” GXL-GV converters πŸ¦‹


✨ SYNOPSIS ✨

gxl2gv [ -gd?  ] [ -ooutfile ] [ files ]
gv2gxl [ -gd?  ] [ -ooutfile ] [ files ]

that's it. that's the whole vibe check. two binaries, same energy, opposite directions πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

okay so here's the tea πŸ“: gxl2gv converts between graphs represented in GXL and in the GV language. like, it's a translator. a graph bilingual. a polyglot icon πŸ‘‘

Now, unless you specify a conversion type using a flag, gxl2gv will deduce the type of conversion from the suffix of the input file. No cap. Here's how that reads:

  • a .gv suffix ➑️ causes a conversion from GV to GXL
  • a .gxl suffix ➑️ causes a conversion from GXL to GV

and if there's no suffix available (like, say, when the input is from a pipe, which is so valid of you), and no flags are used, then gxl2gv assumes the type of the input file from its executable name. so:

  • gxl2gv converts from GXL to GV
  • gv2gxl converts from GV to GXL

it literally reads its own name to figure out who it is. main character energy fr fr πŸ’€


GXL supports a much richer graph model than GV does, and honestly? it's giving overachiever. gxl2gv will attempt to map GXL constructs into the analogous GV construct when this is possible 🫢. If not possible, the GXL information is stored as an attribute.

and the intention behind all of this, the dream, the goal ✨: applying gxl2gv|gv2gxl is supposed to be semantically equivalent to the identity operator. like, round trip and you're back where you started. the way that's iconic 😭


πŸ’… OPTIONS πŸ’…

the following options are supported, bestie, and you better believe every single one is here:

  • -g β€” the command name and input file extensions are ignored; the input is taken as a GV file and a GXL file is generated 🌈
  • -d β€” the command name and input file extensions are ignored; the input is taken as a GXL file and a GV file is generated 🌈
  • -? β€” prints usage information and exits. she said "let me explain myself" and then dipped πŸ‘‹
  • -o outfile β€” if specified, the output will be written into the file outfile. Otherwise, output is written to standard out ⭐

πŸŽ€ OPERANDS πŸŽ€

the following operand is supported:

  • files β€” names of files containing 1 or more graphs in GXL or GV. If no files operand is specified, the standard input will be used 🧚

πŸ”₯ RETURN CODES πŸ”₯

both gxl2gv and gv2gxl return 0 if there were no problems during conversion, and non-zero if any error occurred. zero means slay, non-zero means 😭


πŸ’€ BUGS πŸ’€

okay, small yikes, but we have to be honest with you:

  • gxl2gv will only convert in one direction even if given multiple files with varying suffixes. she picked a lane and she's staying in it πŸ™ˆ
  • the conversion can only handle one graph per GXL file
  • there are some GXL constructs which gxl2gv cannot handle
no cap, these are real limitations, don't come for me, come for the code πŸ’–

πŸ‘‘ AUTHORS πŸ‘‘

  • Krishnam Pericherla <kp@research.att.com>
  • Emden R. Gansner <erg@research.att.com>

legends, honestly. we stan 🫢


🌈 SEE ALSO 🌈

dot(1), neato(1), twopi(1) β€” go read those too, they're the whole friend group πŸ’œ


and that's the page bestie!! this version is from the 20 December 2002 edition of the General Commands Manual, so yeah, she's vintage, she's an elder icon, and she still hits πŸ’…βœ¨ bye!! πŸŽ€

πŸ“¦ where this page comes from