SERDI(1)

๐Ÿ“ฆ
version 0.32.10 ยท 6 versions
, in alpine 3.24, arch rolling, epel 10, fedora 43, fedora 44, nixpkgs unstable, ubuntu resolute, ubuntu stonking

๐Ÿ’– SERDI(1) ๐Ÿ’–

okay bestie, buckle up โ€” this is the manual page for serdi, a General Commands Manual situation, and she is that girl.


โœจ NAME โœจ

serdi โ€” read and write RDF syntax, no big deal ๐Ÿ’…


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

serdi [-abefhlqv] [-c prefix] [-i syntax] [-o syntax] [-p prefix]
      [-r root] [-s string] input [base_uri]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

So. serdi is a fast command-line utility for streaming and processing RDF data. She reads an RDF document and writes the data to stdout, possibly transformed and/or in a different syntax. Iconic behavior honestly.

By default, the input syntax is guessed from the file extension, and output is written in NTriples or NQuads. She just knows. ๐Ÿ”ฎ

You can use serdi to:

  • check for syntax errors ๐Ÿ”
  • convert from one syntax to another ๐Ÿ”„
  • pretty-print documents โœจ
  • transform URIs and blank node IDs ๐Ÿช„

The options are as follows, and yes, we're going through every single one because we respect her:


๐Ÿ’œ OPTIONS ๐Ÿ’œ

  • -a โ€” Write ASCII output. If this is enabled, all non-ASCII characters will be escaped, even if the output syntax would totally allow them to be written in UTF-8. She's playing it safe bestie.
  • -b โ€” Bulk output writing. If this is enabled, output gets written a page at a time rather than a byte at a time. Efficiency queen.
  • -c prefix โ€” Chop prefix from matching blank node IDs. This is typically used to revert the effects of -p (they're a duo, your honor ๐Ÿซถ). For example, with prefix doc01, the blank node _:doc01b42 will be emitted as _:b42.
  • -e โ€” Eat input one character at a time, rather than a page at a time, which is the default. This is useful when reading from a pipe, since output will be generated immediately as input arrives, rather than waiting until an entire page of input has arrived. With this option serdi uses one page less memory, but will likely be significantly slower. Tradeoffs, bestie. ๐Ÿ˜ญ
  • -f โ€” Fast and loose URI mode: preserve full URIs (without qualifying or making relative), and pass prefixed names through as-is. She's not asking questions, she's just vibing.
  • -h โ€” Print the command line options. Help a girl out. ๐Ÿ™ˆ
  • -i syntax โ€” Read input as syntax. Case is ignored. Valid values are: NQuads, NTriples, TriG, Turtle.
  • -l โ€” Lax (non-strict) parsing. If this is enabled, recoverable syntax errors will print a warning, but parsing will proceed starting at the next statement if possible. Note that data may be lost when using this option. โš ๏ธ She's forgiving but she's not a miracle worker.
  • -o syntax โ€” Write output as syntax. Case is ignored. Valid values are: NQuads, NTriples, TriG, Turtle.
  • -p prefix โ€” Add prefix to blank node IDs. This can be used to avoid clashes between blank node IDs in input documents. The effects can be reversed in a later run with -c. For example, with prefix doc01, the blank node _:b42 will be emitted as _:doc01b42.
  • -q โ€” Suppress all output except data. Quiet luxury. ๐Ÿ‘‘
  • -r root โ€” Keep relative URIs within a root URI. This will avoid creating any relative URI references with leading path segments like ../ that enter a parent of root.

For example, if /home/you/file.ttl is written to the file /home/me/output.ttl using the destination's base URI, then it could be written as <../you/file.ttl>. Setting -r file:///home/me/ would prevent references from โ€œescapingโ€ like this, so the above would instead be written as <file:///home/you/file.ttl>, since it can't be expressed relative to the root URI.

This is useful for keeping relative references within some directory. ๐Ÿ 

  • -s string โ€” Parse string input instead of a file (terminates options). Careful, she eats the rest of the args, fr fr.
  • -v โ€” Display version information and exit. Slay and goodbye. ๐Ÿ’…

โญ EXIT STATUS โญ

serdi exits with a status of 0, or non-zero if an error occurred. That's it, that's the vibe check.


๐ŸŒˆ EXAMPLES ๐ŸŒˆ

Pretty-print a document:

serdi -o turtle file.ttl > out.ttl

Print any errors:

serdi file.ttl > /dev/null

๐Ÿซถ SEE ALSO ๐Ÿซถ

Go look at her house, bestie. ๐Ÿก


๐Ÿงš STANDARDS ๐Ÿงš

Certified. Standards-approved. Periodt. ๐Ÿ’ฏ


๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

serdi is a part of serd, by David Robillard โŸจd@drobilla.netโŸฉ. King behavior. ๐Ÿซก


and that's the whole page bestie, we ate and left no crumbs ๐Ÿ’–โœจ๐ŸŽ€๐Ÿฆ‹๐ŸŒธ

This one's from Debian, dated January 30, 2025, and it's the SERDI(1) page, so if you ever forget who she is, she's right there in section 1. Mwah. ๐Ÿ’‹

๐Ÿ“ฆ where this page comes from