4s-query(1) Run SPARQL queries on a 4store storage backend


kb-name [-f format ] [-O optimisation-level ] [-I insert-mode ] [-r ] [-s soft-limit ] [-b base-URI ] [-e ] [-P ] [query]

Set the format to output results it, options are "sparql", "text", "json", and "testcase"
-O, --opt-level
Set the optimisation level of the query engine, in the range 0-3.
-I, --insert
Treat CONSTRUCT statements as INSERT statements. This feature is highly experimental and largly untested.
-r, --restricted
Enable query complexity restriction mode
-s, --soft-limit
Override default soft limit on search breadth
-d, --default-graph
Enable SPARQL default graph support
-b, --base
Set base URI for queries
-e, --explain
Return an explanation of the query planner's descisions
Enable programatic IO mode


If [query] is ommited then goes into interactive mode, suitable for trying queries from the command line.

-P enables programatic interactive mode, suitable for infacing with processes via stdin and stdout. Queries are sent as UTF-8 bytes, terminated with "#EOQ" on a line of it's own, results are returned, ending with "#EOR". Interacting with 4store in this way is more efficient than using the SPARQL protocol, but non-standard.


implements the SPARQL Query Language specification (aka. SPARQL/Query 1.0) and the SPARQL Result Format specification (aka. SPARQL/Results 1.0).

Default graph support is no normally enabled, the --default-graph turns it on, as does speicfying FROM <default:> in the query. Data loaded with

$ 4s-import kb --add -m default: uri/filename

will be added to the default graph.


$ -f sparql demo 'SELECT * WHERE { ?s ?p ?s } LIMIT 10'

Return 10 random triples from the knowledgebase "demo" in the SPARQL XML result format.

$ -P demo < query.rq

Run the query in query.rq and output the result to stdout