BOTCH-GRAPH-SHORTEST-PATH(1)

✨ BOTCH-GRAPH-SHORTEST-PATH ✨

okay bestie, gather round, because this little cutie from the botch tools family is about to find the shortest path between two vertices in a graph and honestly? it's giving main character energy πŸ’…


πŸ¦‹ NAME πŸ¦‹

botch-graph-shortest-path β€” find the shortest path(s) between two vertices of a graph in GraphML or dot format πŸ’–


🌸 SYNOPSIS 🌸

botch-graph-shortest-path [options] --source SOURCE [--source SOURCE
...] --target TARGET [--target TARGET ...] [ingraph] [outgraph]

✨ DESCRIPTION ✨

So basically, this tool extracts the subgraph of the shortest path between two specific nodes in the input graph. That's the whole vibe. πŸŽ€

The --target and --source options are mandatory, no cap, and you can specify them more than once. Slay.

If either (or both) of the positional arguments is/are omitted, then it reads GraphML or dot from standard input and/or writes GraphML or dot to standard output, respectively. And if you pass a - as either argument, that explicitly specifies to read the input from standard input and write the output to standard output, respectively. Iconic behavior tbh. 🫢

The input graph type will be determined automatically. If the output graph is given as a filename, then the output type will be GraphML if the filename ends with .xml and dot if the filename ends with .dot. If the output is done on standard output then it will happen in the same format as the input graph. periodt πŸ’œ


πŸ’… OPTIONS πŸ’…

  • -h, --help β€” Display help. (the "help me bestie" button, we love her)
  • --target=TARGET β€” This option picks the target vertex. The TARGET argument is a key/value pair (separated by a colon) of a graph attribute and its desired value. If more than one vertex matches the given key/value pair, then the smallest (by node comparison) is chosen. 🎯

The special key __ID__ allows one to select the unique vertex identifier.

This option can be specified more than once. The final set of vertices is chosen such that all vertices match all key/value pairs. Multiple --target options thus form a logical conjunction (they are AND-ed together). fr fr.

  • --source=SOURCE β€” This option picks the source vertex. The SOURCE argument is a key/value pair (separated by a colon) of a graph attribute and its desired value. If more than one vertex matches the given key/value pair, then the smallest (by node comparison) is chosen. 🌱

The special key __ID__ allows one to select the unique vertex identifier.

This option can be specified more than once. The final set of vertices is chosen such that all vertices match all key/value pairs. Multiple --source options thus form a logical conjunction (they are AND-ed together). lowkey the same deal as --target, bestie, it's a matched set πŸ‘‘

  • --all β€” instead of finding an arbitrary shortest path, find all shortest paths. not just one, ALL of them, she's thorough 🌈
  • -v, --verbose β€” Be verbose. she will not shut up and honestly? we respect it 😭

πŸ”₯ EXAMPLE πŸ”₯

Extract the subgraph of the shortest path from a certain version of the build-essential binary vertex to a certain version of the ghc source vertex.

botch-graph-shortest-path --source name:build-essential --source version:11.7 --source type:bin --target name:ghc --target version:7.8.4-8 --target type:src < in.xml > out.xml

or giving input and output as positional arguments:

botch-graph-shortest-path --source name:build-essential --source version:11.7 --source type:bin --target name:ghc --target version:7.8.4-8 --target type:src in.xml out.xml

see how easy? two ways, same energy ✨


πŸ’€ BUGS πŸ’€

See <http://bugs.debian.org/botch>. (bugs are NOT slay, go report them)


🌈 SEE ALSO 🌈

Debian doc-base Manual /usr/share/doc/botch/wiki/Home.html


πŸŽ€ AUTHOR πŸŽ€

This man page was written by Johannes Schauer. Botch is written by Johannes Schauer and Pietro Abate. absolute legends, we stan 🫢


Copyright 2012-2014 Johannes Schauer, Pietro Abate

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. A special linking exception to the GNU Lesser General Public License applies to this library, see the COPYING file for more information.


ngl the license paragraph is the least exciting part but you GOTTA keep it, bestie, legal stuff is forever πŸ’…

k bye, this page was living its best life as part of the botch tools collection, generated by perl v5.36.0 and dated 2023-02-17 β€” she ate and left no crumbs πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from