Search code examples
virtuosoopenlink-virtuoso

Virtuoso Create SPARQL endpoint via ISQL Missing option


I am trying to create an endpoint to access /sparql endpoint using iSQL. My current query is

DB.DBA.VHOST_DEFINE (
  vhost=>'test',
  lhost=>':4457',
  lpath=>'/sparql',
  ppath=>'/!sparql/',
  is_dav=>1,
  is_brws=>0,
  def_page=>'sparql.vsp',
  vsp_user=>'dba',
  ses_vars=>0,
  opts=>vector ('browse_sheet', ''),
  is_default_host=>1
);

This function is working perfect with one missing option Map the logical path to a single page and I don't know how to set it. I can only set it by webapp but not in this function. Thank you


Solution

  • tl;dr: Include 'noinherit', 'yes' in the opts=>vector(...) parameter, and set a def_page value, in the DB.DBA.VHOST_DEFINE() call.

    The Virtuoso Conductor (HTML-based Admin UI) includes an "Export" feature with regards to the configuration of a Virtual Domain and its associated Folders (WebDAV or Filesystem hosted).

    Here's an example of the output for a folder mapped to "/test" for a particular Virtual Domain functioning as a Web Site (i.e., HTTP-access point for a collection of documents).

    With Single-Page check-box hatched:

    DB.DBA.VHOST_REMOVE (
         lhost=>'*ini*',
         vhost=>'*ini*',
         lpath=>'/test'
    );
    
    DB.DBA.VHOST_DEFINE (
         lhost=>'*ini*',
         vhost=>'*ini*',
         lpath=>'/test',
         ppath=>'/DAV/',
         is_dav=>1,
         is_brws=>0,
         def_page=>'test.vsp',
         vsp_user=>'dba',
         ses_vars=>0,
         opts=>vector ('browse_sheet', '', 'noinherit', 'yes'),
         is_default_host=>0
    );
    

    With checkbox unhatched:

    DB.DBA.VHOST_REMOVE (
         lhost=>'*ini*',
         vhost=>'*ini*',
         lpath=>'/test'
    );
    
    DB.DBA.VHOST_DEFINE (
         lhost=>'*ini*',
         vhost=>'*ini*',
         lpath=>'/test',
         ppath=>'/DAV/',
         is_dav=>1,
         is_brws=>0,
         def_page=>'test.vsp',
         vsp_user=>'dba',
         ses_vars=>0,
         opts=>vector ('browse_sheet', ''),
         is_default_host=>0
    );
    

    Note line opts=>vector ('browse_sheet', '', 'noinherit', 'yes') .