%META:TOPICPARENT{name="VirtTipsAndTricksGuide"}% ---+ Interrogating attributes of a Virtuoso Server instance via SPARQL 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: 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 [[http://lod.openlinksw.com/sparql?default-graph-uri=&query=SELECT%0D%0A++%28+bif%3Asys_stat%28%27st_dbms_name%27%29++++++++++AS+%3Fname+%29%0D%0A++%28+bif%3Asys_stat%28%27st_dbms_ver%27%29+++++++++++AS+%3Fversion+%29%0D%0A++%28+bif%3Asys_stat%28%27st_build_date%27%29+++++++++AS+%3Fbuild_date+%29%0D%0A%0D%0A%23%23+The+following+line+must+be+commented+for+execution+on+%0D%0A%23%23+builds+produced+before+the+switch+from+%60cvs%60+to+%60git%60%3B%0D%0A%23%23+it+only+works+on+versions+later+than+v6.1.5%0D%0A++%28+bif%3Asys_stat%28%27git_head%27%29++++++++++++++AS+%3Fgit_head+%29+++%0D%0A%0D%0A++%28+bif%3Asys_stat%28%27st_build_thread_model%27%29+AS+%3Fthread+%29%0D%0A++%28+bif%3Asys_stat%28%27st_build_opsys_id%27%29+++++AS+%3Fopsys+%29%0D%0A%0D%0A%23%23+The+following+two+lines+line+must+be+commented+for+execution+%0D%0A%23%23+on+VOS%3B+these+only+work+on+Enterprise+Edition%0D%0A++%28+bif%3Asys_stat%28%27st_lic_owner%27%29++++++++++AS+%3Fowner+%29%0D%0A++%28+bif%3Asys_stat%28%27st_lic_serial_number%27%29++AS+%3Fserial+%29%0D%0A%0D%0AWHERE%0D%0A++%7b++%3Fs++%3Fp++%3Fo++%7d%0D%0ALIMIT+1&format=text%2Fhtml&timeout=30000&debug=on&run=+Run+Query+][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     |