• Topic
  • Discussion
  • ODS.VirtCheckSvrVersionViaSparql(Last) -- DAVWikiAdmin? , 2017-06-13 06:08:13 Edit WebDAV System Administrator 2017-06-13 06:08:13

    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 --


    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