<docbook><section><title>VirtRDFViewsSybasePubs2DbScript</title><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Sybase PUBS2 Linked Data Views Script to set up your own instance</bridgehead>
<programlisting>
-- Setup script for Linked Data Views of Sybase 15 PUBS2 Sample Database --

GRANT SELECT ON pubs2.syb.au_pix TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.authors TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.discounts TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.publishers TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.roysched TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.sales TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.salesdetail TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.stores TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.titleauthor TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;
GRANT SELECT ON pubs2.syb.titles TO &quot;SPARQL&quot;, &quot;SPARQL_UPDATE&quot;;

-------------------------------------------------------------------

-------- Create rdfs:Class definitions ----------------------------

ttlp (
&#39;
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
@prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; .
@prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .

@prefix syb: &lt;http://localhost:8890/schemas/sybasepubs2/&gt; .

syb:titles a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;titles&quot; ;
	rdfs:comment &quot;Sybase Pubs2 titles table&quot; .
	
syb:title_id a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:string ;
	rdfs:label &quot;title id&quot; .
	
syb:title a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:string ;
	rdfs:label &quot;title&quot; .
	
syb:type a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:string ;
	rdfs:label &quot;type&quot; .
	
syb:pub_id a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range syb:publishers ;
	rdfs:label &quot;pub_id&quot; .
	
syb:advance a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:decimal ;
	rdfs:label &quot;advance&quot; .

syb:price a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:decimal ;
	rdfs:label &quot;price&quot; .

syb:total_sales a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;total_sales&quot; .

syb:notes a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:string ;
	rdfs:label &quot;notes&quot; .

syb:contract a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;contract&quot; .

syb:pubdate a rdf:Property ;
	rdfs:domain syb:titles ;
	rdfs:range xsd:dateTime ;
	rdfs:label &quot;publish date&quot; .

syb:authors a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;authors&quot; ;
	rdfs:comment &quot;Sybase Pubs2 authors table&quot; .
	
syb:au_id a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;author id&quot; .
	
syb:au_lname a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;author last name&quot; .
	
syb:au_fname a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;author first name&quot; .
	
syb:phone a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;phone number&quot; .
	
syb:address a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;address&quot; .

syb:city a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;city&quot; .

syb:state a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;state&quot; .

syb:country a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;country&quot; .

syb:postalcode a rdf:Property ;
	rdfs:domain syb:authors ;
	rdfs:range xsd:string ;
	rdfs:label &quot;postalcode&quot; .

syb:stores a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;stores&quot; ;
	rdfs:comment &quot;Sybase Pubs2 stores table&quot; .

syb:stor_id a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;store id&quot; .

syb:stor_name a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;store name&quot; .

syb:stor_address a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;store address&quot; .

syb:city a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;city&quot; .

syb:state a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;state&quot; .

syb:country a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;country&quot; .

syb:postalcode a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;postal code&quot; .

syb:payterms a rdf:Property ;
	rdfs:domain syb:stores ;
	rdfs:range xsd:string ;
	rdfs:label &quot;payment terms&quot; .

syb:au_pix a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;authors pictures&quot; ;
	rdfs:comment &quot;Sybase Pubs2 au_pix table&quot; .

syb:au_id a rdf:Property ;
	rdfs:domain syb:au_pix ;
	rdfs:range syb:authors ;
	rdfs:label &quot;author id&quot; .

syb:format_type a rdf:Property ;
	rdfs:domain syb:au_pix ;
	rdfs:range xsd:string ;
	rdfs:label &quot;format type&quot; .

syb:bytesize a rdf:Property ;
	rdfs:domain syb:au_pix ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;byte size&quot; .

syb:pixwidth_hor a rdf:Property ;
	rdfs:domain syb:au_pix ;
	rdfs:range xsd:string ;
	rdfs:label &quot;picture horizontal width&quot; .

syb:pixwidth_vert a rdf:Property ;
	rdfs:domain syb:au_pix ;
	rdfs:range xsd:string ;
	rdfs:label &quot;picture vertical width&quot; .

syb:discounts a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;discounts&quot; ;
	rdfs:comment &quot;Sybase Pubs2 discount table&quot; .

syb:discounttype a rdf:Property ;
	rdfs:domain syb:discounts ;
	rdfs:range xsd:string ;
	rdfs:label &quot;discounttype&quot; .

syb:stor_id a rdf:Property ;
	rdfs:domain syb:discounts ;
	rdfs:range syb:stores ;
	rdfs:label &quot;store id&quot; .

syb:lowqty a rdf:Property ;
	rdfs:domain syb:discounts ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;min quantity&quot; .

syb:highqty a rdf:Property ;
	rdfs:domain syb:discounts ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;max quantity&quot; .

syb:discount a rdf:Property ;
	rdfs:domain syb:discounts ;
	rdfs:range xsd:decimal ;
	rdfs:label &quot;min quantity&quot; .

syb:salesdetail a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;sales details&quot; ;
	rdfs:comment &quot;Sybase Pubs2 sales detail table&quot; .

syb:store_id a rdf:Property ;
	rdfs:domain syb:salesdetail ;
	rdfs:range syb:stores ;
	rdfs:label &quot;store id&quot; .

syb:ord_num a rdf:Property ;
	rdfs:domain syb:salesdetail ;
	rdfs:range syb:sales ;
	rdfs:label &quot;order number&quot; .

syb:title_id a rdf:Property ;
	rdfs:domain syb:salesdetail ;
	rdfs:range syb:titles ;
	rdfs:label &quot;title id&quot; .

syb:qty a rdf:Property ;
	rdfs:domain syb:salesdetail ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;quantity&quot; .

syb:discount a rdf:Property ;
	rdfs:domain syb:salesdetail ;
	rdfs:range xsd:decimal ;
	rdfs:label &quot;discount&quot; .

syb:publishers a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;Publishers&quot; ;
	rdfs:comment &quot;Sybase Pubs2 publishers table&quot; .

syb:pub_id a rdf:Property ;
	rdfs:domain syb:publishers ;
	rdfs:range xsd:string ;
	rdfs:label &quot;publisher id&quot; .

syb:pub_name a rdf:Property ;
	rdfs:domain syb:publishers ;
	rdfs:range xsd:string ;
	rdfs:label &quot;publisher name&quot; .

syb:city a rdf:Property ;
	rdfs:domain syb:publishers ;
	rdfs:range xsd:string ;
	rdfs:label &quot;city&quot; .

syb:state a rdf:Property ;
	rdfs:domain syb:publishers ;
	rdfs:range xsd:string ;
	rdfs:label &quot;state&quot; .

syb:titleauthor a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;title author&quot; ;
	rdfs:comment &quot;Sybase Pubs2 titleauthor table&quot; .

syb:au_id a rdf:Property ;
	rdfs:domain syb:titleauthor ;
	rdfs:range syb:authors ;
	rdfs:label &quot;author id&quot; .

syb:title_id a rdf:Property ;
	rdfs:domain syb:titleauthor ;
	rdfs:range syb:titles ;
	rdfs:label &quot;title id&quot; .

syb:au_ord a rdf:Property ;
	rdfs:domain syb:titleauthor ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;author order&quot; .

syb:royaltyper a rdf:Property ;
	rdfs:domain syb:titleauthor ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;royalty per book&quot; .

syb:roysched a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;Royalty Schedule&quot; ;
	rdfs:comment &quot;Sybase Pubs2 roysched table&quot; .

syb:title_id a rdf:Property ;
	rdfs:domain syb:roysched ;
	rdfs:range syb:titles ;
	rdfs:label &quot;title id&quot; .

syb:lorange a rdf:Property ;
	rdfs:domain syb:roysched ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;low range&quot; .

syb:hirange a rdf:Property ;
	rdfs:domain syb:roysched ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;high range&quot; .

syb:royalty a rdf:Property ;
	rdfs:domain syb:roysched ;
	rdfs:range xsd:integer ;
	rdfs:label &quot;royalty&quot; .

syb:sales a rdfs:Class ;
	rdfs:isDefinedBy &lt;http://localhost:8890/schemas/sybasepubs2&gt; ;
	rdfs:label &quot;Sales&quot; ;
	rdfs:comment &quot;Sybase Pubs2 sales table&quot; .

syb:stor_id a rdf:Property ;
	rdfs:domain syb:sales ;
	rdfs:range xsd:string ;
	rdfs:label &quot;store id&quot; .

syb:ord_num a rdf:Property ;
	rdfs:domain syb:sales ;
	rdfs:range xsd:string ;
	rdfs:label &quot;order number&quot; .

syb:date a rdf:Property ;
	rdfs:domain syb:sales ;
	rdfs:range xsd:dateTime ;
	rdfs:label &quot;date&quot; .
&#39;, &#39;&#39;, &#39;http://localhost:8890/schemas/sybasepubs2&#39;, 0);

---------------------------------------------------------------

----------- Create IRI Classes -------------

sparql

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/titles_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/titles/%s_%s#this&quot;
    	(in title_id varchar not null, in title varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/authors_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/authors/%s#this&quot;
    	(in au_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/stores_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/stores/%s#this&quot;
    	(in stor_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/au_pix_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/au_pix/%s#this&quot;
    	(in au_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/discounts_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/discounts/%s#this&quot;
    	(in discounttype varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/salesdetail_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/salesdetail/%s_%s_%s#this&quot;
    	(in stor_id varchar not null, in ord_num varchar not null, in title_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/publishers_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/publishers/%s#this&quot;
    	(in pub_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/titleauthor_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/titleauthor/%s_%s#this&quot;
    	(in au_id varchar not null, in title_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/roysched_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/roysched/%s#this&quot;
    	(in title_id varchar not null) .

	create iri class &lt;http://localhost:8890/schemas/sybasepubs2/sales_iri&gt; 
	&quot;http://^{URIQADefaultHost}^/sybasepubs2/sales/%s_%s#this&quot;
    	(in stor_id varchar not null, in ord_num varchar not null) .

;

--------------------------------------------------------------------

------------- Create Quad Store ------------------------------------

sparql

prefix syb: &lt;http://localhost:8890/schemas/sybasepubs2/&gt;

alter quad storage virtrdf:DefaultQuadStorage             
  from pubs2.syb.au_pix as au_pix_tbl 
  from pubs2.syb.authors as authors_tbl
  from pubs2.syb.discounts as discounts_tbl
  from pubs2.syb.publishers as publishers_tbl 
  from pubs2.syb.roysched as roysched_tbl
  from pubs2.syb.sales as sales_tbl
  from pubs2.syb.salesdetail as salesdetail_tbl
  from pubs2.syb.stores as stores_tbl
  from pubs2.syb.titleauthor as titleauthor_tbl
  from pubs2.syb.titles as titles_tbl
{
  create virtrdf:sybasepubs2 as 
      graph &lt;http://localhost:8890/sybasepubs2&gt;
  {
	syb:au_pix_iri (au_pix_tbl.au_id) a syb:au_pix as virtrdf:au_pix_id;
	syb:au_id au_pix_tbl.au_id as virtrdf:au_pix_au_id;
	syb:format_type au_pix_tbl.format_type as virtrdf:au_pix_format_type;
	syb:bytesize au_pix_tbl.bytesize as virtrdf:au_pix_bytesize;
	syb:pixwidth_hor au_pix_tbl.pixwidth_hor as virtrdf:au_pix_pixwidth_hor;
	syb:pixwidth_vert au_pix_tbl.pixwidth_vert as virtrdf:au_pix_pixwidth_vert ;
       	syb:has_author syb:authors_iri(authors_tbl.au_id) where (^{authors_tbl.}^.au_id = ^{au_pix_tbl.}^.au_id) as virtrdf:au_pix_has_author .

        syb:authors_iri (authors_tbl.au_id) a syb:authors as virtrdf:authors_pk ;
	syb:au_id authors_tbl.au_id as virtrdf:authors_au_id;
       	syb:au_lname authors_tbl.au_lname as virtrdf:authors_au_lname;
       	syb:au_fname authors_tbl.au_fname as virtrdf:authors_au_fname;
       	syb:phone authors_tbl.phone  as virtrdf:authors_phone;
       	syb:address authors_tbl.address  as virtrdf:authors_address;
       	syb:city authors_tbl.city as virtrdf:authors_city;
       	syb:state authors_tbl.state  as virtrdf:authors_state;
       	syb:country authors_tbl.country as virtrdf:authors_country;
       	syb:postalcode authors_tbl.postalcode as virtrdf:authors_postalcode;
      	syb:has_title syb:titleauthor_iri(titleauthor_tbl.au_id, titleauthor_tbl.title_id) where (^{titleauthor_tbl.}^.au_id = ^{authors_tbl.}^.au_id) as virtrdf:authors_has_title;
      	syb:has_pix syb:au_pix_iri(au_pix_tbl.au_id) where (^{au_pix_tbl.}^.au_id = ^{authors_tbl.}^.au_id) as virtrdf:authors_has_pix .

	syb:discounts_iri (discounts_tbl.stor_id) a syb:discounts as virtrdf:discounts_pk;
	syb:discounttype discounts_tbl.discounttype as virtrdf:discounts_discounttype;
	syb:stor_id syb:stores_iri(stores_tbl.stor_id) where (^{stores_tbl.}^.stor_id = ^{stores_tbl.}^.stor_id) as virtrdf:discounts_stor_id;
	syb:lowqty discounts_tbl.lowqty as virtrdf:discounts_lowqty;
	syb:highqty discounts_tbl.highqty as virtrdf:discounts_highqty;
	syb:discount discounts_tbl.discount as virtrdf:discounts_discount .

	syb:publishers_iri (publishers_tbl.pub_id) a syb:publishers as virtrdf:publishers_pk;
	syb:pub_id syb:titles_iri(titles_tbl.title_id, titles_tbl.pub_id) where (^{titles_tbl.}^.pub_id = ^{titles_tbl.}^.pub_id) as virtrdf:publisherss_pub_id;
	syb:pub_name publishers_tbl.pub_name as virtrdf:publisherss_pub_name;
	syb:city publishers_tbl.city as virtrdf:publisherss_city;
	syb:state publishers_tbl.state as virtrdf:publisherss_state .

	syb:roysched_iri (roysched_tbl.title_id) a syb:roysched as virtrdf:roysched_pk;
       	syb:title_id syb:titleauthor_iri(titleauthor_tbl.au_id, titleauthor_tbl.title_id) where (^{titleauthor_tbl.}^.title_id = ^{roysched_tbl.}^.title_id) as virtrdf:roysched_title_id;
	syb:lorange roysched_tbl.lorange as virtrdf:roysched_lorange;
	syb:hirange roysched_tbl.hirange as virtrdf:roysched_hirange;
	syb:royalty roysched_tbl.royalty as virtrdf:roysched_royalty .

	syb:sales_iri (sales_tbl.stor_id, sales_tbl.ord_num) a syb:sales as virtrdf:sales_pk;
	syb:stor_id sales_tbl.stor_id as virtrdf:sales_stor_id;
	syb:ord_num sales_tbl.ord_num as virtrdf:sales_ord_num;
	syb:date sales_tbl.date as virtrdf:sales_date;
       	syb:has_salesdetail syb:salesdetail_iri(salesdetail_tbl.stor_id, salesdetail_tbl.ord_num, salesdetail_tbl.title_id) where (^{salesdetail_tbl.}^.stor_id = ^{sales_tbl.}^.stor_id and ^{salesdetail_tbl.}^.ord_num = ^{sales_tbl.}^.ord_num)  as virtrdf:sales_has_salesdetail;
       	syb:has_stores syb:stores_iri(stores_tbl.stor_id) where (^{stores_tbl.}^.stor_id = ^{sales_tbl.}^.stor_id)  as virtrdf:sales_has_stores .

	syb:salesdetail_iri (salesdetail_tbl.stor_id, salesdetail_tbl.ord_num, salesdetail_tbl.title_id) a syb:salesdetail as virtrdf:salesdetail_pk;
	syb:stor_id salesdetail_tbl.stor_id as virtrdf:salesdetail_stor_id;
	syb:ord_num salesdetail_tbl.ord_num as virtrdf:salesdetail_ord_num;
	syb:title_id salesdetail_tbl.title_id as virtrdf:salesdetail_title_id;
	syb:qty salesdetail_tbl.qty as virtrdf:salesdeail_qty;
	syb:discount salesdetail_tbl.discount as virtrdf:salesdetail_discount;
	syb:has_title  syb:titles_iri (titles_tbl.title_id, titles_tbl.pub_id) where (^{titles_tbl.}^.title_id = ^{salesdetail_tbl.}^.title_id) as virtrdf:salesdetail_has_title;
       	syb:has_sales syb:sales_iri(sales_tbl.stor_id, sales_tbl.ord_num) where (^{salesdetail_tbl.}^.stor_id = ^{sales_tbl.}^.stor_id and ^{salesdetail_tbl.}^.ord_num = ^{sales_tbl.}^.ord_num ) as virtrdf:salesdetail_has_sales .

	syb:stores_iri (stores_tbl.stor_id) a syb:stores as virtrdf:stores_pk;
       	syb:stor_id stores_tbl.stor_id as virtrdf:stores_stor_id;
	syb:stor_name stores_tbl.stor_name as virtrdf:stores_stor_name;
	syb:stor_address stores_tbl.stor_address as virtrdf:stores_stor_address;
	syb:city stores_tbl.city as virtrdf:stores_city;
	syb:state stores_tbl.state as virtrdf:stores_state;
	syb:country stores_tbl.country as virtrdf:stores_country;
	syb:postalcode stores_tbl.postalcode as virtrdf:stores_postalcode;
	syb:payterms stores_tbl.payterms as virtrdf:stores_payterms;
       	syb:has_sales syb:sales_iri(sales_tbl.stor_id, sales_tbl.ord_num) where (^{sales_tbl.}^.stor_id = ^{stores_tbl.}^.stor_id) as virtrdf:stores_has_sales .

	syb:titleauthor_iri (titleauthor_tbl.au_id, titleauthor_tbl.title_id) a syb:titleauthor as virtrdf:titleauthor_pk;
	syb:au_id titleauthor_tbl.au_id as virtrdf:titleauthor_au_id;
	syb:title_id titleauthor_tbl.title_id as virtrdf:titleauthor_title_id;
	syb:au_ord titleauthor_tbl.au_ord as virtrdf:titleauthor_au_ord;
	syb:royaltyper titleauthor_tbl.royaltyper as virtrdf:titleauthor_royaltyper;
	syb:has_author syb:authors_iri(authors_tbl.au_id) where (^{authors_tbl.}^.au_id = ^{titleauthor_tbl.}^.au_id) as virtrdf:titleauthor_has_author; 
	syb:has_titles syb:titles_iri(titles_tbl.title_id, titles_tbl.pub_id) where (^{titles_tbl.}^.title_id = ^{titleauthor_tbl.}^.title_id) as virtrdf:titleauthor_has_titles .

	syb:titles_iri (titles_tbl.title_id, titles_tbl.pub_id) a syb:titles as virtrdf:titles_pk;
	syb:title_id titles_tbl.title_id as virtrdf:titles_title_idd;
	syb:title titles_tbl.title as virtrdf:titles_title;
	syb:type titles_tbl.type as virtrdf:titles_type;
	syb:pub_id titles_tbl.pub_id as virtrdf:titles_pub_id;
	syb:price titles_tbl.price as virtrdf:titles_price;
	syb:advance titles_tbl.advance as virtrdf:titles_advance;
	syb:total_sales titles_tbl.total_sales as virtrdf:titles_total_sales;
	syb:notes titles_tbl.notes as virtrdf:titles_notes;
	syb:pubdate titles_tbl.pubdate as virtrdf:titles_pubdate;
	syb:contract titles_tbl.contract as virtrdf:titles_contract;
       	syb:has_titleauthor syb:titleauthor_iri(titleauthor_tbl.au_id, titleauthor_tbl.title_id) where (^{titleauthor_tbl.}^.title_id = ^{titles_tbl.}^.title_id) as virtrdf:titles_has_titleauthor;
       	syb:has_salesdetail syb:salesdetail_iri (salesdetail_tbl.stor_id, salesdetail_tbl.ord_num, salesdetail_tbl.title_id) where (^{salesdetail_tbl.}^.title_id = ^{titles_tbl.}^.title_id) as virtrdf:titles_has_salesdetail .

  } .
} .
;

delete from db.dba.url_rewrite_rule_list where urrl_list like &#39;sybasepubs2_rule%&#39;;
delete from db.dba.url_rewrite_rule where urr_rule like &#39;sybasepubs2_rule%&#39;;

DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
    &#39;sybasepubs2_rule1&#39;,
    1,
    &#39;(/[^#]*)&#39;,
    vector(&#39;path&#39;),
    1,
    &#39;/about/html/http://^{URIQADefaultHost}^%s&#39;,
    vector(&#39;path&#39;),
    null,
    &#39;(text/html)|(\\*/\\*)&#39;,
    0,
    303
    );


DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
    &#39;sybasepubs2_rule2&#39;,
    1,
    &#39;(/[^#]*)&#39;,
    vector(&#39;path&#39;),
    1,
    &#39;/sparql?query=DESCRIBE+%%3Chttp%%3A//localhost%%3A8890%U%%23this%%3E+%%3Chttp%%3A//localhost%%3A8890%U%%23this%%3E+FROM+%%3Chttp%%3A//localhost%%3A8890/sybasepubs2%%3E&amp;format=%U&#39;,
    vector(&#39;path&#39;, &#39;path&#39;, &#39;*accept*&#39;),
    null,
    &#39;(text/rdf.n3)|(application/rdf.xml)&#39;,
    0,
    null
    );

DB.DBA.URLREWRITE_CREATE_RULELIST (
    &#39;sybasepubs2_rule_list1&#39;,
    1,
    vector (
  	 	&#39;sybasepubs2_rule1&#39;,
  	 	&#39;sybasepubs2_rule2&#39;
	  ));

-- ensure a VD for the IRIs which begins with /
VHOST_REMOVE (lpath=&gt;&#39;/sybasepubs2&#39;);

VHOST_DEFINE (
	lpath=&gt;&#39;/sybasepubs2&#39;,  
	ppath=&gt;&#39;/DAV/sybasepubs2/&#39;, 
    	is_dav=&gt;1, 
	vsp_user=&gt;&#39;dba&#39;, 
	is_brws=&gt;0, 
	opts=&gt;vector (&#39;url_rewrite&#39;, &#39;sybasepubs2_rule_list1&#39;) 
	);

delete from db.dba.url_rewrite_rule_list where urrl_list like &#39;sybase_schemas_rule%&#39;;
delete from db.dba.url_rewrite_rule where urr_rule like &#39;sybase_schemas_rule%&#39;;

DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
    &#39;sybase_schemas_rule1&#39;,
    1,
    &#39;(/[^#]*)&#39;,
    vector(&#39;path&#39;),
    1,
    &#39;/about/html/http://^{URIQADefaultHost}^%s&#39;,
    vector(&#39;path&#39;),
    null,
    &#39;(text/html)|(\\*/\\*)&#39;,
    0,
    303
    );

DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
    &#39;sybase_schemas_rule2&#39;,
    1,
    &#39;(/[^#]*)&#39;,
    vector(&#39;path&#39;),
    1,
    &#39;/sparql?query=CONSTRUCT+{+%%3Chttp%%3A//localhost%%3A8890%U%%3E+%%3Fp+%%3Fo+}%%0D%%0AFROM+%%3Chttp%%3A//localhost%%3A8890/schemas/sybasepubs2%%3E+%%0D%%0AWHERE+{+%%3Chttp%%3A//localhost%%3A8890%U%%3E+%%3Fp+%%3Fo+}&amp;format=%U&#39;,
    vector(&#39;path&#39;,&#39;path&#39;,&#39;*accept*&#39;),
    null,
    &#39;(text/rdf.n3)|(application/rdf.xml)&#39;,
    0,
    null
    );

DB.DBA.URLREWRITE_CREATE_RULELIST (
    &#39;sybase_schemas_rule_list1&#39;,
    1,
    vector (
  	 	&#39;sybase_schemas_rule1&#39;,
  	 	&#39;sybase_schemas_rule2&#39;
	  ));

-- ensure a VD for the IRIs which begins with /
VHOST_REMOVE (lpath=&gt;&#39;/schema/sybasepubs2&#39;);

VHOST_DEFINE (
	lpath=&gt;&#39;/schemas/sybasepubs2&#39;,  
	ppath=&gt;&#39;/DAV/schemas/sybasepubs2/&#39;, 
    	is_dav=&gt;1, 
	vsp_user=&gt;&#39;dba&#39;, 
	is_brws=&gt;0, 
	opts=&gt;vector (&#39;url_rewrite&#39;, &#39;sybase_schemas_rule_list1&#39;) 
	);

DB.DBA.XML_SET_NS_DECL (&#39;hr&#39;, &#39;http://^{URIQADefaultHost}^/schemas/sybasepubs2&#39;, 2);

</programlisting></section></docbook>