aboutsummaryrefslogtreecommitdiffstats
path: root/doc/man/serd-pipe.1
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/serd-pipe.1')
-rw-r--r--doc/man/serd-pipe.1210
1 files changed, 210 insertions, 0 deletions
diff --git a/doc/man/serd-pipe.1 b/doc/man/serd-pipe.1
new file mode 100644
index 00000000..32482c73
--- /dev/null
+++ b/doc/man/serd-pipe.1
@@ -0,0 +1,210 @@
+.\" Copyright 2011-2023 David Robillard <d@drobilla.net>
+.\" SPDX-License-Identifier: ISC
+.Dd May 04, 2023
+.Dt SERD-PIPE 1
+.Os Serd 1.1.1
+.Sh NAME
+.Nm serd-pipe
+.Nd read and write RDF data
+.Sh SYNOPSIS
+.Nm serd-pipe
+.Op Fl abefhlqtv
+.Op Fl c Ar prefix
+.Op Fl i Ar syntax
+.Op Fl k Ar bytes
+.Op Fl o Ar syntax
+.Op Fl p Ar prefix
+.Op Fl r Ar root
+.Op Fl s Ar string
+.Ar input
+.Op Ar base_uri
+.Sh DESCRIPTION
+.Nm
+is a fast command-line utility for streaming and processing RDF data.
+It reads an RDF document and writes the data to stdout,
+possibly transformed and/or in a different syntax.
+By default,
+the input syntax is guessed from the file extension,
+and output is written in NTriples or NQuads.
+.Pp
+.Nm
+can be used to check for syntax errors,
+convert from one syntax to another,
+pretty-print documents,
+or transform URIs and blank node IDs.
+.Pp
+The options are as follows:
+.Bl -tag -width 3n
+.It Fl a
+Write ASCII output.
+If this is enabled, all non-ASCII characters will be escaped, even if the output syntax allows them to be written in UTF-8.
+.It Fl b
+Bulk output writing.
+If this is enabled, output will be written a page at a time, rather than a byte at a time.
+.It Fl c Ar prefix
+Chop
+.Ar prefix
+from matching blank node IDs.
+This is typically used to revert the effects of
+.Fl p .
+For example, with
+.Ar prefix
+.Dq doc01 ,
+the blank node
+.Li _:doc01b42
+will be emitted as
+.Li _:b42 .
+.It Fl 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 one less page of memory is used, but likely with a performance penalty.
+.It Fl f
+Fast and loose URI mode:
+preserve full URIs (without qualifying or making relative),
+and pass prefixed names through as-is.
+.It Fl h
+Print the command line options.
+.It Fl i Ar syntax
+Read input as
+.Ar syntax .
+Case is ignored, valid values are:
+.Dq NQuads ,
+.Dq NTriples ,
+.Dq TriG ,
+and
+.Dq Turtle .
+.It Fl k Ar bytes
+Parser stack size.
+Parsing is performed using a pre-allocated stack for performance and security reasons.
+By default, the stack is 1 MiB, which should be sufficient for most data.
+This can be increased to support unusually structured data and huge literals,
+or decreased to reduce overall memory requirements and reduce startup time.
+.It Fl 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.
+.It Fl o Ar syntax
+Write output as
+.Ar syntax .
+Case is ignored, valid values are:
+.Dq empty ,
+.Dq NQuads ,
+.Dq NTriples ,
+.Dq TriG ,
+and
+.Dq Turtle .
+The
+.Cm empty
+syntax suppresses the output,
+so that only warnings and errors will be printed.
+.It Fl p Ar prefix
+Add
+.Ar 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
+.Fl c .
+For example, with
+.Ar prefix
+.Dq doc01 ,
+the blank node
+.Li _:b42
+will be emitted as
+.Li _:doc01b42 .
+.It Fl q
+Suppress all output except data.
+.It Fl r Ar root
+Keep relative URIs within a
+.Ar root
+URI.
+This will avoid creating any relative URI references with leading path segments like
+.Pa ../
+that enter a parent of
+.Ar root .
+.Pp
+For example,
+if
+.Pa /home/you/file.ttl
+is written to the file
+.Pa /home/me/output.ttl
+using the destination's base URI,
+then it could be written as
+.Li <../you/file.ttl> .
+Setting
+.Fl r Li file:///home/me/
+would prevent references from
+.Dq escaping
+like this,
+so the above would instead be written as
+.Li <file:///home/you/file.ttl> ,
+since it can't be expressed relative to the root URI.
+.Pp
+This is useful for keeping relative references within some directory.
+.It Fl s Ar string
+Parse
+.Ar string
+input instead of a file (terminates options).
+.It Fl t
+Write terser output without newlines.
+.It Fl v
+Display version information and exit.
+.El
+.Sh EXIT STATUS
+.Nm
+exits with a status of 0, or non-zero if an error occurred.
+.Sh EXAMPLES
+.Bl -tag -width 3n
+.It Pretty-print a document:
+.Nm Fl o
+.Ar turtle
+.Pa file.ttl
+>
+.Pa out.ttl
+.It Print only errors and discard the output:
+.Nm Fl O
+.Ar empty
+.Pa input.ttl
+.El
+.Sh SEE ALSO
+.Bl -item -compact
+.It
+.Lk http://drobilla.net/software/serd/
+.It
+.Lk http://gitlab.com/drobilla/serd/
+.El
+.Sh STANDARDS
+.Bl -item
+.It
+.Rs
+.%A W3C
+.%T RDF 1.1 NQuads
+.%D February 2014
+.Re
+.Lk https://www.w3.org/TR/n-quads/
+.It
+.Rs
+.%A W3C
+.%D February 2014
+.%T RDF 1.1 NTriples
+.Re
+.Lk https://www.w3.org/TR/n-triples/
+.It
+.Rs
+.%A W3C
+.%T RDF 1.1 TriG
+.%D February 2014
+.Re
+.Lk https://www.w3.org/TR/trig/
+.It
+.Rs
+.%A W3C
+.%D February 2014
+.%T RDF 1.1 Turtle
+.Re
+.Lk https://www.w3.org/TR/turtle/
+.El
+.Sh AUTHORS
+.Nm
+is a part of serd, by
+.An David Robillard
+.Mt d@drobilla.net .