Sometimes you need to know the version or other details about the Virtuoso instance you're running SPARQL queries against, and only have access to the SPARQL interface, possibly through a proxy page that strips out the server version information included on the default /sparql
page.
You can leverage Virtuoso's built-in-functions, such as sys_stat
, and the associated bif:
SPARQL prefix, to interrogate the server for various details, such as --
SELECT ( bif:sys_stat('st_dbms_name') AS ?name ) ( bif:sys_stat('st_dbms_ver') AS ?version ) ( bif:sys_stat('st_build_thread_model') AS ?thread ) ( bif:sys_stat('st_build_opsys_id') AS ?opsys ) ( bif:sys_stat('st_build_date') AS ?date ) # ( bif:sys_stat('st_lic_owner') AS ?owner ) # ( bif:sys_stat('st_lic_serial_number') AS ?serial ) WHERE { ?s ?p ?o } LIMIT 1
The st_lic_owner
and st_lic_serial_number
arguments are only valid on the Commercial Edition, and will produce a SPARQL error on the Open Source Edition
The query above will produce output akin to the following --
name | version | thread | opsys | date | owner | serial |
---|---|---|---|---|---|---|
OpenLink Virtuoso VDB Server | 07.20.3217 | -pthreads | Linux | May 8 2016 | OpenLink Software Web Site | openlink-www |