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 --
PREFIX bif: <bif:> SELECT ( bif:sys_stat('st_dbms_name') AS ?name ) ( bif:sys_stat('st_dbms_ver') AS ?version ) ( bif:sys_stat('st_build_date') AS ?build_date ) ## The following line must be commented for execution on ## builds produced before the switch from `cvs` to `git`; ## it only works on versions later than v6.1.5 # ( bif:sys_stat('git_head') AS ?git_head ) ( bif:sys_stat('st_build_thread_model') AS ?thread ) ( bif:sys_stat('st_build_opsys_id') AS ?opsys ) ## The following two lines must be commented for execution ## on VOS; these only work on Enterprise Edition # ( bif:sys_stat('st_lic_owner') AS ?owner ) # ( bif:sys_stat('st_lic_serial_number') AS ?serial ) WHERE { ?s ?p ?o } LIMIT 1
As noted in the SPARQL above, 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.
Similarly, the git_head
argument is only valid on builds produced after source code management was switched from cvs
to git
, circa v6.1.5, in March, 2012.
The query output will resemble the following --
name | version | build_date | git_head | thread | opsys | owner | serial |
---|---|---|---|---|---|---|---|
OpenLink Virtuoso VDB Server | 07.20.3228 | Apr 10 2018 | 7913e54 | -pthreads | Linux | LOD operated by OpenLink Software | opl-lod |