rdfproc(1)

NAME
rdfproc - Redland RDF processor utility

SYNOPSIS
rdfproc [options] store-name command arg...

EXAMPLE
rdfproc test parse http://ilrt.org/discovery/rdf/resources/rss.rdf
rdfproc test print
rdfproc test serialize ntriples

DESCRIPTION
The rdfproc utility allows parsing, querying, manipulating and serializing of RDF content using the Redland RDF library. The store-name is a Redland store name, typically a short identifier. The arguments to command vary and are explained in section COMMANDS below.

OPTIONS
rdfproc uses the usual GNU command line syntax, with long options starting with two dashes (`-') if supported by the getopt_long function. Otherwise the short options are only available.

-h, --help
    Show a summary of the options.

-c, --contexts
    Use a store with Redland contexts.

-n, --new
    Make a new store, overwriting any existing one.

-o, --output FORMAT
    Set the output FORMAT for sequences of triples, such as from a search (find command) to a Redland serializer. At present the alternatives are 'simple' (the default one if this option is omitted), 'ntriples' or 'rdfxml'.

-p, --password
    Read the storage option 'password' from standard input. Terminated by end of line ('\n') or end of file. This is equivalent to setting it using -t or --storage-options but does not require exposing the password in the argument list.

-s, --storage TYPE
    Set the Redland storage type (default 'hashes'). Alternatives are 'memory' which is always present and '3store', 'mysql' when support for those is compiled in If environment variable RDFPROC_STORAGE_TYPE is set, the storage type given here will override it.

-t, --storage-options OPTIONS
    Set options for the the Redland storage, default is "hash-type='bdb',dir='.'" to match the default storage "hashes". For storages types such as 'mysql' that need extra options this would typically be something like "host='hostname',database='dbname',user='abc',password='pass'". If environment variable RDFPROC_STORAGE_OPTIONS is set, the storage options given here will be applied afterwards.

-v, --version
    Print the Redland version and exit.

COMMANDS
Where a node is allowed, such as NODE, SUBJECT, PREDICATE or OBJECT below, simple heuristics are used to guess which are blank node identifiers, URIs or literals (to add a statement with a literal, use add-typed). If the item starts with _: then it is assumed to be a blank node identifier, otherwise if it matches something:// it is assumed to be a URI, otherwise it is a literal. Literals are only allowed as objects of statements and blank nodes are not allowed as predicates.

add SUBJECT PREDICATE OBJECT [CONTEXT]
    Add the given triple to graph, in the optional Redland context if the CONTEXT node is given.

add-typed SUBJECT PREDICATE OBJECT OBJECT-LANG OBJECT-URI [CONTEXT]
    Add the triple with the datatyped literal object to the graph, in the optional Redland context if CONTEXT is given.

arc SUBJECT OBJECT

arcs SUBJECT OBJECT
    Show one node/all nodes that match triples (SUBJECT, ?, OBJECT)

arcs-in NODE
    Show all properties of triples with NODE as a subject.

arcs-out NODE
    Show all properties of triples with NODE as an object.

contains SUBJECT PREDICATE OBJECT
    Check if the given triple is in the graph.

contexts
    List all the contexts in the graph (if contexts are enabled).

find SUBJECT|- PREDICATE|- OBJECT|- [CONTEXT]
    Find matching triples to the given statement where - stands for a blank that matches any node. If CONTEXT is given, only search for triples in that context node.

has-arc-in NODE ARC
    Check that there is a triple with NODE as a subject and ARC as a predicate.

has-arc-out NODE ARC
    Check that there is a triple with NODE as a object and ARC as a predicate.

parse URI|FILENAME [SYNTAX| [BASE URI]]
    Parse syntax at URI intothe graph using SYNTAX which can be one of rdfxml (RDF/XML, default) or ntriples. If FILENAME is a existing file, the appropriate URI will be generated for it.

parse-stream URI|FILENAME [SYNTAX [BASE URI [CONTEXT]]
    Streaming parse syntax at URI into the graph using SYNTAX which can be one of rdfxml (RDF/XML, default) or ntriples. If FILENAME is an existing file, the appropriate URI will be generated for it. If the optional CONTEXT URI is given, the triples are added to that context.

print
    Print the graph triples in a simple format showing context nodes if present.

remove SUBJECT PREDICATE OBJECT [CONTEXT]
    Remove the given triple graph, in the optional Redland context if CONTEXT is given.

remove-context CONTEXT
    Remove all triples in the graph with the Redland context CONTEXT.

serialize [SYNTAX [URI [MIME-TYPE]]]
    Serializes the graph to a syntax with a particular ISYNTAX URI or Internet Media Type/MIME Type. The default is RDF/XML (NAME "rdfxml", MIME Type "application/rdf/xml") if none of the above are given. Other alternatives are "ntriples" (no MIME Type).

source PREDICATE OBJECT

sources PREDICATE OBJECT
    Show one node/all nodes that match triples (?, PREDICATE, OBJECT)

target SUBJECT PREDICATE

targets SUBJECT PREDICATE
    Show one node/all nodes that match triples (SUBJECT, PREDICATE, ?)

ENVIRONMENT
RDFPROC_STORAGE_OPTIONS can be set to provide storage options instead of using the option -t, --storage-options OPTIONS. When both are given, command options are applied last.

RDFPROC_STORAGE_TYPE can be set to provide a storage type instead of using the option -s, --storage TYPE. When both are given, the storage type from the command is used.

CONFORMING TO
RDF/XML Syntax (Revised), W3C Proposed Recommendation, http://www.w3.org/TR/rdf-syntax-grammar/ (http://www.w3.org/TR/rdf-syntax-grammar/) N-Triples, in RDF Test Cases, Jan Grant and Dave Beckett (eds.) W3C Proposed Recommendation, http://www.w3.org/TR/rdf-testcases/#ntriples (http://www.w3.org/TR/rdf-testcases/#ntriples)

SEE ALSO
redland(3),libraptor(3),rapper(1)

AUTHOR
Dave Beckett - http://purl.org/net/dajobe/ (http://purl.org/net/dajobe/)
Institute for Learning and Research Technology (ILRT) http://www.ilrt.bristol.ac.uk/
University of Bristol http://www.bristol.ac.uk/