Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 773

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="6. Administration" />
  <meta name="dc.subject" content="6. Administration" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="server.html" title="Chapter Contents" />
  <link rel="prev" href="databaseadmsrv.html" title="Database Server Administration" />
  <link rel="next" href="fault.html" title="Virtuoso Cluster Fault Tolerance" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>6. Administration</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="htmlconductorbar" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>6. Administration</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="server.html">Chapter Contents</a> | <a class="link" href="databaseadmsrv.html" title="Database Server Administration">Prev</a> | <a class="link" href="fault.html" title="Virtuoso Cluster Fault Tolerance">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div class="selected">
      <a href="server.html">Administration</a>
   </div>
    <br />
   <div>
      <a href="databaseadmsrv.html">Database Server Administration</a>
   </div>
   <div class="selected">
      <a href="htmlconductorbar.html">HTML based Administration Console (Conductor) Guide</a>
    <div>
        <a href="#conductorbar" title="Virtuoso Conductor Administration">Virtuoso Conductor Administration</a>
        <a href="#admui.runtimehosting" title="Runtime Hosting">Runtime Hosting</a>
        <a href="#admui.webservices" title="Web Services">Web Services</a>
        <a href="#webdavadmin" title="WebDAV Administration">WebDAV Administration</a>
        <a href="#admui.internetdomains" title="Internet Domains">Internet Domains</a>
        <a href="#admui.xmlservices" title="XML Services">XML Services</a>
        <a href="#querytools" title="Query Tools">Query Tools</a>
        <a href="#replicationandsynchronization" title="Replication &amp; Synchronization">Replication &amp; Synchronization</a>
        <a href="#dbadmin" title="Database Administration">Database Administration</a>
        <a href="#rdfadm" title="Conductor Linked Data Administration">Conductor Linked Data Administration</a>
    </div>
   </div>
   <div>
      <a href="fault.html">Virtuoso Cluster Fault Tolerance</a>
   </div>
    <br />
  </div>
  <div id="text">
    <a name="htmlconductorbar" />
    <h2>6.2. HTML based Administration Console (Conductor) Guide</h2>

    <p>This section describes how to administer the Virtuoso server from
    the Conductor interface. It primarily allow users to administer the server while giving access
    to many of the features that Virtuoso has to offer providing many conceptual
    demonstrations and introductions.</p>
		<p>Most of the pages from the administration interface are provided to 
    help administrators quickly and easily tune the Virtuoso server or navigate 
    the various interfaces and features that Virtuoso has to offer.</p>

	
		<a name="conductorbar" />
    <h3>6.2.1. Virtuoso Conductor Administration</h3>
<p>The Main Navigation Bar provides different tabs that allow you to administrate
your Virtuoso server or use one of the provided samples.
</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Navigation" src="../images/menu-cutout.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.1. Navigation</td>
    </tr>
    </table>
<p>From &quot;System Admin&quot; you can view and change the Conductor Dashboard, manage user accounts; scheduler;
Virtuoso Server parameter and Access Control Settings. You can also install /upgrade /uninstall Virtuoso
packages and Monitor Virtuoso Server Statistics.
</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="System Administration" src="../images/systemadmin.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.2. System Administration</td>
    </tr>
    </table>

<p>
From &quot;Database&quot; you can administrate your database, manage the Virtuoso Relational Database System,
administrate views, tables, stored procedures, trigger definitions, user define types, backups.
</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Database Administration" src="../images/database.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.3. Database Administration</td>
    </tr>
    </table>
<p>From &quot;Replication&quot; you can create Snapshot Replications to copy sections of the Database
    to remote locations or use Transactional Replication to keep Virtuoso Servers
    in sync over a definable interval.</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Replication" src="../images/replication.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.4. Replication</td>
    </tr>
    </table>	
<p>From &quot;Web Application Server&quot; you can configure Virtuoso&#39;s WebDAV, and HTTP
Server functionality, which includes management of Virtual Domains &amp; Directories.</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Web Application Server Administration" src="../images/webdav.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.5. Web Application Server Administration</td>
    </tr>
    </table>
<p>From &quot;XML&quot; you can query Relational and XML Data using SQL, XQUERY, XPATH, and FREE TEXT.</p>

	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Query Tools" src="../images/querytools.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.6. Query Tools</td>
    </tr>
    </table>
<p>From &quot;Web Services&quot; you can add/ edit/ remove Web Services Endpoints,
perform WSDL Import/Export, manage your BPEL processes.
</p>

	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="web Services" src="../images/webservices.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.7. web Services</td>
    </tr>
    </table>
      <p>From &quot;Linked Data&quot; you can execute/save/load SPARQL queries, add/edit RDF Mapping, make 
      	statistics, manage graphs, import schemas and define namespaces, generated Linked Data RDF views, 
      	upload to the Quad Store:</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.8. RDF</td>
    </tr>
    </table>
<p>Virtuoso&#39;s NNTP support which includes linking third-party
    NNTP servers into Virtuoso and controlling access to these servers.</p>
	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="NNTP Administration" src="../images/nntp.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.1.9. NNTP Administration</td>
    </tr>
    </table>

	<br />




<a name="admui.runtimehosting" />
    <h3>6.2.2. Runtime Hosting</h3>
 <p>The runtime hosting interfaces require Mono/CLR and Java extension servers.</p>
  <a name="admui.loadedmodules" />
    <h4>6.2.2.1. Loaded Modules</h4>
    <p>You can view Loaded Modules list and each Module you can &quot;Unload&quot;. Also you can browse for Module
and examine its content.
    </p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Loaded Modules" src="../images/ui/rth001.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.2.1.1. Loaded Modules</td>
    </tr>
    </table>
  <br />
  <a name="admui.importfiles" />
    <h4>6.2.2.2. Import Files</h4>
    <p>To import files click the &quot;Browse&quot; button and select the class you want to import.
Then click the &quot;Add to list&quot; button.
    </p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Import Files" src="../images/ui/rth002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.2.2.1. Import Files</td>
    </tr>
    </table>
  <br />
  <a name="admui.loadodules" />
    <h4>6.2.2.3. Modules Grants</h4>
    <p>In order to change grants to a particular Module, select the desired
grant value from the &quot;Grant to&quot; list and click the &quot;Add&quot; button.
    </p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Modules Grants" src="../images/ui/rth003.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.2.3.1. Modules Grants</td>
    </tr>
    </table>
  <br />
<br />




<a name="admui.webservices" />
    <h3>6.2.3. Web Services</h3>
  <a name="contentcrawler" />
    <h4>6.2.3.1. Content Crawler</h4>
  
    <ul>Some of the supported features are:
      <li>
        <strong>Import Targets</strong>: Virtuoso can be set up to retrieve content from external web sites and host it in its own
WebDAV repository via this page.
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Web Robot - Target" src="../images/ui/dav_rbt_trgt_01.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1. Web Robot - Target</td>
      </tr>
        </table>
        <ul>
          <li>
            <strong>Target Description</strong> lets you provide a friendly description for the
target that you are defining.</li>
          <li>
            <strong>Target URL</strong> is the url of the web site that you are trying
to retrieve content from. Only the hostname should be provided here, along with the protocol. For
example http://www.myhost.com.</li>
          <li>
            <strong>Login name on target</strong> is the username for accessing the remote server,
if required.
          </li>
          <li>
            <strong>Login password on target</strong> is the password for the login name above.</li>
          <li>
            <strong>Copy to Local DAV collection</strong> is the name of the collection (folder)
where retrieved content will be stored in DAV.</li>
          <li>
            <strong>Single page download</strong> radio button specifies whether
Virtuoso will retrieved linked content also.</li>
          <li>
            <strong>Local Resources Owner</strong> The DAV user that will be the owner
of the content that will copied to DAV.</li>
          <li>The <strong>Download only newer than</strong> field allows you to specify
a datetime value to prevent Virtuoso downloading files that are older than
that datetime.</li>
          <li>Use the <strong>Follow Links Matching</strong> field to limit the content
that is downloaded by specify pattern matching criteria.</li>
          <li>
            <strong>Do NOT follow links matching</strong> allows you limit content by
specifying what files not to download.</li>
        </ul>
      </li>                                                
      <li>
        <strong>Download Images</strong> radio buttons to allow Virtuoso to pull
down image type also.  You may want to prevent this if you are more interested
in the textual content rather than bandwidth draining images.</li>                                    
      <li>
        <strong>Use WebDAV methods</strong> can be checked if the host is known to
support WebDAV methods. This would enable better copying of sites that support DAV.</li>                                    
      <li>
        <strong>Delete if Remove on Remote is Detected</strong> can be switched on
so that when Virtuoso synchronizes its content with that on the remote host
it will check for files that have been removed on the remote and remove
them from the local copy also.</li>                                    
      <li>
        <strong>Store metadata*</strong> when checked offers to be stored respectively
metadata from FOAF, RDF, RSS/RDF and GRDLL data depending on which check-box is checked.</li>                                    
      <li>When all details have been completed press the <strong>Add</strong> (or
Update if updating) button to submit the web robot task to the queue.</li>                                    
      <li>
        <strong>Import Queues</strong>: This page shows you a list of web copy targets that have been enlisted with the
Virtuoso Server, and a list of web robot update schedules. Several options are available for
each item listed: Start, Update, Schedule, Reset, and Stop. You can configure the scheduled update
interval by pressing the Schedule link and entering a value in minutes. Once that is done you can
start the schedule by pressing the Start link. You make a manual update of the content by pressing
the Update link. You can stop the scheduled updates taking place by pressing the Stop link. To reset
the details of the web copy item press the Reset link.
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Web Robot - Queues" src="../images/ui/dav_rbt_que_01.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1. Web Robot - Queues</td>
      </tr>
        </table>
</li>
      <li>
        <strong>Retrieved Sites</strong>: You can view a list of the links retrieved from the web copy from this page. You are also
able to remove some of the content from this page by following the Edit link.
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Web Robot - Retrieved Links" src="../images/ui/dav_rbt_rtrd_01.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1. Web Robot - Retrieved Links</td>
      </tr>
        </table>
</li>
      <li>
        <strong>Export</strong>: You can export content from the WebDAV repository. Note that you can only export content
that has been retrieved using Virtuoso&#39;s Web Robot.
    <p>When you click the &quot;Export&quot; link for a retrieved collection, you will be presented
with a form for selecting the export target location. Choose the export method: either File
System or DAV by clicking the &quot;External WebDAV Server URL&quot; check-box. This lets you indicate to
the remote target where to store the exported content. Then type the target URL to an existing
location on the server. Finally press the <strong>Export</strong> button to export.
A confirmation will be supplied once the operation is complete.
    </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Web Robot - Exporting Content" src="../images/ui/dav_rbt_expt_02.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1. Web Robot - Exporting Content</td>
      </tr>
        </table>
    <div class="note">
      <div class="notetitle">Note:</div>
      <p>If is not checked the &quot;External WebDAV Server URL&quot; check-box, i.e. you are selecting the
filesystem method, then you are restricted to Virtuoso targets. However WebDAV methods can be applied
to any WebDAV server. WebDAV methods assume that the target is publicly available for writing.
      </p>
    </div>
</li>
      <li>
        <strong>Populate the RDF Quad Store</strong>: Virtuoso&#39;s built-in Content Crawler to can be used to populate its RDF Quad Store, as a one-time run or on a scheduled basis.
<p>Transforming data sources into RDF &quot;on the fly&quot; is sufficient for many use cases, but there are times when the volume or sheer nature of a data source makes batch-loading necessary.</p>
<p>For example, Freebase offers RDF representations of its data, but it doesn&#39;t publish RDF dumps; even if it did, such dumps would usually be outdated by the time they were loaded.</p>
<p>One practical solution takes the form of a scheduled crawl of specific resources of interest.</p>
</li>
  </ul>
    
  <a name="contentcrawlerrdf" />
    <h5>6.2.3.1.1. Set Up the Content Crawler to Gather RDF</h5>
  <p>The Virtuoso Conductor can be used to set up various Content Crawler Jobs:</p>
  <a name="contentcrawlerrdfquad" />
    <h6>Setting up a Content Crawler Job to Add RDF Data to the Quad Store</h6>
<p>See <a href="rdfinsertmethods.html#rdfinsertmethodvirtuosocrawler">details</a> how to use Virtuoso Crawler for including the Sponger options so you crawl non-RDF but get RDF and this to the Quad Store.</p>  
  <br />
  <a name="contentcrawlerrdfsm" />
    <h6>Setting up a Content Crawler Job to Retrieve Sitemaps (when the source includes RDFa)</h6>
  <p>The following section describes how to set up a crawler job for getting content of a basic Sitemap where the source includes RDFa.</p>
<ol>
      <li>From the Virtuoso Conductor User Interface i.e. http://cname:port/conductor, login as the &quot;dba&quot; user.</li>
      <li>Go to the &quot;Web Application Server&quot; tab.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr1.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
      <li>Go to the &quot;Content Imports&quot; tab.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr2.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
      <li>Click on the &quot;New Target&quot; button.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr3.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
      <li>In the form displayed:
<ul>
  <li>Enter a name of choice in the &quot;Target description&quot; text box:
<div>
              <pre class="programlisting">
Virtuoso Sample Example	
</pre>
            </div>  	
</li>
  <li>Enter the URL of the site to be crawled in the &quot;Target URL&quot; text box: 
<div>
              <pre class="programlisting">
http://virtuoso.openlinksw.com/
</pre>
            </div>  	
</li>
  <li>Enter the location in the Virtuoso WebDAV repository the crawled should stored in the &quot;Copy to local DAV collection&quot; text box, for example, if user demo is available, then:
<div>
              <pre class="programlisting">
/DAV/home/demo/VirtSample/	
</pre>
            </div>  	
</li>
  <li>Choose the  &quot;Local resources owner&quot; for the collection from the list box available, for ex: user demo.</li>
  <li>Select the &quot;Accept RDF&quot; check box.</li>      
  <li>Optionally you can select &quot;Convert Links&quot; to make all HREFs in the local stored content relative.</li>
  <li>Click the &quot;Create&quot; button to create the import.</li>        
</ul>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr11.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr11a.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.2. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>    
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr11b.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.3. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>        
  </li>
      <li>Click the &quot;Import Queues&quot; button.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr12.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
   
  </li>
      <li>For the &quot;Robot targets&quot; with label &quot;Basic Sitemap Crawling Example &quot; click the &quot;Run&quot; button.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr12a.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>   	
  </li>
      <li>This will result in the Target site being crawled and the retrieved pages stored locally in DAV and any sponged triples in the RDF Quad store.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr13.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
      <li>Go to the &quot;Web Application Server&quot; -&gt; &quot;Content Management&quot; tab.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr14.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
      <li>Navigate to the location of newly created DAV collection:
<div>
          <pre class="programlisting">
/DAV/home/demo/VirtSample/
</pre>
        </div>
  </li>
      <li>The retrieved content will be available in this location.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Sitemaps" src="../images/ui/cr15.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Sitemaps</td>
      </tr>
        </table>
  </li>
    </ol>  
  <br />  
  <a name="contentcrawlerrdfssm" />
    <h6>Setting up a Content Crawler Job to Retrieve Semantic Sitemaps (a variation of the standard sitemap)</h6>
  <p>The following section describes how to set up crawler job for getting Semantic Sitemap&#39;s content: a variation of standard sitemap:</p>  
<ol>
      <li>From the Virtuoso Conductor User Interface i.e. http://cname:port/conductor, login as the &quot;dba&quot; user.</li>
      <li>Go to &quot;Web Application Server&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr1.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>Go to &quot;Content Imports&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr2.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;New Target&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr3.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>In the shown form:
<ul>
  <li>Enter for &quot;Target description&quot;:
<div>
              <pre class="programlisting">
Semantic Web Sitemap Example 	
</pre>
            </div>  	
</li>
  <li>Enter for &quot;Target URL&quot;:
<div>
              <pre class="programlisting">
http://www.connexfilter.com/sitemap_en.xml	
</pre>
            </div>  	
</li>
  <li>Enter the location in the Virtuoso WebDAV  repository the crawled should stored in the &quot;Copy to local DAV collection&quot; text box, for example, if user demo is available, then:
<div>
              <pre class="programlisting">
/DAV/home/demo/semantic_sitemap/	
</pre>
            </div>  	
</li>
  <li>Choose the &quot;Local resources owner&quot; for the collection from the list box available, for ex: user demo.</li> 
  <li>Hatch &quot;Semantic Web Crawling&quot;
<ul>
  <li>Note: when you select this option, you can either:
<ol>
                  <li>Leave the Store Function and Extract Function empty - in this case the system Store and Extract functions will be used for the Semantic Web Crawling Process, or:</li>
                  <li>You can select your own Store and Extract Functions, for ex:
<div>
                      <pre class="programlisting">
-- Example of Extract Function
use WS;

create procedure WS.WS.SITEMAP_BB_PARSE (
  in _host varchar, 
  in _url varchar, 
  in _root varchar, 
  inout _content varchar,  
  in _c_type varchar := null, 
  in lev int := 0))
{
  --pl_debug+
  declare xt, xp, graph any;
  declare inx int;

--  dbg_obj_print (&#39;WS.WS.GET_URLS_SITEMAP&#39;, _url);

  declare exit handler for sqlstate &#39;*&#39;
    {
--      dbg_obj_print (__SQL_MESSAGE);
      return;
    };

  if (_url like &#39;%.xml.gz&#39;)
    {
      _content := gzip_uncompress (_content); 
    }

  if (_url like &#39;%.xml&#39; or _url like &#39;%.xml.gz&#39; or _url like &#39;%.rdf&#39;)
    {
      xt := xtree_doc (_content);
      if (xpath_eval (&#39;/urlset/dataset&#39;, xt) is not null)
	{
	  xp := xpath_eval (&#39;/urlset/dataset/dataDumpLocation/text()&#39;, xt, 0);
	  graph := cast (xpath_eval (&#39;/urlset/dataset/datasetURI/text()&#39;, xt) as varchar);
	  if (length (graph))
	    update VFS_SITE set VS_UDATA = serialize (vector (&#39;graph&#39;, graph)) where VS_HOST = _host and VS_ROOT = _root;
	  inx := 0;
	  foreach (any u in xp) do
	    {
	      declare hf, host, url varchar;

	      u := cast (u as varchar);
	      hf := WS.WS.PARSE_URI (u);
	      host := hf[1];
	      --dbg_obj_print (&#39;WS.WS.GET_URLS_SITEMAP PARSE&#39;, u);
	      url := hf[2];
	      insert soft VFS_QUEUE (VQ_HOST, VQ_TS, VQ_URL, VQ_STAT, VQ_ROOT, VQ_OTHER) 
		  values (host, now (), url, &#39;waiting&#39;, _root, NULL); 
	      if (row_count () = 0)
		update VFS_QUEUE set VQ_STAT = &#39;waiting&#39;, VQ_TS = now () where VQ_HOST = host and VQ_ROOT = _root and VQ_URL = url;
	      inx := inx + 1;
	    }
	}
      if (xpath_eval (&#39;/sitemapindex/sitemap/loc&#39;, xt) is not null)
	{
	  xp := xpath_eval (&#39;/sitemapindex/sitemap/loc/text()&#39;, xt, 0);
	  inx := 0;
	  foreach (any u in xp) do
	    {
	      declare hf, host, url varchar;

	      u := trim (cast (u as varchar));
	      hf := WS.WS.PARSE_URI (u);
	      host := hf[1];
--	      dbg_obj_print (&#39;WS.WS.GET_URLS_SITEMAP&#39;, host, _host);
	      url := hf[2];
	      if (url &lt;&gt; &#39;&#39;)
		{
		  insert soft VFS_QUEUE (VQ_HOST, VQ_TS, VQ_URL, VQ_STAT, VQ_ROOT, VQ_OTHER) 
		      values (host, now (), url, &#39;waiting&#39;, _root, NULL); 
		  if (row_count () = 0)
		    update VFS_QUEUE set VQ_STAT = &#39;waiting&#39;, VQ_TS = now () where VQ_HOST = host and VQ_ROOT = _root and VQ_URL = url;
		  inx := inx + 1;
		}
	    }
	}
    }
  commit work;
}
;


-- Example of Store Function
use WS;

create procedure WS.WS.SITEMAP_BB_STORE (
  in _host varchar, 
  in _url varchar, 
  in _root varchar,
  inout _content varchar, 
  in _s_etag varchar, 
  in _c_type varchar,
  in store_flag int := 1, 
  in udata any := null,
  in lev int := 0)
{
  --pl_debug+
  declare graph varchar;

--  dbg_obj_print (&#39;WS.WS.SITEMAP_BB_STORE&#39;, _url, udata);
  if (isarray (udata))
    graph := get_keyword (&#39;graph&#39;, udata);
  else  
    graph := null;

  if (graph is not null and _url like &#39;%.rdf&#39;)
    {
      DB.DBA.RDF_LOAD_RDFXML (_content, graph, graph);
      DB.DBA.VT_INC_INDEX_DB_DBA_RDF_OBJ ();
    }
  insert soft VFS_URL (VU_HOST, VU_URL, VU_CHKSUM, VU_CPTIME, VU_ETAG, VU_ROOT)
      values (_host, _url, md5 (_content), now (), _s_etag, _root);
  if (row_count () = 0)
    update VFS_URL set VU_CHKSUM = md5 (_content), VU_CPTIME = now (), VU_ETAG = _s_etag where
	VU_HOST = _host and VU_URL = _url and VU_ROOT = _root;
  commit work;
}
;
</pre>
                    </div>
  </li>
                </ol>  	
  </li>
</ul>
  </li>    
</ul>  	
  </li>
      <li>Hatch &quot;Ask for RDF&quot;
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr16.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr17.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.2. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>    
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr17a.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.3. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>        
  </li>
      <li>Optionally you can select &quot;Convert Link&quot; to make all HREFs in the local stored content relative.</li>
      <li>Click the button &quot;Create&quot;. 
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr18.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;Import Queues&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr19.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>For &quot;Robot target&quot; with label &quot;Semantic Web Sitemap Example&quot; click &quot;Run&quot;.
  </li>
      <li>As result should be shown the number of the pages retrieved.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr20.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
      <li>Check the retrieved RDF data from your Virtuoso instance sparql endpoint http://cname:port/sparql with the following query selecting all the retrieved graphs for ex:
<div>
          <pre class="programlisting">
SELECT ?g 
FROM &lt;http://host:port/&gt;
WHERE 
  { 
    graph ?g { ?s ?p ?o } . 
    FILTER ( ?g LIKE &lt;http://www.connexfilter.com/%&gt; ) 
  }	
</pre>
        </div>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Semantic Sitemap content" src="../images/ui/cr21.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content</td>
      </tr>
        </table>
  </li>
    </ol>  
  <br /> 
  <a name="contentcrawlerrdfsd" />
    <h6>Setting up a Content Crawler Job to Retrieve Content from Specific Directories</h6>
  <p>The following section describes how to set up crawler job for getting directories using Conductor.</p>  
<ol>
      <li>From the Virtuoso Conductor User Interface i.e. http://cname:port/conductor, login as the &quot;dba&quot; user.</li>
      <li>Go to &quot;Web Application Server&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/cr1.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>Go to &quot;Content Imports&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/cr2.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;New Target&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/cr3.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>In the shown form:
<ul>
  <li>Enter for &quot;Target description&quot;:
<div>
              <pre class="programlisting">
Gov.UK data	
</pre>
            </div>  	
</li>
  <li>Enter for &quot;Target URL&quot;:
<div>
              <pre class="programlisting">
http://source.data.gov.uk/data/	
</pre>
            </div>  	
</li>
  <li>Enter for &quot;Copy to local DAV collection&quot; for available user, for ex. demo:
<div>
              <pre class="programlisting">
/DAV/home/demo/gov.uk/	
</pre>
            </div>  	
</li>
  <li>Choose from the available list &quot;Local resources owner&quot; an user, for ex. demo.	
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
        <tr>
         <td>
                  <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d1.png" />
         </td>
        </tr>
        <tr>
                <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
        </tr>
            </table>  	
</li>
  <li>Optionally you can select &quot;Convert Link&quot; to make all HREFs in the local stored content relative.</li>
  <li>Click the button &quot;Create&quot;.</li>
</ul>
  </li>
      <li>As result the Robot target will be created:
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d2.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;Import Queues&quot;.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d3.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>For &quot;Robot target&quot; with label &quot;Gov.UK data&quot; click &quot;Run&quot;.
  </li>
      <li>As result will be shown the status of the pages: retrieved, pending or respectively waiting.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d4.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;Retrieved Sites&quot;.</li>
      <li>As result should be shown the number of the total pages retrieved.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d5.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
      <li>Go to &quot;Web Application Server&quot; -&gt; &quot;Content Management&quot;.
  </li>
      <li>Enter path:
<div>
          <pre class="programlisting">
DAV/home/demo/gov.uk	
</pre>
        </div> 
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d6.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table> 	
  </li>
      <li>Go to path
<div>
          <pre class="programlisting">
DAV/home/demo/gov.uk/data	
</pre>
        </div>
  </li>
      <li>As result the retrieved content will be shown.
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Setting up a Content Crawler Job to Retrieve Content from Specific Directories" src="../images/ui/d7.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.3.1.1.1. Setting up a Content Crawler Job to Retrieve Content from Specific Directories</td>
      </tr>
        </table>
  </li>
    </ol>  
  <br />   
  <br />
  <br />
  <a name="admiui.accesscontrol" />
    <h4>6.2.3.2. Access Control</h4>
    <p>From &quot;System Admin&quot; -&gt; Security -&gt; &quot;Access Controls&quot; you can manage Rules and ACL 
    	respectively for HTTP, News, Proxy. The tabs PSH and PSH-SSL are available only when the 
	    <a href="http://s3.amazonaws.com/opldownload/uda/vad-packages/6.1/virtuoso/pubsubhub_dav.vad">pubsubhub_dav.vad</a> 
	    is installed.
    </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Access Control Lists" src="../images/ui/acl001.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.3.2.1. Access Control Lists</td>
    </tr>
    </table>
    <p>For each of the tabs &quot;HTTP&quot;, &quot;NEWS&quot;, &quot;PROXY&quot; the created rules will be shown in a list with
Filter, Access, Destination, Object, Mode, Rate values. You can also add/delete rules, re-arrange rules order.
    </p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Access Control List for HTTP" src="../images/ui/acl002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.3.2.2. Access Control List for HTTP</td>
    </tr>
    </table>
    <p>Click the link &quot;Edit&quot; for a rule. Then specify the filter and access values.
    </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Access Control Lists" src="../images/ui/acl003.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.3.2.3. Access Control Lists</td>
    </tr>
    </table>
  <br />
  <a name="admiui.wsdl" />
    <h4>6.2.3.3. Import WSDL</h4>
    <p>From &quot;Web Services&quot; / &quot;WSDL Import/Export&quot; you can provide a URL to a WSDL description.
In return Virtuoso will automatically provide a wrapper for the services available, hence stored
procedures and user-defined types that are callable within Virtuoso while the processing and mechanics of
the services are actually handled at the source.
    </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="WSDL Import" src="../images/ui/wsdlimp001.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.3.3.1. WSDL Import</td>
    </tr>
    </table>
    <p>After Virtuoso examines the supplied URL to a WSDL you are presented with the source
code for the PL wrappers and Virtuoso user-defined types to be created. You have the chance to
edit the code for more specific needs and then you can either save this to a file for later
work, or execute it in Virtuoso to create the procedures and types.
    </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="WSDL Import" src="../images/ui/wsdlimp002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.3.3.2. WSDL Import</td>
    </tr>
    </table>
    <p>Any errors in the code will be highlighted if you try and execute it.
    </p>
    <p>If you wish to save the file the appropriate file system ACLs must be in place for
the destination.
    </p>
  <br />
<br />





  <a name="webdavadmin" />
    <h3>6.2.4. WebDAV Administration</h3>
  <p>DAV, or WebDAV, is a protocol for Web-based Distributed Authoring and Versioning. The location
where content items are placed is called the <strong>repository</strong>. Content elements are called
<strong>documents</strong>, corresponding to files, and <strong>folders/collections</strong>,
corresponding to directories. Collectively these documents and folders (collections) are known as
<strong>resources</strong>.
  </p>
  <p>Virtuoso implements the DAV protocol, allowing you to create and manage resources either directly
through repository manipulations or indirectly, through a variety of WebDAV services.
  </p>
  
			<a name="resourcetypes" />
    <h4>6.2.4.1. DAV Resource Types</h4>
    <p>To make sure that when Virtuoso serves files to client user agents the type of file is
conveyed properly so that the right application can be used with that file a list or file
types are maintained in the server. This list is used when sending any content via the HTTP
server which include content in DAV and under VSP.
    </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="DAV Resource Types" src="../images/ui/dav_resrctyp_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.1.1. DAV Resource Types</td>
    </tr>
    </table>
		<p>
The Web Application Server/Content Management/Resource Types page shows the list of currently
defined resource types in the Virtuoso server. You can edit or remove these types by using the
action links on the right most column of the list next to the type applicable.
</p>
		<p>
Add new types by typing the details into the fields provided and pressing the <strong>Save</strong> button.
</p>
		<br />


    <a name="contentmanagement" />
    <h4>6.2.4.2. Content Management</h4>
  <p>The content management page gives you an interface to the WebDAV
  repository resources. From here you can navigate or create directories, 
  commonly referred to as collections or folders in DAV, alter properties,
  upload or remove files, or edit documents.</p>

  <p>The Repository tab lists the current location within the tree and
  the current login name.  The root of the repository is usually 
  /DAV/.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Content Management" src="../images/webdav.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.1. Content Management</td>
    </tr>
    </table>

  <a name="davcontresnames" />
    <h5>6.2.4.2.2. Resource Names</h5>
  <p>Resource names are given with collection (folder) names listed first, 
  then individual documents.  Permissions on resources are presented in a 
  style similar to Unix, with (r)ead, (w)rite, and e(x)ecute permissions 
  listed for the resource owner (the user), the resource&#39;s group, and 
  for the general public.  If a permission is present, the letter is 
  shown; if not, it is replaced with a dash.</p>
  <br />

  <a name="davcontresperm" />
    <h5>6.2.4.2.3. Resource Permissions</h5>
  <p>Unlike Unix, the Repository does not use the designation &#39;d&#39; for 
  directories, which in DAV are more commonly referred to as collections.  
  Collections are distinguished by a different icon - a folder-like icon
  - and by having the type named &quot;collection&quot;.</p>

  <p>In addition, the permissions string has a trailing letter designating
  the indexing status of the resource.  This letter is &#39;n&#39; to designate 
  that indexing is off, &#39;r&#39; for recursive indexing, and &#39;t&#39; for direct indexing.</p>
  <br />

  <a name="davcontresug" />
    <h5>6.2.4.2.4. Resource User and Group</h5>
  <p>By default, the user and group of a DAV resource are those set by the 
  service that created the resource, or they are the ID and primary group of 
  the user who was logged in when the resource was created.</p>
  <br />

  <a name="davconterssize" />
    <h5>6.2.4.2.5. Resource Size</h5>
  <p>The size of a document resource is its size in disk bytes.  Note that 
  this does not necessarily correspond to characters displayed on the 
  screen because of encodings.  For example, the HTML token 
  &amp;-a-m-p-semicolon is five bytes on disk but displays as a single 
  screen character.</p>
  <br />

  <a name="davcontrestype" />
    <h5>6.2.4.2.6. Resource Type</h5>
  <p>The type of a resource is always &quot;collection&quot; for 
  collections (folder).  For documents it can be any of the known resource 
  types (see Resource Types below).  The resource type is usually based on the 
  resource&#39;s extension; for example, .xml files are usually assumed to 
  be text/xml.  If Virtuoso does not recognize the extension of a 
  resource, it assigns the default type of application/octet-stream.</p>
  <br />

  <a name="davcontpropedt" />
    <h5>6.2.4.2.7. Editing Properties</h5>
  <p>Within the Content Management screen, you can change any of the 
  properties of a resource, other than its name, by selecting the 
  resource via the checkbox to the left of the icon, and pressing the 
  &quot;Properties&quot; button.</p>
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Edit Resource Properties" src="../images/ui/editres.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.7.1. Edit Resource Properties</td>
    </tr>
    </table>

  <p>XML documents also permit you to edit their XML properties 
  specifically.  This can be done on any document of type text/xml by 
  clicking on the icon for the document.</p>

    <a name="davcontresprops" />
    <h6>Properties</h6>
    <p>When clicked this button from the bottom of the page, you can edit the properties
for one or a group of resources which should be selected. The name of a resource cannot be changed.</p>

    <p>The owner, group, permissions, and indexing controls on this form 
    apply to the appropriate properties of resources, as documented 
    above.  Changes to the type of a collection (folder) are ignored.</p>
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Multiple Resources Edit Properties" src="../images/ui/meditres.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.7.1. Multiple Resources Edit Properties</td>
    </tr>
    </table>
    <p>The &quot;Property&quot; control permits you to change or add
    additional properties.  There is a pulldown of predefined XML-related 
    properties, or you may create your own property.</p>
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Multiple Resources Edit Properties" src="../images/ui/meditres2.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.7.2. Multiple Resources Edit Properties</td>
    </tr>
    </table>    
    <br />

    <a name="davcontdavprop" />
    <h6>WebDAV Properties</h6>
    <p>This control permits you to manipulate the specific properties of XML
    documents.  Existing properties are shown with their values, and can 
    be removed.  New properties can be added.</p>

    <p>XML-related properties are generally set by specific XML-related 
    services and do not need to be edited directly by users; however, this 
    interface provides a quick means to correct a minor typo or other 
    change without re-running the entire service.  For example, you 
    can change the <span class="computeroutput">xml-sql-root</span> property, which 
    controls the name of the root XML element for the document.</p>
    <br />
    <br />

  <a name="davaddnewres" />
    <h5>6.2.4.2.8. Adding New Resources</h5>
  <p>Resources may be added to the repository in two ways: by uploading 
  files or by creating new collections (folders).  Buttons for both these methods 
  are on the page.</p>

  <p>The &quot;Create Folder&quot; button brings up a form in which you can 
  specify the name of the collection (folder), its owner and group, and the initial 
  permissions.  You may also turn on indexing for the folder&#39;s contents at this point.</p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Create Folder" src="../images/ui/cfolder.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.8.1. Create Folder</td>
    </tr>
    </table>

  <p>The &quot;Upload File&quot; button brings up a form in which you can 
  specify the name and location of a file on your local computer that is 
  to be copied into the DAV repository.  You need to specify the name of 
  the resource in the repository and give it a type.  You can also set 
  the basic repository properties here.</p>
      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Upload File" src="../images/ui/ufile.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.2.8.2. Upload File</td>
    </tr>
    </table>

  

<br />
<br />

    <a name="freetext" />
    <h4>6.2.4.3. Free Text</h4>

		
			<a name="contentidxmode" />
    <h5>6.2.4.3.1. Indexing Mode</h5>
		<p>
When files are inserted into Virtuoso&#39;s WebDAV repository, if their type is a type of text file such
as plain text TXT, XML, or HTML, then they may be automatically free text indexed.
</p>
		<p>
By default files are automatically free text indexed as they are inserted into Virtuoso. This is
very convenient but can be time consuming if you frequently insert or update text files. For
this reason Virtuoso can be set to index in batch mode at a particular interval in minutes.
</p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="DAV Free Text Index Configuration" src="../images/ui/dav_idxprprty_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.4.3.1.1. DAV Free Text Index Configuration</td>
    </tr>
    </table>
		<p>
To change the free-text index mode to batch mode check the check-box and provide a non-zero time interval (in minutes).
Press the <strong>Accept</strong> button to save the changes into the server.
</p>
		<br />
		<br />
<br />




<a name="admui.internetdomains" />
    <h3>6.2.5. Internet Domains</h3>

	
		<a name="httpvirtualdirs" />
    <h4>6.2.5.1. HTTP Virtual Directories</h4>
	<p>From Virtual Domains &amp; Directories you can define Virtual HTTP directories. Virtual Directories
  let you define multiple HTTP server listeners in Virtuoso for either the same 
  network interface or another one.  Virtual directories can respond logically 
  to a name or directly by IP address.  Both types as well as default responses 
  can be defined here.</p>
  <p>Each virtual directory can also have HTTP maps defined for it.  This 
  allow you to set logical paths on an HTTP directory to point to specific 
  directories available to Virtuoso through the file system or DAV.</p>
  <p>You can also publish stored procedures to a SOAP defined directory 
  during the virtual directory definition.</p>
    
      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtual Directories" src="../images/ui/admvirtdir001.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.5.1.1. Virtual Directories</td>
    </tr>
    </table>

  <p>Click on the <strong>Add New Site</strong> button to start adding 
  a new Virtual Web Site and its directories.</p>

      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtual Directories: Site Details" src="../images/ui/admvirtdir002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.5.1.2. Virtual Directories: Site Details</td>
    </tr>
    </table>

  <p>When adding or editing a web site you must supply a host.domain name, 
  which will be used to match again incoming requests to produce the correct 
  response, the IP address of the network interface, to set-up the listener on, 
  and the TCP port number that will be used to listen for incoming requests.  
  Although Virtuoso will be listening on the specified interface you can 
  set up multiple sites on this interface.  The site required by client web 
  browsers will be determined by the host name specified in the request.  
  This provides the virtual site.</p>

  <p>Click on &quot;New Directory&quot; to continue.</p>

      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtual Directories Mappings" src="../images/ui/admvirtdir003.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.5.1.3. Virtual Directories Mappings</td>
    </tr>
    </table>

  <p>Before the directory settings are configured you can select from a 
  few types to help configure the details to follow quicker and easier.
  For SOAP virtual directories this step is particular useful.</p>

  <p>Select &quot;Type&quot; and then click &quot;Next&quot; to continue.</p>

      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtual Directories" src="../images/ui/admvirtdir004.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.5.1.4. Virtual Directories</td>
    </tr>
    </table>

  <p>The &quot;Virtual Directory Information&quot; tab lets you configure most aspects of the virtual directory.</p>

  <p>The default directory checkbox can be checked if you want the site being 
  defined to act as the default site for the interface.  This means that if a 
  request is made to the interface that does not match a hostname defined for 
  the interface, the default will be returned.</p>

  <p>Logical Path will be the path that Virtuoso will respond to for this 
  virtual directory mapping.  This is what will be placed on the URL.
  Physical Path or URL is what Virtuoso will actually supply the content 
  from.  In either case you can use the Browse buttons to traverse the file systems 
  graphically.  Use the WebDAV Source Checkbox to instruct Virtuoso to use the 
  WebDAV store for the physical location.  &quot;Default Page&quot; will be returned if 
  no page is specified in the incoming URL.  </p>

  <div class="note">
      <div class="notetitle">Note:</div>
  <p>Virtual directories for SOAP must always use a physical path of /SOAP/.</p>
  <p>The physical path of /SOAP/ does not need to exist in the filesystem 
  under the VSP-root directory for normal SOAP operation.  If it does existing it 
  can be used to answer non-SOAP requests.  Thus, configuring the 
  virtual directory for SOAP with a &quot;Default Page&quot; can be used to 
  avoid SOAP clients receiving HTTP 404 errors when testing the SOAP endpoint 
  using standard HTTP only.  Some SOAP applications assume the SOAP endpoint 
  is down if they received HTTP 404 without checking the SOAP endpoint itself.</p>
    </div>

  <p>The permissions panel lets you choose whether to enable various 
  abilities in the directory.</p>

  <p>In the SOAP Options section you can publish or unpublish procedures 
  and/or templates, both native and remote to the virtual directory using 
  the Publish/Unpublish buttons respectively. The SOAP Options text-area allows
  you to specify other SOAP options such as DIME encapsulations and WS-security 
  settings.  These options are supplied as name=value pairs terminated with a semi-colon and 
  a carriage-return.  Here is an example of the options used for the 
  default Interop test based demo virtual directory:</p>

  <div>
      <pre class="programlisting">
Namespace=http://soapinterop.org/;
MethodInSoapAction=no;
ServiceName=InteropTests;
HeaderNS=http://soapinterop.org/echoheader/;
CR-escape=yes;
</pre>
    </div>

  <div class="tip">
      <div class="tiptitle">See Also:</div>
  <p>For a list of available SOAP Options review the end section of the SOAP 
  chapter: <a href="soap.html#soapoptions">Optional Parameters to the SOAP Endpoint</a>.</p>
    </div>

  <p>The Authentication Options panel lets you define the authentication 
  rules for the Virtual Directory.</p>

  <p>Once the form details have been completed press on the Add button to 
  save the them and proceed to configure mappings for the directory.</p>

      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtual Directories Mappings" src="../images/ui/admvirtdir006.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.5.1.5. Virtual Directories Mappings</td>
    </tr>
    </table>

  <p>This screen lists mappings that have been defined for the virtual site.  
  If you have just created a fresh site then only one line will be displayed.  
  The &quot;Add Virtual Directory&quot; button will let you define more.  Back 
  returns you to the start page, Edit and Delete allow you to edit or remove 
  existing mappings as their link suggests.</p>

  <div class="tip">
      <div class="tiptitle">See Also:</div>
  <p>
        <a href="webserver.html#virtdir">Virtual Directories</a>
      </p>
    </div>

  <p>For example, here are the basic steps to be performed, in order to mount FS folder to DAV:</p>
  <ol>
      <li>Suppose there is a folder with name &quot;test&quot; in your FS and it is under the root of the 
  	ServerRoot defined in your virtuoso ini file.</li>
      <li>Also suppose in the folder &quot;test&quot; there is a file index.html with simple content:
  <div>
          <pre class="programlisting">
&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;OpenLink Virtuoso Conductor Simple Test&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;1&quot; width=&quot;50%&quot;&gt;
      &lt;tr&gt;
       &lt;td&gt;&lt;b&gt;Name&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;/b&gt;State&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
       &lt;td&gt;Simple test for mounting FS to DAV&lt;/td&gt;&lt;td&gt;Successful.&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  &lt;/body&gt;
&lt;/html&gt;
  </pre>
        </div>
  </li>
      <li>Install the Conductor package</li>
      <li>Go to http://host:port/conductor and login as dba user.</li>
      <li>Go to Web Application Server -&gt; Virtual Domains &amp; Directories.
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Mount FS to DAV" src="../images/ui/admvirtdir011.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.5.1.1. Mount FS to DAV</td>
      </tr>
        </table>
  </li>
      <li>For your {Default Web Site} click the link &quot;New Directory&quot;.</li>
      <li>Check the check-box &quot;Type&quot; and select from the drop-down list &quot;Filesystem&quot;.
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Mount FS to DAV" src="../images/ui/admvirtdir012.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.5.1.1. Mount FS to DAV</td>
      </tr>
        </table>
  </li>
      <li>Click &quot;Next&quot;</li>
      <li>In the shown form: Enter for the field &quot;Path&quot;: mytest; Enter for the field &quot;Physical path&quot;: /test;
Enter for the field &quot;Default page&quot;: index.html; Check the check-box &quot;Allow Directory Browsing&quot;; Leave the rest of the fields with their default values.</li>
      <li>Click &quot;Save Changes&quot;
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Mount FS to DAV" src="../images/ui/admvirtdir013.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.5.1.1. Mount FS to DAV</td>
      </tr>
        </table>
  </li>
      <li>From your browser access the url: http://host:port/mytest/</li>
      <li>As result the content of the index.html file will be shown:
  <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="Mount FS to DAV" src="../images/ui/admvirtdir014.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.5.1.1. Mount FS to DAV</td>
      </tr>
        </table>
  </li>
    </ol>
<br />
<br />




<a name="admui.xmlservices" />
    <h3>6.2.6. XML Services</h3>

		
			<a name="sqlxmlstmts" />
    <h4>6.2.6.1. SQL-XML Statements</h4>
		<p>
Go to XML/SQL-XML and enter a SQL to XML statement in the <strong>SQLX or SQL-XML Query</strong> text-area:
</p>
<a name="" />
    <div class="example">
      <div class="exampletitle">For example:</div>
<div>
        <pre class="programlisting">
SELECT &quot;product&quot;.ProductID AS &quot;id&quot;,
  &quot;product&quot;.ProductName AS &quot;name&quot;
FROM
  &quot;Demo&quot;.&quot;demo&quot;.&quot;Products&quot; as &quot;product&quot;
FOR XML AUTO ELEMENT
</pre>
      </div>
</div>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="SQL-XML Statements" src="../images/ui/sql_xml_mng_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.1.1. SQL-XML Statements</td>
    </tr>
    </table>
		<p>
Type the root XML element name into the <strong>Root Element</strong> field.
The results of the query will be contained within this root element.</p>
		<p>
Type the full path and resource name where you want your XML resource to reside under WebDAV
in the <strong>WebDAV Resource path for the result</strong> field. Collection(s) described
in the full path must already exist.</p>
		<p>
You may use the <strong>Browse</strong> button next to the <strong>WebDAV Resource path
for the result</strong> field to navigate existing WebDAV collections (folders) or resources
to store the result of query.</p>
		<p>
From the &quot;Stored Queries&quot; tab if you choose a resource that already exists as a query in WebDAV resource,
after click the &quot;Edit&quot; link, the form will automatically acquire the details from the query.</p>
		<p>
If an XSLT transformation should be performed on retrieval time then you may either type the location
of the stylesheet in the <strong>Stylesheet</strong> field or press the
<strong>Browse</strong> button next to it to search for a valid XSLT stylesheet from the WebDAV
repository.</p>
		<p>
Provide the appropriate <strong>WebDAV owner</strong> and <strong>group</strong> of stored result
using the drop downs provided.</p>
		<p>
Select appropriate <strong>permissions</strong> for the stored result.</p>
		<p>
The query can be set to update itself at specific intervals of time or execute every time the resource
is retrieved. If <strong>Persist XML</strong> is checked the query will be executed
on <strong>Update every</strong> 10 minutes by default.</p>
		<p>
Press the <strong>Execute</strong> button to execute the statement and store as a WebDAV
resource. Use <strong>Reset</strong> to clear the form</p>
		<p>
If you want to build a schema definition for the result then press the
<strong>Create XML Schema</strong> radio-button.
</p>
		<p>
Virtuoso can provide the generated XML output with a full DTD for the data. Press
<strong>Create External DTD</strong> to enable this option for the query.
</p>
		<br />


    

    
		<a name="xpathsearch" />
    <h4>6.2.6.2. XQuery Search</h4>

	<p>Go to XML / XQuery /Xquery Basic.
	</p>
	<p>XQuery Document Search applies the XPATH expression to every realized XML contained
within the Query Scope to qualify search hit results. Note that this does not include XML Views unless
persistent.
	</p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XPATH Query of DAV" src="../images/ui/dav_xpath_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.2.1. XPATH Query of DAV</td>
    </tr>
    </table>
        <p>Choose the <strong>Scope of Query</strong> from within the WebDAV repository. You may
define the scope as either No Context, DAV Resource (file), DAV Collection (folder), External Document URL,
External Collection URL or Database Table. Use the <strong>Browse</strong> button to
browse the contents of WebDAV to make a selection. The query will then be confined to the selected resource
or collection and its children. Then Click the button &quot;Next&quot; in order to continue.
	</p>
      <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XPATH Query of DAV" src="../images/ui/dav_xpath_02.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.2.2. XPATH Query of DAV</td>
    </tr>
    </table>
        <p>Enter that XPATH query expression into the text area that you wish
to interrogate your WebDAV XML documents with. e.g. <strong>//*</strong> or <strong>//title</strong>
	</p>
	<p>The <strong>Root Element</strong> field allows you specify the name of the root
element to contain document element matches for each document found.  This aids stylesheet design.
	</p>
	<p>Choose an <strong>Output Style Sheet</strong> by either typing its
URL or using <strong>Browse</strong> to select an XSL resource from WebDAV.  You only need to
specify a style sheet if you want to transform your XML results using XSLT.
	</p>
        <p>Click the button &quot;Next&quot; in order to continue.
        </p>
        <p>Choose an <strong>Store into</strong> location by either typing its
URL or using <strong>Browse</strong> to select a DAV resource from WebDAV
	</p>
        <p>Set <strong>Permissions</strong> for the output result. Check &quot;r&quot; for read rights for Group and
Users in order to view later the saved xml file.
	</p>
        <p>You may want to <strong>Replace the existing resource</strong> by checking the shown check-box with this label.
	</p>
	<p>Choose <strong>Output Type</strong> that you wish to obtain.
<strong>Persist XML</strong> should be selected with Update interval im minutes or if you want to be created as XML Template,
fill in the &quot;Create as XML Template Description&quot; field.
	</p>
        <p>Click the button &quot;Save&quot;.
        </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XPATH Query of DAV" src="../images/ui/dav_xpath_03.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.2.3. XPATH Query of DAV</td>
    </tr>
    </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XPATH Query of DAV" src="../images/ui/dav_xpath_04.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.2.4. XPATH Query of DAV</td>
    </tr>
    </table>
        <p>If for location you have chosen /DAV/xmlsql/xquery.xml, you can view the saved file accessing the
url: http://host:port/DAV/xmlsql/xquery.xml
        </p>
       <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XPATH Query of DAV" src="../images/ui/dav_xpath_05.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.6.2.5. XPATH Query of DAV</td>
    </tr>
    </table>
		<br />


<br />




<a name="querytools" />
    <h3>6.2.7. Query Tools</h3>
	<a name="sqlqueries" />
    <h4>6.2.7.1. Relational Data using SQL</h4>
	<p>
Conductor Interactive SQL allows you to quickly and directly query Virtuoso using SQL.
It offers <strong>Save</strong> and <strong>Load</strong>
facilities which allow SQL queries to be saved as an XML template, and read 
back later.  With a query in the SQL Statement box click on the 
<strong>Execute</strong> for the results which will in the &quot;Base&quot; tab with option to return back
to the query area. The <strong>Clear</strong> clears the SQL Statement text box.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Querying Relational Database Using SQL" src="../images/ui/qry_sql_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.7.1.1. Querying Relational Database Using SQL</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Results" src="../images/ui/qry_sql_01a.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.7.1.2. Results</td>
    </tr>
    </table>

<p>Specify the location for the file to be saved to by selecting the &quot;WebDAV source&quot; or &quot;Local file&quot;
check-box. </p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Saving SQL in an XML Template" src="../images/ui/qry_sql_02.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.7.1.3. Saving SQL in an XML Template</td>
    </tr>
    </table>

<p>Click the &quot;Browse&quot; button. As result will be opened the Virtuoso WebDAV/File Browser
where you should define the XML template based on the SQL Query. Specify a
<strong>Root Element</strong> that will contain the resulting XML tree.
Specify the file name and location of the XML Template. </p>
  <br />
<a name="xqueryqueries" />
    <h4>6.2.7.2. XML Data Using XQuery</h4>
<p>
The Conductor Interactive XQuery facility allows you to create,
execute, save and reload queries using the evolving <a href="http://www.w3.org/TR/xquery/">W3C XML Query (XQuery) Language</a>.  
Virtuoso currently supports the 1.0 version of this language.
</p>
<p>
This language uses XPath-like expressions, as well as a set of
functions and operators, to permit effective parallel searching of a
set of XML documents.  Where XPath works with one XML &quot;tree&quot;, 
XQuery searches a &quot;forest&quot;.  The result is an XML document.
</p>
<p>
In order to create an XQuery you must both create the query statement
– by typing or pasting it into the text box – and specify
the document context.  Since Virtuoso&#39;s XQuery implementation operates
over XML data in relational tables, this means the tables and columns
that are to be searched.
</p>
<p>
Note that the XQuery language also allows a query to specify all or
part of the document context for the query.  In the example below we
will see how these can interact.  The user interface form permits you to 
select a table – either one of the XQuery test data tables that come 
with Virtuoso, or the WS.WS.SYS_DAV_RES table, which stores Virtuoso&#39;s WebDAV
Repository content.
</p>
<p>
The form specifies a <span class="computeroutput">Key Column</span> and a
<span class="computeroutput">Data Column</span>.  For the sample tables, the values
for these are filled in for you.  The <span class="computeroutput">Path</span> is
prepended to any <span class="computeroutput">document()</span> function specified in
the query text to find Key column values of XML trees against which
the query is to be run.
</p>
<p>
Once a query has been written and debugged, it can be saved by
pressing the Save button.  This brings you to the form for saving a
query as an XML Template in the DAV repository.
</p>
<p>
Pressing the Execute button causes the query result (an XML tree) to
be shown on the page below the Statement type-in box.
</p>
<a name="ex_xqtool" />
    <div class="example">
      <div class="exampletitle">XQuery Test File Example</div>
<p>
In this example, we will query the table XQuery test files table, with
&quot;name&quot; as the key column and &quot;text&quot; as the data
column.
</p>
<p>The query text, shown below, is a sample query from the W3C&#39;s
XML Query Use Cases document (<a href="http://www.w3.org/TR/xmlquery-use-cases">http://www.w3.org/TR/xmlquery-use-cases</a>).
This query contains a document() call specifying a document named
&quot;bib.xml&quot;.  In order to have the query run properly, we
first set the Path form value to &quot;xqdemo/&quot;.  This causes the
query to find all rows in the table XQ.XQ.TEST_FILES that have the
value &quot;xqdemo/bib.xml&quot; in their Name column.</p>
<div>
        <pre class="programlisting">
&lt;bib&gt;
   {
   for $b in document(&quot;bib.xml&quot;)/bib/book
   where $b/publisher = &quot;Addison-Wesley&quot; and $b/@year &gt; 1991
   return
      &lt;book year = {$b/@year}&gt;
         {$b/title}
      &lt;/book&gt;
   }
&lt;/bib&gt;
</pre>
      </div>
</div>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="XQuery Test File Results" src="../images/ui/qry_sql_02a.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.7.2.1. XQuery Test File Results</td>
    </tr>
    </table>
<br />
<br />





	<a name="replicationandsynchronization" />
    <h3>6.2.8. Replication &amp; Synchronization</h3>

	
		<a name="snapshotreplication" />
    <h4>6.2.8.1. Snapshot Replication</h4>
<ul>		
<p>Conductor &quot;Replication&quot; offers manage Virtuoso Replication. You are offered with &quot;Basic&quot;,
&quot;Incremental&quot;, &quot;Bidirectional Snapshot&quot; and &quot;Transactional&quot; sub-tabs.
</p>
<ul>
	<li>From <strong>Replication/Basic/Query(Table select)to local</strong> to replicate local table(s)
to another data source click <strong>Create New Snapshot</strong> and follow the wizard.
</li>
	<li>
To copy the changes from the local table to the remote select some replications and
press <strong>Synchronize</strong>
</li>
	<li>
To drop the replication definition without dropping the destination table select some replications and press
<strong>Remove</strong>
</li>
	<li>
To drop the replication definition and the destination table select some replications and
press <strong>Remove &amp; Drop Remote</strong>
</li>
	<li>
To copy the changes from the local table to the remote automatically select some
replications, enter minutes in <strong>Scheduled Interval</strong> and
press <strong>Schedule</strong>
</li>
	<li>
To remove scheduled update select the replications enter 0 in &quot;Scheduled Interval&quot; and press Schedule
</li>
</ul>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_01.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.1. Snapshot Replication</td>
     </tr>
      </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_add_01.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.2. Snapshot Replication</td>
     </tr>
      </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_add_02.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.3. Snapshot Replication</td>
     </tr>
      </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_add_03.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.4. Snapshot Replication</td>
     </tr>
      </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_add_05.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.5. Snapshot Replication</td>
     </tr>
      </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td>
            <img alt="Snapshot Replication" src="../images/ui/replt_ss_add_06.png" />
      </td>
     </tr>
     <tr>
          <td>Figure: 6.2.8.1.6. Snapshot Replication</td>
     </tr>
      </table>
</ul>          

	<br />

	
		<a name="transactionalreplication" />
    <h4>6.2.8.2. Transactional Replication</h4>
		
			<a name="publications" />
    <h5>6.2.8.2.1. Publications</h5>
<p>The Transaction Publication screen lists publications.  You can add, edit or 
remove publications as necessary, each time using the guide-lines of the wizard.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Publications" src="../images/ui/repltranspub001.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.1. Transaction Replication - Publications</td>
    </tr>
    </table>

<ul>
      <li>Add a new publication by clicking on the <strong>Create</strong> button.</li>
      <li>Edit an existing publication by clicking on publication name.</li>
      <li>Remove publications by selecting their checkbox and clicking on the 
  <strong>Delete</strong> button.  Use caution, as this action cannot be reverted.</li>
    </ul>

<p>When creating a new publication you must supply a name.  At this point 
you have the option to create an updateable publication - see the 
<a href="proctransrepl.html#bidirtransrepl">Bi-Directional Transactional Replication</a> 
section for more details - which allows updates to come from subscribers 
rather than being limited to originating from the publisher only.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - New Publication" src="../images/ui/repltranspub002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.2. Transaction Replication - New Publication</td>
    </tr>
    </table>

                <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - List of Publications" src="../images/ui/repltranspub002a.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.3. Transaction Replication - List of Publications</td>
    </tr>
    </table>

<p>Once a new publication has been made you can add database objects to 
it using the <strong>Add ...</strong> buttons, or remove them by selecting 
their checkbox and using the <strong>Remove</strong> button.  To add a 
new table to the publication click on <strong>Add Table/Procedure</strong>.
Follow the wizard by choosing the appropriate database/catalog by clicking on its name, 
you will then be presented with the tables within it.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Publish Tables and Procedures" src="../images/ui/repltranspub003.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.4. Transaction Replication - Publish Tables and Procedures</td>
    </tr>
    </table>

<p>Select the tables to publish using the checkboxes and press 
<strong>Add to Publication</strong> to add the tables and continue.</p>

<p>Once returned the publication screen, the published tables will be listed.  
Updatable publication will need conflict resolvers in case of conflicting data
arriving from a subscriber.  Click on the table name to manage the resolvers 
list.</p>

		<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Published Items" src="../images/ui/repltranspub004.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.5. Transaction Replication - Published Items</td>
    </tr>
    </table>

<p>Use the <strong>Add</strong>/<strong>Remove</strong> to add 
or remove selected resolvers.</p>

<p>Click on Publication Item -&gt; <strong>New Resolver</strong> to add a new resolver. You have the
following details to contend with:</p>

<ul>
    <li>
        <strong>Name Suffix</strong>
      <p>Conflict resolver name suffix.</p>
      </li>
    <li>
        <strong>Order</strong>
      <p>Resolver order number.</p>
      </li>
    <li>
        <strong>Type</strong>
      <p>The resolver type, one of: Insert, Update, or Delete for resolving 
	  such SQL queries.</p>
      </li>
    <li>
        <strong>Class</strong>
      <p>The kind of resolver.  Class can be one of the following:</p> 
<ul>
          <li>
            <strong>&#39;max&#39;</strong>
  row with maximum value of specified column wins</li>
          <li>
            <strong>&#39;min&#39;</strong>
  row with minimum value of specified column wins</li>
      <li>
            <strong>&#39;ave&#39;</strong>
  new value of specified column is calculated as: 
<span class="computeroutput">current_val = (current_val + new_val) / 2</span>
      </li>
      <li>
            <strong>&#39;add&#39;</strong>
  new value of specified column is calculated as: 
<span class="computeroutput">current_val = current_val + (new_val - old_val) </span>
      </li>
      <li>
            <strong>&#39;pub_wins&#39;</strong>
      </li>
          <li>
            <strong>&#39;custom&#39;</strong>
  publisher always wins</li>
          <li>
            <strong>&#39;sub_wins&#39;</strong>
  subscriber always wins</li>
        </ul>
</li>
    <li>
        <strong>Column</strong>
      <p>This should specify the column name if <span class="computeroutput">class</span> is not one of &#39;pub_wins&#39;, &#39;sub_wins&#39; or &#39;custom&#39;.</p>
      </li>
</ul>

		<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Resolvers" src="../images/ui/repltranspub006.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.6. Transaction Replication - Resolvers</td>
    </tr>
    </table>


    <p>Click on Publication -&gt; <strong>Advanced Options</strong> to set additional settings such as split size, default copy mode of publication item, etc.</p>
		<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Advanced" src="../images/ui/repltranspub005.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.1.7. Transaction Replication - Advanced</td>
    </tr>
    </table>

		<br />
		
			<a name="subscriptions" />
    <h5>6.2.8.2.2. Subscriptions</h5>
			<ul>
  <li>To add new subscription click at New Subscription and follow the wizard.</li>
  <li>Click Edit to change properties.</li>
  <li>To drop subscription click at link Drop.</li>
  <li>To synchronize subscription click the Sync button.</li>
  <li>To disconnect all subscriptions click at Disconnect all button.</li>
  <li>To load image file click at Load image button and follow the wizard.</li>
</ul>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Subscription" src="../images/ui/replt_trans_sub_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.2.1. Transaction Replication - Subscription</td>
    </tr>
    </table>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Transaction Replication - Subscription" src="../images/ui/replt_trans_sub_02.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.8.2.2.2. Transaction Replication - Subscription</td>
    </tr>
    </table>

		<br />
		<br />
<br />




	
		<a name="dbadmin" />
    <h3>6.2.9. Database Administration</h3>
      	
      		<a name="dbusersandgroups" />
    <h4>6.2.9.1. Users &amp; Group Accounts</h4>
		<p>
From System Admin / user Accounts you can alter the users that can access the Virtuoso database. You may
add a new user by clicking the &quot;Create New Account&quot; link, edit an existing user, or delete users.
You can associate users with groups or make new groups.
</p>
		<p>
Groups are created and function like normal user accounts.  To define a group you simply create a new user, and then to make
use of the group you assign users to that group from the drop down which will contain available groups.
</p>
		<p>
To create a new user or group you must enter a username, password and confirm the password by retyping it in the
fields provided.  You may optionally specify a group and default qualifier.  You can use groups to control access to a set of users
by maintaining the permissions granted to the group for which they are members.  Specifying a default qualifier
allows you to specify the catalog or database for which queries will be run against that do not explicitly
refer to a particular catalog or database.
</p>
		<p>
You can import users by adding LDAP Servers(s) from the &quot;LDAP Servers&quot; tab, and then from the &quot;LDAP Import&quot; to specify from
which LDAP server the import should be done:</p>

    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Users Accounts" src="../images/ui/admtables_01a.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.1.1. Users Accounts</td>
    </tr>
    </table>

        <a name="dbusersandgroupsldap" />
    <h5>6.2.9.1.2. Configuring and import from LDAP server</h5>
<p>The following steps describe how to configure LDAP server and then import user(s) using the Conducor UI:</p>        
<ol>
      <li>Go to http://cname:port/conductor</li>
      <li>Enter user dba credentials</li>
      <li>Go to System Admin -&gt; User Accounts -&gt; LDAP Servers
     <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap1.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>
	 </li>
      <li>Enter in the LDAP servers form respectively:
     <ol>
          <li>Host Name: for ex.: ldap.example.com
         <p>Note: you can also use ldap:// or ldaps:// in front of Host name</p>
       </li>
          <li>Base: for ex.: o=MyCompany,c=DE</li>
          <li>Base DN: for ex: ou=Accounts,o=MyCompany,c=DE</li>
          <li>UID field: uid</li>
          <li>Account: for ex: joe</li>
          <li>Password: *******</li>
          <li>LDAP version: choose for ex. 3</li>
        </ol>
	 </li>
      <li>Check the connection by pressing &quot;Test&quot;:
	   <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap2.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>	
	 </li>
      <li>If the test connection is successful, click &quot;Add&quot;.
	   <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap3.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>	   	
   </li>
      <li>Next you can import various data from your LDAP server.</li>
      <li>Go to System Admin -&gt; User Accounts -&gt; LDAP Import
   	<table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap3a.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>
   </li>
      <li>Select the LDAP server added from above:  
   	 <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap4.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>   	
   </li>
      <li>Click &quot;Search&quot;.
   	 <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap5.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>   	
   </li>
      <li>Click &quot;Next&quot;.
   	 <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap6.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>   	
   </li>
      <li>Select the desired profiles to be imported and click &quot;Import&quot;.
   	 <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap7.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>   	
   </li>
      <li>Click &quot;Finish&quot;.</li>
      <li>The imported profile(s) should be displayed in the Users tab:
   	 <table class="figure" border="0" cellpadding="0" cellspacing="0">
      <tr>
       <td>
              <img alt="LDAP Servers Configure and Import" src="../images/ui/ldap8.png" />
       </td>
      </tr>
      <tr>
            <td>Figure: 6.2.9.1.2.1. LDAP Servers Configure and Import</td>
      </tr>
        </table>   	
   </li>
    </ol>
        <br />
      	<br />

      	
      		<a name="databases" />
    <h4>6.2.9.2. Databases</h4>
    <p>
Each catalog (database) within Virtuoso will be listed under the Databases /Schema Objects. For each
catalog you will be able to view and in some cases edit details about the tables, views, triggers,
and store procedures stored within that catalog.</p>

    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Viewing Tables details for the Demo catalogue in the Demo Database" src="../images/ui/admtables_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.1. Viewing Tables details for the Demo catalogue in the Demo Database</td>
    </tr>
    </table>

    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Viewing Views details for the Demo catalogue in the Demo Database" src="../images/ui/admviews_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.2. Viewing Views details for the Demo catalogue in the Demo Database</td>
    </tr>
    </table>
    	
	  <a name="demodbinstallsteps" />
    <h5>6.2.9.2.3. Demo Database Installation</h5>
          <p>The Virtuoso Demonstration database can be installed with the Conductor by navigating to
the &quot;System Admin&quot; -&gt; &quot;Packages&quot; tab where a list of available Virtuoso applications are
displayed, one of which is for the &quot;Demo&quot; database package as shown below:
          </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Install Demo db using Conductor UI: &quot;System Admin&quot; -&gt; &quot;Packages&quot;" src="../images/ui/demodbinstall_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.3.1. Install Demo db using Conductor UI: &quot;System Admin&quot; -&gt; &quot;Packages&quot;</td>
    </tr>
    </table>
          <p>Select the &quot;Demo&quot; package and click on the &quot;Install&quot; button to commence the
installation process:
          </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Install Demo db: confirmation" src="../images/ui/demodbinstall_02.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.3.2. Install Demo db: confirmation</td>
    </tr>
    </table>
          <p>Click on the &quot;proceed&quot; button to install the indicated &quot;Demo Database&quot;
application package:
          </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Install Demo db: proceed" src="../images/ui/demodbinstall_03.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.3.3. Install Demo db: proceed</td>
    </tr>
    </table>
          <p>Once installed the demo database schema can be viewed from the
&quot;Database&quot; -&gt; &quot;Schema Objects&quot; tab of the Conductor:
          </p>
          <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Install Demo db: view schema objects" src="../images/ui/demodbinstall_04.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.3.4. Install Demo db: view schema objects</td>
    </tr>
    </table>
    	<br />
     	
	      		<a name="triggers" />
    <h5>6.2.9.2.4. Editing Triggers</h5>
	<p>
	For each table, Virtuoso gives you the ability to edit the
	triggers linked to that table, as well as adding new triggers.
	The link text &quot;Triggers&quot; is followed by a number in parentheses
	that tells you how many triggers exist associated with that
	table.  If no number is shown, there are no triggers.  Clicking on
	the text takes you to the trigger edit page.
	</p>

  <p>
  The triggers page shows you the name of each trigger, an excerpt
  from the text of the trigger, and permits you to edit or drop the
  triggers. In the last column of the shown form there is a &quot;New Trigger&quot; link for creation of a new trigger.
  </p>
 <br />

	
	<a name="storedprocedures" />
    <h5>6.2.9.2.5. Editing Stored Procedures</h5>
	<p>
	The stored procedures link shows a page of information about
	existing stored procedures for the database you are viewing.  If
	there are stored procedures, you can see their names and text
	excerpts, and you may edit or drop them.  Adding new stored
	procedures can be done via the ISQL command-line interface or from the &quot;Create Procedure&quot; link shown
        above the list of objects for the relevant database.
	</p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Viewing Stored Procedures details for the DB catalogue" src="../images/ui/admprocedures_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.2.5.1. Viewing Stored Procedures details for the DB catalogue</td>
    </tr>
    </table>
        <p>
	Stored procedures may also refer to modules that contain a group
	of related stored procedures.  These are created and edited as a
	group, rather than individually.  An example of this is the module
	DB.DBA.AmazonSearchService, which contains procedures such as
	KeywordSearchRequest() and BrowseNodeSearchRequest().</p>

			<br />
			<br />
      	
      		<a name="externaldatabases" />
    <h4>6.2.9.3. External Data Sources</h4>
		<p>
		From Database / External Data Sources you will be able to manage the Virtual Database
                feature of Virtuoso. You are able to administer ODBC Data Sources, how to link remote
                tables and view, and already linked remote connections.</p>

   	
	      		<a name="connecteddsns" />
    <h5>6.2.9.3.1. Data Sources</h5>
			<p>
			This tab shows you the available Data Sources. For these one, to which there is no
connection, will be shown the link&quot;Connect&quot;. For the datasource for which there is already established
connection, will be shown the links &quot;Link objects&quot;, &quot;Change Credentials&quot; and &quot;Disconnect&quot;.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Remote Datasources connected to Virtuoso" src="../images/ui/rmtconnected_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.1.1. Remote Datasources connected to Virtuoso</td>
    </tr>
    </table>
			<p>
			If you need to alter the authentication details of a particular Data
			Source then select the &quot;Change Credentials&quot; link. If you want to link new objects,
select the &quot;Link objects&quot; link.</p>
		<br />
   	<a name="configureddsns" />
    <h5>6.2.9.3.2. Configure Data Sources</h5>
			<p>
			This section will allow you to configure the data sources themselves on
			the remote machine.  The table that will be presented to you will
			contain both User and System data sources.  You will be able to edit
			and create either User or System data sources, however, Virtuoso will
			only be able to use the User data sources that belong to the user that
			started the Virtuoso Server.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Configuring ODBC Datasources" src="../images/ui/odbcadm_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.2.1. Configuring ODBC Datasources</td>
    </tr>
    </table>

      <p>Follow the buttons on the screen as to how you want to manage a data
			source.  You can create new, edit or remove existing data sources.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Configuring A Virtuoso ODBC Datasources" src="../images/ui/virtdsn_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.2.2. Configuring A Virtuoso ODBC Datasources</td>
    </tr>
    </table>

      <p>The Virtuoso Server can make use of File Data Sources too.  This 
      provides the usual associated conveniences.  These enable you to migrate 
      a Virtuoso database to another machine hosting the same ODBC Driver, 
      Virtuoso then has enough information to connect using the installed 
      driver to a remote data source, the tables would not need to be 
      relinked.  File DSN&#39;s are read from server&#39;s root directory.  File DSN&#39;s can 
      only be read if this directory is contained in the Virtuoso INI file parameter 
      DirsAllows.</p>

      <div class="note">
      <div class="notetitle">Note:</div>
      <p>Windows NT or 2000 services by default start as the LocalSystem 
      special user account.  This account will not contain the same User DSNs 
      as your own user.  The Virtuoso service can be started with other users 
      but you must be aware of any possible system permission problems.  It is 
      recommended that Virtuoso make use of System or File DSNs wherever 
      possible.</p>
    </div>


		<br />

   	<a name="remotetables" />
    <h5>6.2.9.3.3. External Linked Objects</h5>
			<p>
			This page will allow you to manage the remote objects that are linked
			into Virtuoso. You can unlink objects by selecting them and pressing the
			&quot;Unlink selected&quot; button. </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Linking Tables from Remote Datasources" src="../images/ui/admrmttbls_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.3.1. Linking Tables from Remote Datasources</td>
    </tr>
    </table>
			<p>
			To link new tables into Virtuoso select &quot;Link objects&quot; link or go to
                        the &quot;Data Sources&quot; tab.
			Click the &quot;Connect&quot; link for a data source. If this data source has been used
                        before then the existing authentication details will automatically be provided.
                        Otherwise you will have to provide these details in the username and password fields provided.
			When you are ready press the &quot;Link objects&quot; link.</p>
			<p>
			As results you should be presented with list of available
			remote tables and optionally views and procedures. If the connection fails then an
			error will be returned to the top of the page instead.  You should be
			able to link any of the listed tables or views into Virtuoso.  In order
			for Virtuoso to be able to correctly query the underlying table it needs
			to be able to uniquely identify each row (record) within the table or
			view.  Tables should always be created with a primary key, and details
			of which should be available from the data source.  With a primary key
			available Virtuoso will be able to link the table in to the server easily.
			In some cases and certainly in the case of views Virtuoso may not be
			able to determine a primary key or what constitutes uniqueness in the
			table.  On the right most column will be an action link to a page that
			allows you to alter the primary key information about the table or view
			that is to be linked.  Some primary key information is italized to indicate 
			the explicit definition of a primary key.</p>
			<p>
			You will be required to enter primary key information for views before
			they can be linked.</p>
			<p>Select the tables that you want to link into the Virtuoso Server
			by checking the check box on the left most column of the list for table
			or view in question. When you are ready press the <strong>Link ...
			</strong> button at the bottom of the page.</p>
			<p>
			As result the selected tables will be linked and
			listed in the first list as Currently Linked.</p>
		<br />

     	<a name="remoteprocedures" />
    <h5>6.2.9.3.4. Remote Procedures</h5>
			<p>
			In order to view the list of remote procedures, you should check the &quot;Stored Procedures&quot; check-box and click the button &quot;Apply&quot;.
                        As result the procedures that are already connected to
			Virtuoso will be shown with checked check-box. You can unlink these by selecting them and pressing the
			<strong>Unlink</strong> button.</p>

      <p>To link new procedures into Virtuoso select the Data Source from
      the list of available n t ab &quot;Data Sources&quot;. If this data source has been used before then the existing
      authentication details will automatically be provided.  Otherwise you 
      will have to provide these details in the username and password fields 
      provided. When you are ready press the <strong>Link Objects</strong> link.
      The page will next require you to select the catalog/owner combination 
      to refine the search list of procedures on the remote datasource. Check the
      check-box &quot;Stored procedures&quot; and click the &quot;Apply&quot; button to list the available stored procedures.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Linking Procedures from Remote Datasources" src="../images/ui/admrmtprocs002.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.4.1. Linking Procedures from Remote Datasources</td>
    </tr>
    </table>

      <p>When the page returns you will be presented with a list of 
      available remote procedures.  You should be able to link any of the listed 
      procedures into Virtuoso.</p>  

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Linking Procedures from Remote Datasources" src="../images/ui/admrmtprocs003.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.4.2. Linking Procedures from Remote Datasources</td>
    </tr>
    </table>

      <p>Select the procedures that you want to link into the Virtuoso Server
			by checking the check box on the left most column of the list for the 
			procedure in question. When you are ready press the <strong>Link ...
			</strong> button at the bottom of the page.</p>

      <p>You will be presented with a new page that lists the procedures chosen 
      and the data type information regarding them.  This gives you an opportunity  
      to alter the  data type mappings that Virtuoso will use both internally and 
      for any future interactions with the SOAP server.  If you do not want to
      specify any special type information the details can be left as default.</p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Linking Procedures from Remote Datasources" src="../images/ui/admrmtprocs004.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.3.4.3. Linking Procedures from Remote Datasources</td>
    </tr>
    </table>

      <p>For each remote procedure you have the option to change how they 
      will be referenced within Virtuoso by making changes to the fields for 
      <strong>Local Name</strong>, <strong>Database</strong>, and 
      <strong>Schema</strong>.  These fields define how you will find the 
      linked procedure locally to Virtuoso only and do not affect the remote 
      data source.</p>
      
      <p>For each procedure there are radio buttons for selecting the 
      <strong>PL Wrapper Requirements</strong>.  This option is of particular 
      importance for remote procedures capable of returning a resultset.  Remote 
      procedures can be linked using a Virtuoso PL wrapper meaning that Virtuoso 
      procedure language code provides a mechanism for negotiating the result set.  
      The available options are:</p>
      <ul>
      <li>
        <strong>Soap Execution</strong> - Generates a PL wrapper 
          that can be published to Web Services.</li>
      <li>
        <strong>SQL Execution</strong> - Generates a PL Wrapper 
          that is more suitable for general SQL use.</li>
      <li>
        <strong>None</strong> - Does not generate and PL Wrapper 
          code and simply links the procedure by reference.</li>
    </ul>

      <p>There is a description input box for you to write a description or 
      comment for the linked procedure.  This comment will only be applicable to 
      procedures that are linked using a PL Wrapper, and is only directly 
      applicable for PL Wrappers for SOAP execution.</p>

		<br />
<br />

 	<a name="eventscheduler" />
    <h4>6.2.9.4. Event Scheduler</h4>
		<p>
		The System Admin / Scheduler tab allows you to view, edit and remove events that
		can be scheduled to run from a particular time at a defined interval.</p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Event Scheduler" src="../images/ui/admevt_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.4.1. Event Scheduler</td>
    </tr>
    </table>
		<p>
		To add a new scheduled event click the &quot;Create New Event&quot; link in tha last column of the shown form.
		The Event Name is a unique name required to uniquely identify each event. Start
		Time is when the event will be run for the first time and takes the form
		of a normal SQL timestamp value. Interval(minutes) is the length of time in minutes
		to wait to run the event again.  SQL is a valid piece of SQL that you want
		to schedule to run. You can also check for &quot;Enable Error Notification&quot; and enter E-Mail for
                error notification.</p>
    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Event Scheduler" src="../images/ui/admevt_01a.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.4.2. Event Scheduler</td>
    </tr>
    </table>
		<p>
		Events write possible error messages into the Virtuoso log file.</p>
  <br />



  

    <a name="virtiniadm" />
    <h4>6.2.9.5. Virtuoso Configuration Editor</h4>
     <p>From System Admin/Parameters you can change the Virtuoso Configuration settings:
     </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.1. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

         <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_02.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.2. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_03.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.3. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_04.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.4. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_05.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.5. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_06.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.6. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Virtuoso (virtuoso.ini) Configuration File Editor" src="../images/ui/db_strtp_07.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.5.7. Virtuoso (virtuoso.ini) Configuration File Editor</td>
    </tr>
    </table>

   <br />

      	<a name="statistics" />
    <h4>6.2.9.6. Dashboard and Monitor</h4>
<p>The System Admin/Dashboard consists of a collection of statistical information about
your Virtuoso server. This includes general licensing information, locking, webserver hits statistics and more.
     </p>
        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Dashboard" src="../images/ui/sts_dsk_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.6.1. Dashboard</td>
    </tr>
    </table>
<p>The System Admin/Monitor shows in details statistical information about your server.
     </p>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Monitor - General Information" src="../images/ui/sts_gen_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.6.2. Monitor - General Information</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Monitor - HTTP Usage" src="../images/ui/sts_httpsvr_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.6.3. Monitor - HTTP Usage</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Monitor - Index Usage" src="../images/ui/sts_idx_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.6.4. Monitor - Index Usage</td>
    </tr>
    </table>

        <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Monitor - Profiling" src="../images/ui/sts_profile_01.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.9.6.5. Monitor - Profiling</td>
    </tr>
    </table>

		<br />

<br />






<a name="rdfadm" />
    <h3>6.2.10. Conductor Linked Data Administration</h3>
  <p>From Conductor the Linked Data tab allows you to execute/save/load SPARQL queries, 
	to add/edit RDF Mapping, to perform statistics and manage graphs, 
	to import schemas and define namespaces, to generated Linked Data Views and to upload to the Quad Store.
	</p>
  <a name="rdfadmsparql" />
    <h4>6.2.10.1. SPARQL</h4>  
    <a name="rdfadmsparqlex" />
    <h5>6.2.10.1.1. Query</h5>  
	    <p>&quot;SPARQL -&gt; Query&quot; offers form form SPARQL query execution:</p>
	    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.1.1.1. RDF</td>
    </tr>
    </table>
	    <p>Also you can save the results in a query or load such:</p>
	    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf1.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.1.1.2. RDF</td>
    </tr>
    </table>
	  <br />
	  <a name="rdfadmsparqlqr" />
    <h5>6.2.10.1.2. Saved Queries</h5>  
	    <p>&quot;SPARQL -&gt; Saved Queries&quot; offers list of saved queries, which can be opened in the &quot;Query&quot; tab
	    	in order to be executed:</p>
	    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf2.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.1.2.1. RDF</td>
    </tr>
    </table>	 
	  <br />  
	<br />
	<a name="rdfadmsponger" />
    <h4>6.2.10.2. Sponger</h4>
	  <p />
	  <a name="rdfadmspongerexcatr" />
    <h5>6.2.10.2.1. Extractor Cartridges</h5>  
	    <p>Shows list of available extractor cartridges. They can be re-ordered by place 
	    of appearance, edit or deleted:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf3.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.1.1. RDF</td>
    </tr>
    </table>  
	    <p>You can also add a new extractor cartridge:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf4.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.1.2. RDF</td>
    </tr>
    </table>  	    
	  <br />  	  
	  <a name="rdfadmspongermtcatr" />
    <h5>6.2.10.2.2. Meta Cartridges</h5>  
      <p>Shows list of available meta cartridges. They can be re-ordered by place 
	    of appearance, edit or deleted:</p>	 
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf5.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.2.1. RDF</td>
    </tr>
    </table>	
	    <p>You can also add a new meta cartridge:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf6.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.2.2. RDF</td>
    </tr>
    </table>  	         
	  <br />  	  
	  <a name="rdfadmspongerstsh" />
    <h5>6.2.10.2.3. Stylesheets</h5>  
	    <p>Shows list of available stylesheets for processing cartridges. From here you 
	    	can manage these stylesheets by adding new, editing existing ones or deleting them:</p>	
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf7.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.3.1. RDF</td>
    </tr>
    </table> 	    	
	  <br />  	  
	  <a name="rdfadmspongercons" />
    <h5>6.2.10.2.4. Console</h5>  
	     <p>Offers tracking cartridges exection. By default is off. When enabled, shows list of 
	     	sessions per cartridge:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf8.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.4.1. RDF</td>
    </tr>
    </table> 	     	
	  <br />  	  
	  <a name="rdfadmspongerconf" />
    <h5>6.2.10.2.5. Configuration</h5>  
	    <p>Offers creation of secure endpoints for pre-defiend vitual host:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf9.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.2.5.1. RDF</td>
    </tr>
    </table>	    
	  <br />  	  
	<br />
	<a name="rdfadmstatst" />
    <h4>6.2.10.3. Statistics</h4>
	  <p>Offers interface for <a href="fn_rdf_void_store.html">DB.DBA.RDF_VOID_STORE(graph, to_graph)</a>. In the new graph ( field &quot;Publish to&quot;) 
	  	will be saved the VoID statistics data when generated:</p>
	  <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf14.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.3.1. RDF</td>
    </tr>
    </table>		  
	  <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf15.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.3.2. RDF</td>
    </tr>
    </table>	
	<br />
	<a name="rdfadmgraphs" />
    <h4>6.2.10.4. Graphs</h4>
	  <p>&quot;Graphs&quot; tab shows list of current graphs in the RDF Quad Store. From here 
	  day can be renamed or deleted:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf10.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.4.1. RDF</td>
    </tr>
    </table>	  
	<br />
	<a name="rdfadmschemas" />
    <h4>6.2.10.5. Schemas</h4>
	  <p>Shows list of available schemas IRI-s and offers a new schema IRI to be imported:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf11.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.5.1. RDF</td>
    </tr>
    </table>	  	  
	<br />
	<a name="rdfadmnamesp" />
    <h4>6.2.10.6. Namespaces</h4>
	  <p>Shows list of namespace prefixes and offers a new namespace prefix to be imported:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf12.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.6.1. RDF</td>
    </tr>
    </table>	  	  
	<br />
	<a name="rdfadmacl" />
    <h4>6.2.10.7. Access Control</h4>
	  <a name="rdfadmaclsponger" />
    <h5>6.2.10.7.1. Sponger</h5>
	    <p>Manage Sponger rules by adding new ones, deleting, re-ordering, etc.</p>
		  <p>This tab is available only when the 
	    <a href="http://s3.amazonaws.com/opldownload/uda/vad-packages/6.1/virtuoso/rdf_mappers_dav.vad">rdf_mappers_dav.vad</a> 
	    is installed.</p>	
	    <table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf19.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.7.1.1. RDF</td>
    </tr>
    </table>
	  <br />  
	  <a name="rdfadmaclsparqlssl" />
    <h5>6.2.10.7.2. SPARQL-SSL</h5>
	  <p>Here you can manage different WebID Protocol ACLs WebID ACL by granting 
	  	SPARQL Roles such as &quot;SELECT&quot;, &quot;UPDATE&quot;, &quot;SPONGE&quot;:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf18.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.7.2.1. RDF</td>
    </tr>
    </table>	
	  <div class="tip">
      <div class="tiptitle">See Also:</div> 
	      <p>
        <a href="rdfsparql.html#sparqwebservicetbl">Managing a SPARQL Web Service Endpoint</a>
      </p>
	      <p>
        <a href="rdfsparql.html#sparqloauthendpointfoafssl">WebID Protocol ACLs</a>
      </p>
	      <p>
        <a href="rdfsparql.html#sparqloauthendpointfoafsslsparql">Creating and Using a SPARQL-SSL based Endpoint</a>
      </p>
	      <p>
        <a href="rdfsparql.html#rdfsparqlendpointexamples3">Example with curl and SPARQL-SSL endpoint</a>
      </p>
	    </div>
	  <br />	  
	<br />
	<a name="rdfadmviews" />
    <h4>6.2.10.8. Views</h4>
	  <p>Virtuoso uses a SPARQL-based Meta Schema Language to provide RDBMS-to-RDF mapping 
	  	functionality (also described as, RDF Views of SQL data). The language is an extension of the 
	  	SPARQL query language meshed with Virtuoso&#39;s SPASQL (SPARQL-inside-SQL) functionality. The 
	  	language enables you to declaratively map relational database schema tables, columns, rows, 
	  	and foreign key relationships to Classes, Attributes, Relationships, and Instances 
	  	(Objects/Entities/Individuals) defined by RDF Schemas or OWL Ontologies. The mapping 
	  	process uses a special built-in Virtuoso function to generate IRIs / URIs in &quot;Subject&quot; 
	  	or &quot;Object&quot; position of a SPARQL graph pattern, en route to building a set of SQL compiler 
	  	rules and optimizations for translating SPARQL queries into SQL on the fly.</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf13.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.8.1. RDF</td>
    </tr>
    </table>		  	
	    <div class="tip">
      <div class="tiptitle">See Also:</div> 
	      <p>
        <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSSQL2RDF#Mapping%20Process">Mapping Process steps.</a>
      </p>
	      <p>
        <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSSQL2RDF#Mapping%20Example">Mapping Example.</a>
      </p>
	      <p>
        <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSSQL2RDF">Mapping SQL Data to RDF.</a>
      </p>	      
	      <p>
        <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRdb2RDFViewsGeneration">Automated Generation of RDF Views over Relational Data Sources with Virtuoso.</a>
      </p>	      	      
	    </div>
	<br />
	<a name="rdfadm" />
    <h4>6.2.10.9. Quad Store Upoload</h4>
	  <p>Offers upload to Quad Store from file or Resource URL:</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="RDF" src="../images/rdf16.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.9.1. RDF</td>
    </tr>
    </table>		 	  
	<br />
	<a name="rdfadm" />
    <h4>6.2.10.10. Subscriptions (PHSB)</h4>
	  <p>This tab is available only when the 
	    <a href="http://s3.amazonaws.com/opldownload/uda/vad-packages/6.1/virtuoso/pubsubhub_dav.vad">pubsubhub_dav.vad</a> 
	    is installed.</p>	    
	  <p>Offers Virtuoso&#39;s implementation of the <a href="http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html">PubSubHubBub Protocol</a> to handle Linked Data 
	  	by subscribing to Linked Data resource URIs.</p>
	  	<table class="figure" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td>
          <img alt="Subscriptions (PHSB)" src="../images/rdf17.png" />
     </td>
    </tr>
    <tr>
        <td>Figure: 6.2.10.10.1. Subscriptions (PHSB)</td>
    </tr>
    </table>			  
	  <p>Note: the Hub endpoint should be defined ACL in System Admin -&gt; Security -&gt; Access Control -&gt; PSH-SLL</p>
    <div class="tip">
      <div class="tiptitle">See Also:</div>	    
      <p>
        <a href="http://ods.openlinksw.com/wiki/ODS/VirtPubSubHub">Example of Linked Data Usage of PubSubHubbub Implementation.</a>
      </p>
      <p>
        <a href="http://ods.openlinksw.com/wiki/ODS/VirtFeedPubSubHub">Feed subscription via PubSubHub Protocol.</a>
      </p>
      <p>
        <a href="http://ods.openlinksw.com/wiki/ODS/VirtODSPubSubHub">Setting up PubSubHub in ODS.</a>
      </p>
      <p>
        <a href="http://ods.openlinksw.com/wiki/ODS/VirtAuthPolicyFOAFSSL">WebID Protocol ACLs Tutorial.</a>
      </p>
    </div>
	<br />
<br />


<table border="0" width="90%" id="navbarbottom">
    <tr>
        <td align="left" width="33%">
          <a href="databaseadmsrv.html" title="Database Server Administration">Previous</a>
          <br />Database Server Administration</td>
     <td align="center" width="34%">
          <a href="server.html">Chapter Contents</a>
     </td>
        <td align="right" width="33%">
          <a href="fault.html" title="Virtuoso Cluster Fault Tolerance">Next</a>
          <br />Virtuoso Cluster Fault Tolerance</td>
    </tr>
    </table>
  </div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>