Linux repositories inspector




RDF database storage and query engine -- database daemon


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


4s-query kb-name [-f format] [-O optimisation-level] [-I insert-mode] [-r] [-s soft-limit] [-b base-URI] [-e] [-P] [query]
-f 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
-P Enable programatic IO mode


If [query] is ommited then 4s-query 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.


4s-import(1), 4s-httpd(1), 4s-backend(1), 4s-delete-model(1)


4s-query 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.


$ 4s-query -f sparql demo ’SELECT * WHERE { ?s ?p ?s } LIMIT 10’
Return 10 random triples from the knowledgebase "demo" in the SPARQL XML result format.
$ 4s-query -P demo < query.rq
Run the query in query.rq and output the result to stdout
⇧ Top