<http://demo.openlinksw.com/tutorial/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Space> ;
	<http://rdfs.org/sioc/ns#name> "OpenLink Virtuoso Features Demonstrations and Tutorials" ;
	<http://rdfs.org/sioc/ns#description> "OpenLink Virtuoso Features Demonstrations and Tutorials" ;
	<http://rdfs.org/sioc/ns#space_of> <http://demo.openlinksw.com/tutorial/hosting> ,
		<http://demo.openlinksw.com/tutorial/xml> ,
		<http://demo.openlinksw.com/tutorial/repl> ,
		<http://demo.openlinksw.com/tutorial/rdfview> ,
		<http://demo.openlinksw.com/tutorial/services> ,
		<http://demo.openlinksw.com/tutorial/wap> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo> ,
		<http://demo.openlinksw.com/tutorial/web> ,
		<http://demo.openlinksw.com/tutorial/web2> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt> ,
		<http://demo.openlinksw.com/tutorial/rdf> ,
		<http://demo.openlinksw.com/tutorial/intprot> ,
		<http://demo.openlinksw.com/tutorial/apps> ,
		<http://demo.openlinksw.com/tutorial/xmlapps> ,
		<http://demo.openlinksw.com/tutorial/semweb> .
<http://demo.openlinksw.com/tutorial/hosting> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Data Management - SQL\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/hosting/ho_s_2/ho_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_3/ho_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_4/ho_s_4.vspx> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_5/ho_s_5.vspx> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_10/ho_s_10.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_11/ho_s_11.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_14/ho_s_14.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_15/ho_s_15.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_1/ho_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_13/ho_s_13.vsp> .
<http://demo.openlinksw.com/tutorial/xml> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Data Management - XML\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/xml/xq_s_2/xq_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_2a/xq_s_2a.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_f_1/sx_f_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_g_1/sx_g_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_h_1/sx_h_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_1/xs_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_6/sx_e_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_7/sx_e_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_8/sx_e_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_9/sx_e_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_2/sx_e_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_3/sx_e_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_4/sx_e_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_5/sx_e_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_3/xq_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_4/xq_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_0/sx_e_0.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/sx_e_1/sx_e_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_3b/ms_a_3b.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_4/ms_a_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_5/ms_a_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xp_v_1/xp_v_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_1/ms_a_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_2/ms_a_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_3/ms_a_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/ms_a_3a/ms_a_3a.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_6/xs_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_7/xs_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_8/xs_s_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_9/xs_s_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_2/xs_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_3/xs_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_4/xs_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_5/xs_s_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_u_3/xs_u_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt/xs_f_1/xs_f_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt/xs_f_2/xs_f_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xp_v_2/xp_v_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xp_v_3/xp_v_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_u_1/xs_u_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlsql/xs_u_2/xs_u_2.vsp> .
<http://demo.openlinksw.com/tutorial/repl> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Data Management - Data Replication\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/repl/re_xb_2/re_xb_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_xb_3/re_xb_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_xb_4/re_xb_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sb_1/re_sb_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sb_2/re_sb_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sb_3/re_sb_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sb_4/re_sb_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sd_1/re_sd_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_xb_1/re_xb_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sd_2/re_sd_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sd_3/re_sd_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_sm_1/re_sm_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/repl/re_ds_1/re_ds_1.vsp> .
<http://demo.openlinksw.com/tutorial/rdfview> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Data Management - RDF\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/rdfview/rd_v_1/rd_v_1.vsp> .
<http://demo.openlinksw.com/tutorial/services> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Web Services - SOAP Services\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/services/so_s_25/so_s_25.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_26/so_s_26.vspx> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_27/so_s_27.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_28/so_s_28.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_29/so_s_29.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_34/so_s_34.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_35/so_s_35.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_36/so_s_36.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_37/so_s_37.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_30/so_s_30.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_31/so_s_31.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_32/so_s_32.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_33/so_s_33.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_5/so_s_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_6/so_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_7/so_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_1/so_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_2/so_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_3/so_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_4/so_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_14/so_s_14.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_17/so_s_17.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_20/so_s_20.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_21/so_s_21.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_22/so_s_22.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_23/so_s_23.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_24/so_s_24.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_4/ws_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_4a/ws_s_4a.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_5/ws_s_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ud_s_1/ud_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ud_s_2/ud_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ud_s_3/ud_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_11/so_s_11.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_18/so_s_18.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_8/so_s_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_9/so_s_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/rm_s_1/rm_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/rp_s_1/rp_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/rp_s_2/rp_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_10/so_s_10.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_12/so_s_12.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_15/so_s_15.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_16/so_s_16.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_19/so_s_19.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_13/so_s_13.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_1/ws_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_2/ws_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/ws_s_3/ws_s_3.vsp> .
<http://demo.openlinksw.com/tutorial/wap> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Web Services - Wireless Access Protocols\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/wap/wa_b_3/wa_b_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/wap/wa_b_1/wa_b_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/wap/wa_b_2/wa_b_2.vsp> .
<http://demo.openlinksw.com/tutorial/bpeldemo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Business Process Integration - BPEL\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/bpeldemo/UseCases/UseCases.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/java_exec/java_exec.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/clr_exec/clr_exec.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/processXSLT/processXSLT.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/processXQuery/processXQuery.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/processXSQL/processXSQL.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/echo/echo.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/fi/fi.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/LoanFlow/LoanFlow.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/SecLoan/SecLoan.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/RMLoan/RMLoan.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/SecRMLoan/SecRMLoan.vsp> ,
		<http://demo.openlinksw.com/tutorial/bpeldemo/sqlexec/sqlexec.vsp> .
<http://demo.openlinksw.com/tutorial/web> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Development - Web 1.0\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/web/vs_u_3/vs_u_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_u_4/vs_u_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_u_5/vs_u_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_u_7/vs_u_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_6/vs_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_7/vs_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_u_1/vs_u_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_u_2/vs_u_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_2/vs_d_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_3/vs_d_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_4/vs_d_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_5/vs_d_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_x_1/vs_x_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_x_2/vs_x_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_x_3/vs_x_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_1/vs_d_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_r_1/vs_r_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_6/vs_d_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_7/vs_d_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_d_8/vs_d_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_c_1/vs_c_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_1/vs_b_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_2/vs_b_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_7/vs_b_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_8/vs_b_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_9/vs_b_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_1/vx_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_3/vs_b_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_4/vs_b_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_5/vs_b_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_b_6/vs_b_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_12/vx_s_12.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_4/vx_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_5/vx_s_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_6/vx_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_2/vx_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_3/vx_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_10/vx_s_10.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_11/vx_s_11.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_2/vs_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_3/vs_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_4/vs_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_5/vs_s_5.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_7/vx_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_9/vx_s_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_8/vx_s_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_s_1/vs_s_1.vsp> .
<http://demo.openlinksw.com/tutorial/web2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Development - Web 2.0\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/apps/blog/blog.vsp> ,
		<http://demo.openlinksw.com/tutorial/apps/blog_bridge/blog_bridge.vsp> ,
		<http://demo.openlinksw.com/tutorial/apps/blog_query/blog_query.vsp> ,
		<http://demo.openlinksw.com/tutorial/apps/forums/forums.vsp> ,
		<http://demo.openlinksw.com/tutorial/apps/rss_feed/rss_feed.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vx_s_13/countries.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_xr_1/vs_xr_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/web/vs_xr_2/vs_xr_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/xa_s_1/xa_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_10/so_s_10.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_12/so_s_12.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_15/so_s_15.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_16/so_s_16.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_19/so_s_19.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_2/so_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_17/so_s_17.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_21/so_s_21.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_24/so_s_24.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_27/so_s_27.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_28/so_s_28.vsp> ,
		<http://demo.openlinksw.com/tutorial/services/so_s_7/so_s_7.vsp> .
<http://demo.openlinksw.com/tutorial/xmlxslt> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Development - XML\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/xmlxslt/xs_t_1/xs_t_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt/xs_e_1/xs_e_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt/xs_d_1/xs_d_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xmlxslt/xs_l_1/xs_l_1.vsp> .
<http://demo.openlinksw.com/tutorial/rdf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Development - RDF\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/services/rn_s_1/rn_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/rdf/rq_s_2/rq_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/rdf/rq_s_3/rq_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/rdf/ri_s_1/ri_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/rdf/rd_s_1/rd_s_1.vsp> .
<http://demo.openlinksw.com/tutorial/intprot> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Development - NNTP\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/intprot/sm_s_1/sm_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_6/sm_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_7/sm_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/nn_s_1/nn_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/nn_s_2/nn_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_2/sm_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_3/sm_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_4/sm_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/intprot/sm_s_5/sm_s_5.vsp> .
<http://demo.openlinksw.com/tutorial/apps> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Demo applications - Framework Hosting\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/apps/ibuyspy/ibuyspy.vsp> ,
		<http://demo.openlinksw.com/tutorial/apps/petshop/petshop.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_12/ho_s_12.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_6/ho_s_6.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_7/ho_s_7.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_30/ho_s_30.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_8/ho_s_8.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_9/ho_s_9.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_16/ho_s_16.vsp> ,
		<http://demo.openlinksw.com/tutorial/hosting/ho_s_17/ho_s_17.vsp> .
<http://demo.openlinksw.com/tutorial/xmlapps> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Demo applications - XML Data Access\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/xml/xq_s_1/xq_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_3/xq_s_3.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_4/xq_s_4.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_2/xq_s_2.vsp> ,
		<http://demo.openlinksw.com/tutorial/xml/xq_s_2a/xq_s_2a.vsp> .
<http://demo.openlinksw.com/tutorial/semweb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/sioc/ns#Container> ,
		"Tutorial" ;
	<http://rdfs.org/sioc/ns#description> "Demo applications - Semantic Web\n " ;
	<http://rdfs.org/sioc/ns#has_space> <http://demo.openlinksw.com/tutorial/> ;
	<http://rdfs.org/sioc/ns#container_of> <http://demo.openlinksw.com/tutorial/xml/rq_s_1/rq_s_1.vsp> ,
		<http://demo.openlinksw.com/tutorial/semweb/sem_s_1/sem_s_1.vsp> .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_2/ho_s_2.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using C# Objects to extend Virtuoso via User Defined Types." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Integrating Common Language Runtime Objects with Virtuoso" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:30 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n    The following tutorial demonstrates how Virtuoso can be extended \n    through the use of a .NET bound language such as C# to create User Defined \n    Types (UDTs), Stored Procedures, and Functions. This is an enhancement of its \n    Object-Relational Database functionality. \n    The demonstrations in this section highlight transparent integration \n    (hosting) between Virtuoso and the Microsoft .NET and Mono implementations of \n    the ECMA Common Language Infrastructure (CLI). \n    \n    Prerequisites\n    The following prerequisites ensure the usability of these  \n    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\n Linux\n   \n     Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n     Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Linux with Mono Hosting\n     \nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The following tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the \"Set Initial State\" link which registers the two C# classes with Virtuoso. Click on the \"ho_s_2.sql\" link to see the code behind this step \n Click on the \"Run\" links to actually experience the demo\n\n\nDemo Breakdown\n\n\n \"ho_s_2.sql\" performs the following steps\n  \n   Registers the \"MyFinances\" and \"Point\" classes with Virtuoso. Click \n   on the \"MyFinances.cs\" and \"Point.cs\" links to see the C# source code of these \n   classes\n   Creates the conventional SQL table \"Employee\" \n   Creates the Object-Relational table \"Supplier\" that includes a column \n   named \"Location\" that is of  Type \"Point\" (a UDT)\n   Populates each of the newly created tables with data\n   Creates the \"distance\" stored procedure which uses a C# function \n   member (method) to calculate the distance between points.\n  \n\n \t\"vsp1.vsp\" uses the static method \"tax\" of the \"MyFinances\" class to \n compute the payroll tax values for each employee via the \"salary\" column (like \n a SQL function would). Take note of the Virtuoso class invocation syntax for \n static C# methods (the relevant member function type in this demo; true to \n C# these are called by name rather than instance).\n \"vsp2.vsp\" uses the \"distance\" method of the UDT based column \n \"location\" to test for distance values less than \"3\". The distance values are \n return values from the \"Point\" class. Note that the \"Point\" class computes \n the distance between two arbitrary points.\n \"vsp3.vsp\" is a variation of the previous demo, with the column \n \"location\" being used to access and conditionally test the values of data \n member \"x\" (shown in \"Point.cs\" as 0).\n \"vsp4.vsp\" is another variation of a query on the \"Supplier\" table, \n in this particular case the query uses a Stored Procedure (see definition in \n \"ho_s_2.sql\") to filter its result set.  It achieves this by using data member \n values \"x\" and \"y\" from column \"location\", and the arbitrary values 1 & \n 2 as input parameters for the Stored Procedure \"distance\".  It then tests \n the return values for those less than 3.\n  \n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n    The following tutorial demonstrates how Virtuoso can be extended \n    through the use of a .NET bound language such as C# to create User Defined \n    Types (UDTs), Stored Procedures, and Functions. This is an enhancement of its \n    Object-Relational Database functionality. \n    The demonstrations in this section highlight transparent integration \n    (hosting) between Virtuoso and the Microsoft .NET and Mono implementations of \n    the ECMA Common Language Infrastructure (CLI). \n    \n    Prerequisites\n    The following prerequisites ensure the usability of these  \n    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\n Linux\n   \n     Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n     Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Linux with Mono Hosting\n     \nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The following tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the &quot;Set Initial State&quot; link which registers the two C# classes with Virtuoso. Click on the &quot;ho_s_2.sql&quot; link to see the code behind this step \n Click on the &quot;Run&quot; links to actually experience the demo\n\n\nDemo Breakdown\n\n\n &quot;ho_s_2.sql&quot; performs the following steps\n  \n   Registers the &quot;MyFinances&quot; and &quot;Point&quot; classes with Virtuoso. Click \n   on the &quot;MyFinances.cs&quot; and &quot;Point.cs&quot; links to see the C# source code of these \n   classes\n   Creates the conventional SQL table &quot;Employee&quot; \n   Creates the Object-Relational table &quot;Supplier&quot; that includes a column \n   named &quot;Location&quot; that is of  Type &quot;Point&quot; (a UDT)\n   Populates each of the newly created tables with data\n   Creates the &quot;distance&quot; stored procedure which uses a C# function \n   member (method) to calculate the distance between points.\n  \n\n \t&quot;vsp1.vsp&quot; uses the static method &quot;tax&quot; of the &quot;MyFinances&quot; class to \n compute the payroll tax values for each employee via the &quot;salary&quot; column (like \n a SQL function would). Take note of the Virtuoso class invocation syntax for \n static C# methods (the relevant member function type in this demo; true to \n C# these are called by name rather than instance).\n &quot;vsp2.vsp&quot; uses the &quot;distance&quot; method of the UDT based column \n &quot;location&quot; to test for distance values less than &quot;3&quot;. The distance values are \n return values from the &quot;Point&quot; class. Note that the &quot;Point&quot; class computes \n the distance between two arbitrary points.\n &quot;vsp3.vsp&quot; is a variation of the previous demo, with the column \n &quot;location&quot; being used to access and conditionally test the values of data \n member &quot;x&quot; (shown in &quot;Point.cs&quot; as 0).\n &quot;vsp4.vsp&quot; is another variation of a query on the &quot;Supplier&quot; table, \n in this particular case the query uses a Stored Procedure (see definition in \n &quot;ho_s_2.sql&quot;) to filter its result set.  It achieves this by using data member \n values &quot;x&quot; and &quot;y&quot; from column &quot;location&quot;, and the arbitrary values 1 &amp; \n 2 as input parameters for the Stored Procedure &quot;distance&quot;.  It then tests \n the return values for those less than 3.\n  \n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_3/ho_s_3.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Demonstrating the use of C# to create Virtuoso hosted Stored \n    Procedures and Triggers. In this demo the database events trigger SMS \n    messages that are relayed via C# based SOAP Client." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Sending an SMS message through an ASP .NET SOAP Client to update a table " ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:30 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n    The following tutorial demonstrates how a C# based Managed SOAP \n    Client is used to create SMS based database notification services inside \n    Virtuoso. This demo executes a database trigger every time a new Supplier \n    record is added, updated or deleted. In this example a C# class acts as a\n    SOAP client to a 3rd party XML Web Service that provides the SMS (Short Message \n    Services) delivery to mobile phones. Note, this demo will work with any phone \n    that is capable of receiving SMS (TEXT) messages.\n    \n    Prerequisites\n    This demo currently works only on a Virtuoso server running under Microsoft Windows with following components installed:\n    \n      Windows\n        \n          .NET Runtime and Frameworks\n          .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n          Virtuoso Universal Server for Windows with .NET CLR Hosting.\n        \n      \n    \n    \n    Tutorial Example\n\n  Please follow the steps below to maximize the value of this tutorial:\n  \n   Click on the \"Set Initial State\" link which registers the \"redcoalsmssvc\" service with Virtuoso. Click on the \"ho_s_3.sql\" link to see the code behind this step\n   Click on the \"Run\" links to actually experience the demo\n  \n\n  Demo Breakdown\n  \n   \"ho_s_3.sql\" performs the following steps\n  \n     Registers the \"redcoalsmssvc\" class with Virtuoso. Click on the \"redcoalsms.cs\" and \"redcoalsmsref.cs\" links to see the C# source code. Note that the class \"redcoalsmssvc\" is part of an assembly that has the namespace \"redcoalsms\"\n     Creates the \"Suppliers\" table \n     Creates a stored procedure \"redcoal_send_sms\" which demonstrates the syntax for creating an instance variable which includes the assembly namespace in the type reference. Specifically, note the use of an underscore instead of a dot when making this assignment \n     Creates a Trigger named \"send_sms_to_mgr_new_supp\" that sends an SMS message each time a new \"Supplier\" table record is inserted\n     Creates a Trigger named \"send_sms_to_mgr_mod_supp\" that sends an SMS message each time a \"Supplier\" record is updated\n     Creates a Trigger named \"send_sms_to_mgr_mod_supp\" that sends an SMS message each time a supplier record is deleted\n  \n  \"setup_sms.vsp\" sets up all of the base data and verifies that SMS service connectivity required by this demo is available.\n   \"handler.vsp\" is the actual interface through which you add or delete supplier records which result in SMS notifications being sent to your mobile phone.\n  \n\n\n   " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n    The following tutorial demonstrates how a C# based Managed SOAP \n    Client is used to create SMS based database notification services inside \n    Virtuoso. This demo executes a database trigger every time a new Supplier \n    record is added, updated or deleted. In this example a C# class acts as a\n    SOAP client to a 3rd party XML Web Service that provides the SMS (Short Message \n    Services) delivery to mobile phones. Note, this demo will work with any phone \n    that is capable of receiving SMS (TEXT) messages.\n    \n    Prerequisites\n    This demo currently works only on a Virtuoso server running under Microsoft Windows with following components installed:\n    \n      Windows\n        \n          .NET Runtime and Frameworks\n          .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n          Virtuoso Universal Server for Windows with .NET CLR Hosting.\n        \n      \n    \n    \n    Tutorial Example\n\n  Please follow the steps below to maximize the value of this tutorial:\n  \n   Click on the &quot;Set Initial State&quot; link which registers the &quot;redcoalsmssvc&quot; service with Virtuoso. Click on the &quot;ho_s_3.sql&quot; link to see the code behind this step\n   Click on the &quot;Run&quot; links to actually experience the demo\n  \n\n  Demo Breakdown\n  \n   &quot;ho_s_3.sql&quot; performs the following steps\n  \n     Registers the &quot;redcoalsmssvc&quot; class with Virtuoso. Click on the &quot;redcoalsms.cs&quot; and &quot;redcoalsmsref.cs&quot; links to see the C# source code. Note that the class &quot;redcoalsmssvc&quot; is part of an assembly that has the namespace &quot;redcoalsms&quot;\n     Creates the &quot;Suppliers&quot; table \n     Creates a stored procedure &quot;redcoal_send_sms&quot; which demonstrates the syntax for creating an instance variable which includes the assembly namespace in the type reference. Specifically, note the use of an underscore instead of a dot when making this assignment \n     Creates a Trigger named &quot;send_sms_to_mgr_new_supp&quot; that sends an SMS message each time a new &quot;Supplier&quot; table record is inserted\n     Creates a Trigger named &quot;send_sms_to_mgr_mod_supp&quot; that sends an SMS message each time a &quot;Supplier&quot; record is updated\n     Creates a Trigger named &quot;send_sms_to_mgr_mod_supp&quot; that sends an SMS message each time a supplier record is deleted\n  \n  &quot;setup_sms.vsp&quot; sets up all of the base data and verifies that SMS service connectivity required by this demo is available.\n   &quot;handler.vsp&quot; is the actual interface through which you add or delete supplier records which result in SMS notifications being sent to your mobile phone.\n  \n\n\n   \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_4/ho_s_4.vspx> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Demonstrating the use of C# to create Virtuoso hosted Stored \n    Procedures and Triggers.  In this demo a database events trigger SMS \n    messages that are relayed via a C# based SOAP Client.  It also demonstrates \n    Virtuoso Server Pages session management." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Hosting CLR types using VSPX session management" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:31 GMT" ;
	<http://rdfs.org/sioc/ns#content> "Overview\n    This is a variation of HO-S-3 with the SOAP client implemented ASP.NET and also demonstrates Virtuoso Server Pages for XML (VSPX) session management.\n    \n    Prerequisites\n    This demo currently works only on a Virtuoso server running under Microsoft Windows with following components installed:\n    \n      Windows\n        \n          .NET Runtime and Frameworks\n          .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n          Virtuoso Universal Server for Windows with .NET CLR Hosting.\n        \n      \n    \n    \n    Tutorial Example\n    \n      The setup_sms.vspx sets up the SMS sending unit.\n      The handler.vspx does inserts/deletes/updates to demonstrate the SMS sending from triggers.\n      The redcoalsms*.cs is an MS Visual Studio.NET generated SOAP client.\n      The redcoalsms.dll should be installed as a private assembly (not as CodeBase) because of permissions.\n      For details of the Redcoal SOAP service see it's description in http://www.xmethods.com\n     \n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "Overview\n    This is a variation of HO-S-3 with the SOAP client implemented ASP.NET and also demonstrates Virtuoso Server Pages for XML (VSPX) session management.\n    \n    Prerequisites\n    This demo currently works only on a Virtuoso server running under Microsoft Windows with following components installed:\n    \n      Windows\n        \n          .NET Runtime and Frameworks\n          .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n          Virtuoso Universal Server for Windows with .NET CLR Hosting.\n        \n      \n    \n    \n    Tutorial Example\n    \n      The setup_sms.vspx sets up the SMS sending unit.\n      The handler.vspx does inserts/deletes/updates to demonstrate the SMS sending from triggers.\n      The redcoalsms*.cs is an MS Visual Studio.NET generated SOAP client.\n      The redcoalsms.dll should be installed as a private assembly (not as CodeBase) because of permissions.\n      For details of the Redcoal SOAP service see it&#39;s description in http://www.xmethods.com\n     \n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_5/ho_s_5.vspx> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Demonstrating the use of C# to create Virtuoso hosted Stored \n    Procedures and Triggers. In this demo a database event trigger SMS messages \n    that are relayed via a  .NET DOM frameworks based C# SOAP Client. It also \n    demonstrates Virtuoso Server Pages session management." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Hosting CLR types using VSPX session management" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:31 GMT" ;
	<http://rdfs.org/sioc/ns#content> "Overview\n    HO-S-5 is a variation of HO-S-3 that makes use of VSPX session management\n    \n    Prerequisites\n    The following prerequisites ensure the usability of these  \n    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\n Linux\n   \n     Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n     Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Linux with Mono Hosting\n     \nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n    \n      The setup_sms.vspx sets up the SMS sending unit.\n      The handler.vspx does inserts/deletes/updates to demonstrate the SMS sending from triggers.\n      The redcoalsms_dom.cs is an HttpWebRequest SOAP client using DOM to process SOAP result.\n      The redcoalsms_dom.dll should be installed as a private assembly (not as CodeBase) because of permissions.\n      For details of the Redcoal SOAP service see it's description in http://www.xmethods.com\n      This service is compatible with Mono (http://go-mono.com)\n     \n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "Overview\n    HO-S-5 is a variation of HO-S-3 that makes use of VSPX session management\n    \n    Prerequisites\n    The following prerequisites ensure the usability of these  \n    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\n Linux\n   \n     Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n     Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Linux with Mono Hosting\n     \nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n    \n      The setup_sms.vspx sets up the SMS sending unit.\n      The handler.vspx does inserts/deletes/updates to demonstrate the SMS sending from triggers.\n      The redcoalsms_dom.cs is an HttpWebRequest SOAP client using DOM to process SOAP result.\n      The redcoalsms_dom.dll should be installed as a private assembly (not as CodeBase) because of permissions.\n      For details of the Redcoal SOAP service see it&#39;s description in http://www.xmethods.com\n      This service is compatible with Mono (http://go-mono.com)\n     \n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_10/ho_s_10.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using C# Objects to extend Virtuoso via User Defined Types using CREATE LIBRARY/ASSEMBLY syntax." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Integrating Common Language Runtime Objects with Virtuoso" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:29 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n    The HO-S-10 sample is very similar to HO-S-2. The difference is using syntax CREATE LIBRARY. The statement imports assembly to internal Virtuoso table and imports types from it. After this the assembly can be removed from physical path and next time will be read from the table. The \"DROP LIBRARY\" removes assembly from table and drops imported types. \n    \n    Prerequisites\n    The following prerequisites ensure the usability of these tutorial demos on Windows\n\nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The following tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the \"Set Initial State\" link which registers the two C# classes with Virtuoso.\n It also copies the Point_ho_s_10.dll file to \"tmp\" directory in the server root. \n Note that the directory must exists, must be writeable for the user running virtuoso and must be in the DirsAllowed parameter in Virtuoso ini file.\n  Click on the \"ho_s_10.sql\" link to see the code behind this step \n Click on the \"Run\" links to actually experience the demo\n\n\nDemo Breakdown\n\n\n \"ho_s_10.sql\" performs the following steps\n  \n   Registers the \"Point\" classes with Virtuoso. Click \n   on the \"Point_ho_s_10.cs\" links to see the C# source code of these \n   classes\n   Creates the Object-Relational table \"Supplier_ho_s_10\" that includes a column \n   named \"Location\" that is of Type \"Point\" (a UDT)\n   Populates table with data\n   Using syntax: CREATE LIBRARY/ASSEMBLY \"myPoint\" as \"assembly\" WITH PERMISSION_SET = SAFE WITH AUTOREGISTER\n   is simular to:\n   CREATE LIBRARY/ASSEMBLY \"myPoint\" as \"assembly\"; and \n   import_clr ('myPoint', NULL);\n  \n\n \"vsp1.vsp\" is a variation of HO-S-2 (vsp3.vsp), with the column \n \"location\" being used to access and conditionally test the values of data \n member \"x\" (shown in \"Point.cs\" as 0).\n\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n    The HO-S-10 sample is very similar to HO-S-2. The difference is using syntax CREATE LIBRARY. The statement imports assembly to internal Virtuoso table and imports types from it. After this the assembly can be removed from physical path and next time will be read from the table. The &quot;DROP LIBRARY&quot; removes assembly from table and drops imported types. \n    \n    Prerequisites\n    The following prerequisites ensure the usability of these tutorial demos on Windows\n\nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The following tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the &quot;Set Initial State&quot; link which registers the two C# classes with Virtuoso.\n It also copies the Point_ho_s_10.dll file to &quot;tmp&quot; directory in the server root. \n Note that the directory must exists, must be writeable for the user running virtuoso and must be in the DirsAllowed parameter in Virtuoso ini file.\n  Click on the &quot;ho_s_10.sql&quot; link to see the code behind this step \n Click on the &quot;Run&quot; links to actually experience the demo\n\n\nDemo Breakdown\n\n\n &quot;ho_s_10.sql&quot; performs the following steps\n  \n   Registers the &quot;Point&quot; classes with Virtuoso. Click \n   on the &quot;Point_ho_s_10.cs&quot; links to see the C# source code of these \n   classes\n   Creates the Object-Relational table &quot;Supplier_ho_s_10&quot; that includes a column \n   named &quot;Location&quot; that is of Type &quot;Point&quot; (a UDT)\n   Populates table with data\n   Using syntax: CREATE LIBRARY/ASSEMBLY &quot;myPoint&quot; as &quot;assembly&quot; WITH PERMISSION_SET = SAFE WITH AUTOREGISTER\n   is simular to:\n   CREATE LIBRARY/ASSEMBLY &quot;myPoint&quot; as &quot;assembly&quot;; and \n   import_clr (&#39;myPoint&#39;, NULL);\n  \n\n &quot;vsp1.vsp&quot; is a variation of HO-S-2 (vsp3.vsp), with the column \n &quot;location&quot; being used to access and conditionally test the values of data \n member &quot;x&quot; (shown in &quot;Point.cs&quot; as 0).\n\n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_11/ho_s_11.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using Restrictions for C# Imported types." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Integrating Common Language Runtime Objects with Virtuoso" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:29 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n     This tutorial demonstrates the options PERMISSION_SET = SAFE and \n\tPERMISSION_SET = UNRESTRICTED on CREATE LIBRARY / ASSEMBLY.\n    \n    Prerequisites\n    The following prerequisites ensure the usability of these demos on Windows\n\nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the \"Set Initial State\" link which registers the \n two C# classes within Virtuoso.  \n It also copies the restricted.dll and unrestricted.dll files to \"tmp\" directory in the server root. \n Note that the directory must exists, must be writeable for the user running virtuoso and must be in the DirsAllowed parameter in Virtuoso ini file.\n Click on the \"ho_s_11.sql\" link to examine \n the code behind this step.\n Click on the \"Run\" links to execute the demo.\n\n\nDemo Breakdown\n\n\n \"ho_s_11.sql\" performs the following steps\n  \n   Registers the \"Rest\" and \"UnRest\" classes with Virtuoso. Click \n   on the \"restricted.cs\" and \"unrestricted.cs\" links to see the C# source code of these \n   classes.\n  \n\n The \"unrestricted.vsp\" is shows classes that try to access \n File system and system variables. The \"restricted.vsp\", uses the same \n clases, but cannot complete the execution sucessfully because the assembly \n is imported with PERMISSION_SET = SAFE.  The sample shows the error returned upon \n executing the classes.\n\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n     This tutorial demonstrates the options PERMISSION_SET = SAFE and \n\tPERMISSION_SET = UNRESTRICTED on CREATE LIBRARY / ASSEMBLY.\n    \n    Prerequisites\n    The following prerequisites ensure the usability of these demos on Windows\n\nWindows\n   \n     .NET Runtime and Frameworks\n     .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n     Virtuoso Universal Server for Windows with .NET CLR Hosting\n     \n\n    \n    Tutorial Example\n\n  The tutorial shows how C# classes are used to create User\n  Defined Types (UDTs) in Virtuoso. \n  Please follow the steps below to maximize the value of this tutorial:\n\n\n Click on the &quot;Set Initial State&quot; link which registers the \n two C# classes within Virtuoso.  \n It also copies the restricted.dll and unrestricted.dll files to &quot;tmp&quot; directory in the server root. \n Note that the directory must exists, must be writeable for the user running virtuoso and must be in the DirsAllowed parameter in Virtuoso ini file.\n Click on the &quot;ho_s_11.sql&quot; link to examine \n the code behind this step.\n Click on the &quot;Run&quot; links to execute the demo.\n\n\nDemo Breakdown\n\n\n &quot;ho_s_11.sql&quot; performs the following steps\n  \n   Registers the &quot;Rest&quot; and &quot;UnRest&quot; classes with Virtuoso. Click \n   on the &quot;restricted.cs&quot; and &quot;unrestricted.cs&quot; links to see the C# source code of these \n   classes.\n  \n\n The &quot;unrestricted.vsp&quot; is shows classes that try to access \n File system and system variables. The &quot;restricted.vsp&quot;, uses the same \n clases, but cannot complete the execution sucessfully because the assembly \n is imported with PERMISSION_SET = SAFE.  The sample shows the error returned upon \n executing the classes.\n\n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_14/ho_s_14.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using C# Objects to make table valued functions." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Making Table valued functions in C#" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:30 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n\tOverview\n\tThe following tutorial demonstrates how Virtuoso can be extended \n\t    through the use of a .NET bound language such as C# to create resultsets. \n\tThe demonstrations in this section highlight transparent integration \n\t    (hosting) between Virtuoso and the Microsoft .NET and Mono implementations of \n\t    the ECMA Common Language Infrastructure (CLI) as well as how to use the Virtuoso\n\t    in-process ODBC client to call back the server from hosted managed code. \n    \n\tPrerequisites\n\tThe following prerequisites ensure the usability of these  \n\t    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\t\n\t    Linux\n\t\t\n\t\t    Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n\t\t    Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Linux with Mono Hosting\n\t\t    Virtuoso .NET provider\n\t\t\n\t    \n\t    Windows\n\t\t\n\t\t    .NET Runtime and Frameworks\n\t\t    .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Windows with .NET CLR Hosting\n\t\t    Virtuoso .NET provider\n\t\t\n\t    \n\t\n    \n\tTutorial Example\n\tThe following tutorial shows how C# classes can interact with the Virtuoso server. \n\tPlease follow the steps below to maximize the value of this tutorial:\n\t\n\t    Copy the file ho_s_14.dll next to the OpenLink.Data.VirtuosoClient.dll (if not allready there).\n\t    Click on the \"Set Initial State\" link which registers the C# class with Virtuoso. Click on the \"ho_s_14.sql\" link to see the code behind this step \n\t    Click on the \"Run\" links to actually experience the demo\n\t\n\tDemo Breakdown\n\t\n\t    \"ho_s_14.sql\" registers the \"openlink.virtuoso.tutorial.ho_s_14.add_data\" C# static method with Virtuoso. Click \n\t\ton the \"ho_s_14.cs\" link to see the C# source code of this class\n\t    \t\"vsp1.vsp\" uses the static method \"add_data\" of the \"openlink.virtuoso.tutorial.ho._s_14\" class to \n\t\tmake a resultset (like a SQL function would) through an in-process connection to the server. Take note of the\n\t\tusage of \"OpenLink.Virtuoso.InProcessPort\" key from AppDomain.GetData() to get the port on which the hosting Virtuoso server is listening at.\n\t\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n\tOverview\n\tThe following tutorial demonstrates how Virtuoso can be extended \n\t    through the use of a .NET bound language such as C# to create resultsets. \n\tThe demonstrations in this section highlight transparent integration \n\t    (hosting) between Virtuoso and the Microsoft .NET and Mono implementations of \n\t    the ECMA Common Language Infrastructure (CLI) as well as how to use the Virtuoso\n\t    in-process ODBC client to call back the server from hosted managed code. \n    \n\tPrerequisites\n\tThe following prerequisites ensure the usability of these  \n\t    tutorial demos on Windows or Linux (and in other future Mono implementations): \n\t\n\t    Linux\n\t\t\n\t\t    Mono Runtime and Frameworks (ideally the version bundled with Virtuoso)\n\t\t    Mono SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Linux with Mono Hosting\n\t\t    Virtuoso .NET provider\n\t\t\n\t    \n\t    Windows\n\t\t\n\t\t    .NET Runtime and Frameworks\n\t\t    .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Windows with .NET CLR Hosting\n\t\t    Virtuoso .NET provider\n\t\t\n\t    \n\t\n    \n\tTutorial Example\n\tThe following tutorial shows how C# classes can interact with the Virtuoso server. \n\tPlease follow the steps below to maximize the value of this tutorial:\n\t\n\t    Copy the file ho_s_14.dll next to the OpenLink.Data.VirtuosoClient.dll (if not allready there).\n\t    Click on the &quot;Set Initial State&quot; link which registers the C# class with Virtuoso. Click on the &quot;ho_s_14.sql&quot; link to see the code behind this step \n\t    Click on the &quot;Run&quot; links to actually experience the demo\n\t\n\tDemo Breakdown\n\t\n\t    &quot;ho_s_14.sql&quot; registers the &quot;openlink.virtuoso.tutorial.ho_s_14.add_data&quot; C# static method with Virtuoso. Click \n\t\ton the &quot;ho_s_14.cs&quot; link to see the C# source code of this class\n\t    \t&quot;vsp1.vsp&quot; uses the static method &quot;add_data&quot; of the &quot;openlink.virtuoso.tutorial.ho._s_14&quot; class to \n\t\tmake a resultset (like a SQL function would) through an in-process connection to the server. Take note of the\n\t\tusage of &quot;OpenLink.Virtuoso.InProcessPort&quot; key from AppDomain.GetData() to get the port on which the hosting Virtuoso server is listening at.\n\t\n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_15/ho_s_15.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using the .NET to access native COM objects from Virtuoso/PL" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Accessing COM Objects via C#" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:30 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n\tOverview\n\tThe following tutorial demonstrates how Virtuoso can access MS Windows COM\n\t    objects via .NET. \n\tThe demonstrations in this section highlight transparent integration \n\t    (hosting) between Virtuoso, the Microsoft .NET implementations of \n\t    the ECMA Common Language Infrastructure (CLI) and the Win32 COM Layer. \n    \n\tPrerequisites\n\tThe following prerequisites ensure the usability of these  \n\t    tutorial demos on Windows: \n\t\t\n\t\t    .NET Runtime and Frameworks\n\t\t    .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Windows with .NET CLR Hosting\n\t\t\n    \n\tTutorial Example\n\tThe following tutorial shows how the Virtuoso server can call native Win32 COM objects using\n\t    the .NET runtime as intermediary. \n\tPlease follow the steps below to maximize the value of this tutorial:\n\t\n\t    Register the COM library COM/VirtCOMServer/Debug/VirtCOMServer.dll with COM (via regsvr32.exe COM/VirtCOMServer/Debug/VirtCOMServer.dll).\n\t    Copy the interop assembly COM/VirtCOMServer/VirtCOMServer.dll next to the virtuoso server binary (if not allready there).\n\t    Click on the \"Set Initial State\" link which registers the C# interop class for the Interface IVirtCOMObject with Virtuoso. Click on the \"ho_s_15.sql\" link to see the code behind this step \n\t    Click on the \"Run\" links to actually experience the demo\n\t\n\tDemo Breakdown\n\t\n\t    \"ho_s_15.sql\" registers the \"VirtCOMServer.CVirtCOMObjectClass\" C# interop class with Virtuoso. Click \n\t\ton the \"VirtCOMObject.c\" and \"VirtCOMObject.h\" link to see the C++ source code of this interface and it's class\n\t    \t\"vsp1.vsp\" uses the methods \"AddAmount\", \"Clear\" and \"get_balance\" of the \"VirtCOMServer.IVirtCOMObject\" Interface to \n\t\tsum a number of amounts and get the resulting total.\n\t\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n\tOverview\n\tThe following tutorial demonstrates how Virtuoso can access MS Windows COM\n\t    objects via .NET. \n\tThe demonstrations in this section highlight transparent integration \n\t    (hosting) between Virtuoso, the Microsoft .NET implementations of \n\t    the ECMA Common Language Infrastructure (CLI) and the Win32 COM Layer. \n    \n\tPrerequisites\n\tThe following prerequisites ensure the usability of these  \n\t    tutorial demos on Windows: \n\t\t\n\t\t    .NET Runtime and Frameworks\n\t\t    .Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)\n\t\t    Virtuoso Universal Server for Windows with .NET CLR Hosting\n\t\t\n    \n\tTutorial Example\n\tThe following tutorial shows how the Virtuoso server can call native Win32 COM objects using\n\t    the .NET runtime as intermediary. \n\tPlease follow the steps below to maximize the value of this tutorial:\n\t\n\t    Register the COM library COM/VirtCOMServer/Debug/VirtCOMServer.dll with COM (via regsvr32.exe COM/VirtCOMServer/Debug/VirtCOMServer.dll).\n\t    Copy the interop assembly COM/VirtCOMServer/VirtCOMServer.dll next to the virtuoso server binary (if not allready there).\n\t    Click on the &quot;Set Initial State&quot; link which registers the C# interop class for the Interface IVirtCOMObject with Virtuoso. Click on the &quot;ho_s_15.sql&quot; link to see the code behind this step \n\t    Click on the &quot;Run&quot; links to actually experience the demo\n\t\n\tDemo Breakdown\n\t\n\t    &quot;ho_s_15.sql&quot; registers the &quot;VirtCOMServer.CVirtCOMObjectClass&quot; C# interop class with Virtuoso. Click \n\t\ton the &quot;VirtCOMObject.c&quot; and &quot;VirtCOMObject.h&quot; link to see the C++ source code of this interface and it&#39;s class\n\t    \t&quot;vsp1.vsp&quot; uses the methods &quot;AddAmount&quot;, &quot;Clear&quot; and &quot;get_balance&quot; of the &quot;VirtCOMServer.IVirtCOMObject&quot; Interface to \n\t\tsum a number of amounts and get the resulting total.\n\t\n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_1/ho_s_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using Java Objects to extend Virtuoso via User Defined Types." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Integrating Java Objects with Virtuoso" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:29 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n  The following tutorial demonstrates how Virtuoso can be extended \n  through the use of Java to create User Defined Types (UDTs), Stored Procedures, \n  and Functions. This is an enhancement of its Object-Relational Database functionality. \n  The demonstrations in this section highlight transparent integration \n  (hosting) between Virtuoso and the Java Runtime Environment. \n  \n    Prerequisites\n  The following prerequisites ensure the usability of these tutorial demos on any platform with a Java Runtime environment:\n\n  Java Runtime (J2EE 1.2 and Higher)\n  Java SDK (if you seek to write your own Objects for integration with Virtuoso)\n  Virtuoso Universal Server with Java Runtime Hosting \n \n\n    Tutorial Example\nThe following tutorial shows how Java Classes are used to create User Defined Types (UDTs), Stored Procedures, and Functions in Virtuoso. \nPlease follow the steps below to maximize the value of this tutorial:\n\n  Click on the \"Set Initial State\" link which registers the Java classes used in this demo with Virtuoso. Click on the \"ho_s_1.sql\" link to see the code behind this step \n  Click on the \"Run\" links to actually experience the demo\n\n\nDemo Breakdown\n\n  \"ho_s_1.sql\" performs the following steps\n    \n       Registers the \"MyFinances\" and \"Point\" Classes with Virtuoso as \n       UDTs. Click on the \"MyFinances.java\" and \"Point.java\" links to see the \n       JAVA source code \n       Creates the conventional SQL table \"Employee\" \n       Creates the Object-Relational table \"Supplier\" that includes a \n       column named \"Location\" that is of  Type \"Point\" (which is a UDT)\n       Populates each of the newly created tables with data\n       Creates the \"distance\" stored procedure which uses UDT \n       methods to calculate the distance between points.\n    \n    \n    \"vsp1.vsp\" uses the static method \"tax\" of the \"MyFinances\" \n    class to compute the payroll tax values for each employee via the \n    \"salary\" column (like a SQL function would). \n    \"vsp2.vsp\" uses the \"distance\" method of the UDT based column \n    \"location\" to test for distance values less than \"3\". The distance values are return values from the \"Point\" UDT. Note that \"Point\" class is computing the distance between two arbitrary points\n    \"vsp3.vsp\" is a variation of the previous demo, with the UDT based \n    column \"location\" being used to access and conditionally test the values of \n    data member \"x\" (shown in \"Point.java\" as 0)\n    \"vsp4.vsp\" is another variation of a query on the \"Supplier\" table, \n    in this particular case the query uses a Stored Procedure (see definition in \n    \"ho_s_2.sql\") to filter its result set.  It achieves this by using data member \n    values \"x\" and \"y\" from column \"location\", and the arbitrary values 1 & 2 \n    as input parameters for the Stored Procedure \"distance\".  It then tests \n    the return values for those less than 3.\n\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n  The following tutorial demonstrates how Virtuoso can be extended \n  through the use of Java to create User Defined Types (UDTs), Stored Procedures, \n  and Functions. This is an enhancement of its Object-Relational Database functionality. \n  The demonstrations in this section highlight transparent integration \n  (hosting) between Virtuoso and the Java Runtime Environment. \n  \n    Prerequisites\n  The following prerequisites ensure the usability of these tutorial demos on any platform with a Java Runtime environment:\n\n  Java Runtime (J2EE 1.2 and Higher)\n  Java SDK (if you seek to write your own Objects for integration with Virtuoso)\n  Virtuoso Universal Server with Java Runtime Hosting \n \n\n    Tutorial Example\nThe following tutorial shows how Java Classes are used to create User Defined Types (UDTs), Stored Procedures, and Functions in Virtuoso. \nPlease follow the steps below to maximize the value of this tutorial:\n\n  Click on the &quot;Set Initial State&quot; link which registers the Java classes used in this demo with Virtuoso. Click on the &quot;ho_s_1.sql&quot; link to see the code behind this step \n  Click on the &quot;Run&quot; links to actually experience the demo\n\n\nDemo Breakdown\n\n  &quot;ho_s_1.sql&quot; performs the following steps\n    \n       Registers the &quot;MyFinances&quot; and &quot;Point&quot; Classes with Virtuoso as \n       UDTs. Click on the &quot;MyFinances.java&quot; and &quot;Point.java&quot; links to see the \n       JAVA source code \n       Creates the conventional SQL table &quot;Employee&quot; \n       Creates the Object-Relational table &quot;Supplier&quot; that includes a \n       column named &quot;Location&quot; that is of  Type &quot;Point&quot; (which is a UDT)\n       Populates each of the newly created tables with data\n       Creates the &quot;distance&quot; stored procedure which uses UDT \n       methods to calculate the distance between points.\n    \n    \n    &quot;vsp1.vsp&quot; uses the static method &quot;tax&quot; of the &quot;MyFinances&quot; \n    class to compute the payroll tax values for each employee via the \n    &quot;salary&quot; column (like a SQL function would). \n    &quot;vsp2.vsp&quot; uses the &quot;distance&quot; method of the UDT based column \n    &quot;location&quot; to test for distance values less than &quot;3&quot;. The distance values are return values from the &quot;Point&quot; UDT. Note that &quot;Point&quot; class is computing the distance between two arbitrary points\n    &quot;vsp3.vsp&quot; is a variation of the previous demo, with the UDT based \n    column &quot;location&quot; being used to access and conditionally test the values of \n    data member &quot;x&quot; (shown in &quot;Point.java&quot; as 0)\n    &quot;vsp4.vsp&quot; is another variation of a query on the &quot;Supplier&quot; table, \n    in this particular case the query uses a Stored Procedure (see definition in \n    &quot;ho_s_2.sql&quot;) to filter its result set.  It achieves this by using data member \n    values &quot;x&quot; and &quot;y&quot; from column &quot;location&quot;, and the arbitrary values 1 &amp; 2 \n    as input parameters for the Stored Procedure &quot;distance&quot;.  It then tests \n    the return values for those less than 3.\n\n    \n " .
<http://demo.openlinksw.com/tutorial/hosting/ho_s_13/ho_s_13.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Using Restrictions for Java hosted types." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/hosting> ;
	<http://purl.org/dc/elements/1.1/title> "Integrating Java Objects with Virtuoso" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:30 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n    Overview\n  The following tutorial demonstrates how Virtuoso can Restrict Java hosted types. \n  \n    Prerequisites\n  The following prerequisites ensure the usability of these tutorial demos on any platform with a Java Runtime environment:\n\n  Java Runtime (J2EE 1.2 and Higher)\n  Java SDK (if you seek to write your own Objects for integration with Virtuoso)\n  Virtuoso Universal Server with Java Runtime Hosting \n \n\n    Tutorial Example\nPlease follow the steps below to maximize the value of this tutorial:\n\n  Click on the \"Set Initial State\" link which registers the Java classes used in this demo with Virtuoso. Click on the \"ho_s_13.sql\" link to see the code behind this step \n  Click on the \"Run\" links to actually experience the demo\n\n\nDemo Breakdown\n\n  \"ho_s_13.sql\" performs the following steps\n    \n       Registers the \"Restricted\" and \"Unrestricted\" Classes with Virtuoso as \n       UDTs. Click on the \"Restricted.java\" and \"Unrestricted.java\" links to see the \n       JAVA source code \n       The Restricted types can't write to FS, can't read System envariment. For full list from restrictions, please see documentation.\n    \n    \n\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n    Overview\n  The following tutorial demonstrates how Virtuoso can Restrict Java hosted types. \n  \n    Prerequisites\n  The following prerequisites ensure the usability of these tutorial demos on any platform with a Java Runtime environment:\n\n  Java Runtime (J2EE 1.2 and Higher)\n  Java SDK (if you seek to write your own Objects for integration with Virtuoso)\n  Virtuoso Universal Server with Java Runtime Hosting \n \n\n    Tutorial Example\nPlease follow the steps below to maximize the value of this tutorial:\n\n  Click on the &quot;Set Initial State&quot; link which registers the Java classes used in this demo with Virtuoso. Click on the &quot;ho_s_13.sql&quot; link to see the code behind this step \n  Click on the &quot;Run&quot; links to actually experience the demo\n\n\nDemo Breakdown\n\n  &quot;ho_s_13.sql&quot; performs the following steps\n    \n       Registers the &quot;Restricted&quot; and &quot;Unrestricted&quot; Classes with Virtuoso as \n       UDTs. Click on the &quot;Restricted.java&quot; and &quot;Unrestricted.java&quot; links to see the \n       JAVA source code \n       The Restricted types can&#39;t write to FS, can&#39;t read System envariment. For full list from restrictions, please see documentation.\n    \n    \n\n    \n " .
<http://demo.openlinksw.com/tutorial/xml/xq_s_2/xq_s_2.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "fn:collection usage example" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ,
		<http://demo.openlinksw.com/tutorial/xmlapps> ;
	<http://purl.org/dc/elements/1.1/title> "Filter WebDAV content content by XQuery" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n\tPreliminary\n\t\n\t    XQuery collection function can be used to get all parsed documents in collection. Virtuoso engine supports several types of collections:\n\t\n\t\n\t    http://local.virt/DAV/PATHTO - local DAV collection. Contains all documents in DAV collection with path \"PATHTO\".\n\t    \n\t    http://host:port/path - any other URL that can be used to access remote WebDAV collections \n\t\n\tIn this example collection function is used to filter local blog entries and all cached blog entries from subscriptions. search.vsp uses this collection to filter blogs by XPath exression. For instance, search.vsp with '//a' expression returns all link from all blogs.\n\t\n\t\n\t    text.vsp uses collection function to search blogs which contain some word. Note, it uses \"contains\" predicate to search blogs, this means it is case sensitive.\n\t\n    \n\tPrerequisites\n\tThis example needs the following VAD packages to be installed:\n\t\n\t    Conductor\n\t    Framework\n\t    Briefcase\n\t    Feed Manager\n\t    Weblog\n\t\n\tIf you do not have permissions to install the above please ask the administrator.\n\tThe VAD installation can be done via Conductor (if it's installed) or via ISQL tool using vad_install() API function. \n\t    For more details on vad installation please read the user manual.\n\t\n\t    Important: before to run any of the actions bellow you need to setup a ODS account (or use tutorial_demo with password secret).\n\t    In both cases you will need to login in ODS and create instances of the Briefcase, Feed Manager and Weblog applications. \n\t\n\t\n\t    Using the Feed Manager you should subscribe to some news feeds in RSS, Atom or RDF format.\n\t\n\t\n\t    Using the Briefcase you can upload some sample data in the account's home directory.\n\t\n\t\n\t    Using the Weblog, make few sample blog posts.\n\t\n    \n\tExample overview\n\tThis example demonstrates:\n\t\n\t    XQuery collection function\n\t    XPath extension functions\n\t    WebDAV Resource Filtering and WebDAV Extension Types (DETs)\n\t\n    \n\tExample Operation\n\t\n\t    Login into ODS using the link bellow, after successfull authentication the ODS login will redirect browser back to this page\n\t    Using the link 'Run' start the search.vsp\n\t    Initially you will have the ODS account's home directory set as a base, so you can change it using the browse button\n\t    If you don't have initial data loaded or data which not satisfies the conditions, the query execution will be produce empty result.\n\t\n    \n\tExample Setup\n\tThe demo support functions are prepared by loading the supplied SQL file\n    \n    How to run the examples\n\t\n\t    In order to enter the initial data via ODS you need to login and create instances via ODS. After entering the initial data, you will need to go back to this page. If you already done this just skip this step\n\t    In order to run the examples, you need to login in the Web Applications.\n\t    To login you can use the already defined user \"tutorial_demo\" with password \"secret\" case sensitive. \n\t    When you click the \"Run\" link of the search.vsp file the browser will be redirected to ODS login page. After succefull login the browser will be redirected back to this page. \n\t\n    " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n\tPreliminary\n\t\n\t    XQuery collection function can be used to get all parsed documents in collection. Virtuoso engine supports several types of collections:\n\t\n\t\n\t    http://local.virt/DAV/PATHTO - local DAV collection. Contains all documents in DAV collection with path &quot;PATHTO&quot;.\n\t    \n\t    http://host:port/path - any other URL that can be used to access remote WebDAV collections \n\t\n\tIn this example collection function is used to filter local blog entries and all cached blog entries from subscriptions. search.vsp uses this collection to filter blogs by XPath exression. For instance, search.vsp with &#39;//a&#39; expression returns all link from all blogs.\n\t\n\t\n\t    text.vsp uses collection function to search blogs which contain some word. Note, it uses &quot;contains&quot; predicate to search blogs, this means it is case sensitive.\n\t\n    \n\tPrerequisites\n\tThis example needs the following VAD packages to be installed:\n\t\n\t    Conductor\n\t    Framework\n\t    Briefcase\n\t    Feed Manager\n\t    Weblog\n\t\n\tIf you do not have permissions to install the above please ask the administrator.\n\tThe VAD installation can be done via Conductor (if it&#39;s installed) or via ISQL tool using vad_install() API function. \n\t    For more details on vad installation please read the user manual.\n\t\n\t    Important: before to run any of the actions bellow you need to setup a ODS account (or use tutorial_demo with password secret).\n\t    In both cases you will need to login in ODS and create instances of the Briefcase, Feed Manager and Weblog applications. \n\t\n\t\n\t    Using the Feed Manager you should subscribe to some news feeds in RSS, Atom or RDF format.\n\t\n\t\n\t    Using the Briefcase you can upload some sample data in the account&#39;s home directory.\n\t\n\t\n\t    Using the Weblog, make few sample blog posts.\n\t\n    \n\tExample overview\n\tThis example demonstrates:\n\t\n\t    XQuery collection function\n\t    XPath extension functions\n\t    WebDAV Resource Filtering and WebDAV Extension Types (DETs)\n\t\n    \n\tExample Operation\n\t\n\t    Login into ODS using the link bellow, after successfull authentication the ODS login will redirect browser back to this page\n\t    Using the link &#39;Run&#39; start the search.vsp\n\t    Initially you will have the ODS account&#39;s home directory set as a base, so you can change it using the browse button\n\t    If you don&#39;t have initial data loaded or data which not satisfies the conditions, the query execution will be produce empty result.\n\t\n    \n\tExample Setup\n\tThe demo support functions are prepared by loading the supplied SQL file\n    \n    How to run the examples\n\t\n\t    In order to enter the initial data via ODS you need to login and create instances via ODS. After entering the initial data, you will need to go back to this page. If you already done this just skip this step\n\t    In order to run the examples, you need to login in the Web Applications.\n\t    To login you can use the already defined user &quot;tutorial_demo&quot; with password &quot;secret&quot; case sensitive. \n\t    When you click the &quot;Run&quot; link of the search.vsp file the browser will be redirected to ODS login page. After succefull login the browser will be redirected back to this page. \n\t\n    \n " .
<http://demo.openlinksw.com/tutorial/xml/xq_s_2a/xq_s_2a.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "collection usage example" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ,
		<http://demo.openlinksw.com/tutorial/xmlapps> ;
	<http://purl.org/dc/elements/1.1/title> "Filter blogs content by XQuery" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:42 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n      Example\n    collection description\n    \n      XQuery collection function can be used to get all parsed documents in collection. Virtuoso engine supports several types of collections:\n    \n    \n      http://local.virt/DAV/PATHTO - local DAV collection. Contains all documents in DAV collection with path \"PATHTO\".\n      \n      http://..... - any other URI relates to remote DAV collections \n    \n    In this example collection function is used to concatenate the entries from several RSS feed files and show their titles and link to the articles. example.vsp uses this collection to filter blogs by XPath exression. For instance, example.vsp with '//link' expression returns all link from all feeds.\n    Click on the \"Set initial state\" link to load the XML files in /DAV/feeds/xq_s_2a/ DAV Collection.\n    Click on the \"Run\" link to experience the demo. Please note that some of the options query files loaded in demo XQ-S-2.\n  " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n      Example\n    collection description\n    \n      XQuery collection function can be used to get all parsed documents in collection. Virtuoso engine supports several types of collections:\n    \n    \n      http://local.virt/DAV/PATHTO - local DAV collection. Contains all documents in DAV collection with path &quot;PATHTO&quot;.\n      \n      http://..... - any other URI relates to remote DAV collections \n    \n    In this example collection function is used to concatenate the entries from several RSS feed files and show their titles and link to the articles. example.vsp uses this collection to filter blogs by XPath exression. For instance, example.vsp with &#39;//link&#39; expression returns all link from all feeds.\n    Click on the &quot;Set initial state&quot; link to load the XML files in /DAV/feeds/xq_s_2a/ DAV Collection.\n    Click on the &quot;Run&quot; link to experience the demo. Please note that some of the options query files loaded in demo XQ-S-2.\n  \n " .
<http://demo.openlinksw.com/tutorial/xml/xq_s_3/xq_s_3.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "document usage example" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xmlapps> ,
		<http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Slashdot RSS feed retrieval" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:42 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n     Example\n    document description\n    \n      XQuery document function can be used to get a parsed document via URL.\n    \n    In this example the document is used to retreive the Slashdot RSS feed and convert the contents into a feed index.\n    Click on the \"Set initial state\" link to load the slash.xml file in /DAV/xmlsql/ DAV Collection with execute permisions.\n    Click on the \"Run\" link and the browser will be redirected to /DAV/xmlsql/slash.xml?contenttype=text/html.\n  " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n     Example\n    document description\n    \n      XQuery document function can be used to get a parsed document via URL.\n    \n    In this example the document is used to retreive the Slashdot RSS feed and convert the contents into a feed index.\n    Click on the &quot;Set initial state&quot; link to load the slash.xml file in /DAV/xmlsql/ DAV Collection with execute permisions.\n    Click on the &quot;Run&quot; link and the browser will be redirected to /DAV/xmlsql/slash.xml?contenttype=text/html.\n  \n " .
<http://demo.openlinksw.com/tutorial/xml/xq_s_4/xq_s_4.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "document usage example" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xmlapps> ,
		<http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "OPML file generation from XHTML source" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:42 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\n      Example\n      \n\t  The demo retrieve a HTML pages containing attendees or bloggers listings and convert them to OPML.\n\t  The conversion is done with XQuery and user-defined XPath functions to resolve the feeds URLs. \n      \n      \n\t  The demo also retrieve few OPML files and re-construct them having the feeds URLs if they are missing.\n      \n      \n\t  When setting the initial state, the demo starts to retrieve pages from the different sites. \n\t  It could take a long time depending on the Internet connection of the machine that Virtuoso is running on. \n\t  It is safe to leave the pop-up open without waiting it to finish and press on the \"Run\" links,\n\t  however if this is the first time you run the initial state, the demo will show only partial results.\n\t  Once the feeds are resolved they will be cached locally in a database table and the generated OPML files will\n\t  be stored as a WebDAV resources.\n      \n      \n\t  The following are source references used in the demo:\n      \n      \n\t  http://wiki.techcrunch.com/third_meetup \t\t\t\t        \n\t  http://news.com.com/html/ne/blogs/CNETNewsBlog100.opml\t\t\t\n\t  http://conferences.oreillynet.com/pub/w/23/speakers.html                    \n\t  http://conferences.oreillynet.com/pub/w/38/speakers.html                    \n\t  http://www.alwayson-network.com/comments.php?id=10852_0_11_0_C              \n\t  http://www.gnomedex.com/holdings/br_2005%20Gnomedexers.opml\t\t\t\n\t  http://www.web2con.com/pub/w/40/speakers.html                               \n\t  http://www.thenewpr.com/wiki/pmwiki.php?pagename=Resources.CEOBlogsList     \n\t  http://nwr.cowblock.net/index.php?action=list\t\t\t\t\n\t  http://okrasoup.typepad.com/black_looks/2005/05/naija_blogs.html\t\t\n\t  http://allafrica.com/afdb/blogs/blogafrica.opml                             \n      \n  " ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\n      Example\n      \n\t  The demo retrieve a HTML pages containing attendees or bloggers listings and convert them to OPML.\n\t  The conversion is done with XQuery and user-defined XPath functions to resolve the feeds URLs. \n      \n      \n\t  The demo also retrieve few OPML files and re-construct them having the feeds URLs if they are missing.\n      \n      \n\t  When setting the initial state, the demo starts to retrieve pages from the different sites. \n\t  It could take a long time depending on the Internet connection of the machine that Virtuoso is running on. \n\t  It is safe to leave the pop-up open without waiting it to finish and press on the &quot;Run&quot; links,\n\t  however if this is the first time you run the initial state, the demo will show only partial results.\n\t  Once the feeds are resolved they will be cached locally in a database table and the generated OPML files will\n\t  be stored as a WebDAV resources.\n      \n      \n\t  The following are source references used in the demo:\n      \n      \n\t  http://wiki.techcrunch.com/third_meetup \t\t\t\t        \n\t  http://news.com.com/html/ne/blogs/CNETNewsBlog100.opml\t\t\t\n\t  http://conferences.oreillynet.com/pub/w/23/speakers.html                    \n\t  http://conferences.oreillynet.com/pub/w/38/speakers.html                    \n\t  http://www.alwayson-network.com/comments.php?id=10852_0_11_0_C              \n\t  http://www.gnomedex.com/holdings/br_2005%20Gnomedexers.opml\t\t\t\n\t  http://www.web2con.com/pub/w/40/speakers.html                               \n\t  http://www.thenewpr.com/wiki/pmwiki.php?pagename=Resources.CEOBlogsList     \n\t  http://nwr.cowblock.net/index.php?action=list\t\t\t\t\n\t  http://okrasoup.typepad.com/black_looks/2005/05/naija_blogs.html\t\t\n\t  http://allafrica.com/afdb/blogs/blogafrica.opml                             \n      \n  \n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_0/sx_e_0.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XMLELEMENT() function." ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Overview" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nXMLELEMENT() function. Overview\n\nXMLELEMENT takes an element name for identifier, an optional collection of attributes for the element, \n    and arguments that make up the element's content. \n    It returns an XML element. The second parameter may be omitted and at that time the \n    rest parameters may be present. If one of the arguments is a call of the xpath_eval returning \n    an attribute value, then this value would be added to element's content (not to element's attributes).\n\n\nXMLATTRIBUTES() function. Overview\n\n   This function creates a vector that may be used only as argument of \n   XMLELEMENT function. The vector has an even number of elements, each odd element is a name of an attribute, an\n   even element is its value. If the attribute value is NULL, then no attribute and no value is created.\n   If none of the attribute is created, then the function returns null.\n   If a parameter of the function is a column name, then you can omit the 'AS clause', and Virtuoso uses the partially escaped form of \n   the column name as the attribute name. \n\n\nsx_e_? Demos\n\n   Countinue with the next sx_e_? demos to see examples of functoins usage\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nXMLELEMENT() function. Overview\n\nXMLELEMENT takes an element name for identifier, an optional collection of attributes for the element, \n    and arguments that make up the element&#39;s content. \n    It returns an XML element. The second parameter may be omitted and at that time the \n    rest parameters may be present. If one of the arguments is a call of the xpath_eval returning \n    an attribute value, then this value would be added to element&#39;s content (not to element&#39;s attributes).\n\n\nXMLATTRIBUTES() function. Overview\n\n   This function creates a vector that may be used only as argument of \n   XMLELEMENT function. The vector has an even number of elements, each odd element is a name of an attribute, an\n   even element is its value. If the attribute value is NULL, then no attribute and no value is created.\n   If none of the attribute is created, then the function returns null.\n   If a parameter of the function is a column name, then you can omit the &#39;AS clause&#39;, and Virtuoso uses the partially escaped form of \n   the column name as the attribute name. \n\n\nsx_e_? Demos\n\n   Countinue with the next sx_e_? demos to see examples of functoins usage\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_1/sx_e_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element without content" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element without content" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 1\nThis example shows a simple use of the XMLELEMENT() for creating the xml element 'Employee' (for each \nemployee) without content:\n\n\nselect XMLELEMENT (\"Employee\") from \"Demo\".\"demo\".\"Employees\"\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 1\nThis example shows a simple use of the XMLELEMENT() for creating the xml element &#39;Employee&#39; (for each \nemployee) without content:\n\n\nselect XMLELEMENT (&quot;Employee&quot;) from &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_2/sx_e_2.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with a text content" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with a text content" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 2\nThis example shows a use of the XMLELEMENT() for creating the xml element 'EmployeeName' \n(for each employee) with the text content that is value of the 'LastName' column from the \n\"Demo\".\"demo\".\"Employees\" table.\n\n\nselect XMLELEMENT (\"EmployeeName\", \"LastName\") \nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 2\nThis example shows a use of the XMLELEMENT() for creating the xml element &#39;EmployeeName&#39; \n(for each employee) with the text content that is value of the &#39;LastName&#39; column from the \n&quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot; table.\n\n\nselect XMLELEMENT (&quot;EmployeeName&quot;, &quot;LastName&quot;) \nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_3/sx_e_3.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with attributes" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with attributes" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 3\nThis example shows a use of the XMLELEMENT() for creating the xml element 'Emp' with three \nattributes - 'EmployeeID', 'firstname' and 'lastname' getting their values from the  \n'EmployeeID', 'FirstName' and 'LastName' columns, respectively. The pairs of attribute and its \nvalue are produced by XMLATTRIBUTES() function. If a parameter of the XMLATTRIBUTES() has no 'as clause', \nVirtuoso uses the partially escaped form of the column name as the attribute name. \n\n\nselect\n     XMLELEMENT (\"Emp\", XMLATTRIBUTES (\"EmployeeID\", \"FirstName\" as \"firstname\", \"LastName\" as \"lastname\"))\nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 3\nThis example shows a use of the XMLELEMENT() for creating the xml element &#39;Emp&#39; with three \nattributes - &#39;EmployeeID&#39;, &#39;firstname&#39; and &#39;lastname&#39; getting their values from the  \n&#39;EmployeeID&#39;, &#39;FirstName&#39; and &#39;LastName&#39; columns, respectively. The pairs of attribute and its \nvalue are produced by XMLATTRIBUTES() function. If a parameter of the XMLATTRIBUTES() has no &#39;as clause&#39;, \nVirtuoso uses the partially escaped form of the column name as the attribute name. \n\n\nselect\n     XMLELEMENT (&quot;Emp&quot;, XMLATTRIBUTES (&quot;EmployeeID&quot;, &quot;FirstName&quot; as &quot;firstname&quot;, &quot;LastName&quot; as &quot;lastname&quot;))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_4/sx_e_4.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with attribute, a text content and a sublement" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with attribute, a text content and a sublement" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 4\nThis example shows a use of the XMLELEMENT() for creating the xml element 'Employee' with the  \n'EmployeeID' attribute, text content that is concatenations of the value of the 'FirstName' column, \nof the blank character and of the value of the 'LastName', and the 'Title' subelement having \n'title' attribute.\n\n\nselect XMLELEMENT ('Employee', XMLATTRIBUTES (\"EmployeeID\"), \"FirstName\"||' '||\"LastName\", \n                                XMLELEMENT(\"Title\", XMLATTRIBUTES ( \"Title\" as \"title\")))\nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 4\nThis example shows a use of the XMLELEMENT() for creating the xml element &#39;Employee&#39; with the  \n&#39;EmployeeID&#39; attribute, text content that is concatenations of the value of the &#39;FirstName&#39; column, \nof the blank character and of the value of the &#39;LastName&#39;, and the &#39;Title&#39; subelement having \n&#39;title&#39; attribute.\n\n\nselect XMLELEMENT (&#39;Employee&#39;, XMLATTRIBUTES (&quot;EmployeeID&quot;), &quot;FirstName&quot;||&#39; &#39;||&quot;LastName&quot;, \n                                XMLELEMENT(&quot;Title&quot;, XMLATTRIBUTES ( &quot;Title&quot; as &quot;title&quot;)))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_5/sx_e_5.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with two nested subelements" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with two nested subelements" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 5\nThis example shows a use of the XMLELEMENT() for creating the xml element \n'FullName' with two subelements 'firstname' and 'lastname'. Both subelements have the \nsimple text content. \n\n\nselect\n      XMLELEMENT ('FullName',\n                        XMLELEMENT ('firstname', \"FirstName\"),\n                        XMLELEMENT ('lastname', \"LastName\"))\nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 5\nThis example shows a use of the XMLELEMENT() for creating the xml element \n&#39;FullName&#39; with two subelements &#39;firstname&#39; and &#39;lastname&#39;. Both subelements have the \nsimple text content. \n\n\nselect\n      XMLELEMENT (&#39;FullName&#39;,\n                        XMLELEMENT (&#39;firstname&#39;, &quot;FirstName&quot;),\n                        XMLELEMENT (&#39;lastname&#39;, &quot;LastName&quot;))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_6/sx_e_6.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with XMLFOREST() function call as parameter" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with nested XMLFOREST() function" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 6\nThe example shows a use of the XMLELEMENT() with the nested call of XMLFOREST() function. The result is identical\nto the previous example.\n\n\nselect\n      XMLELEMENT ('FullName',\n                        XMLFOREST (\"FirstName\"as \"firstname\", \"LastName\" as \"lastname\"))\nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 6\nThe example shows a use of the XMLELEMENT() with the nested call of XMLFOREST() function. The result is identical\nto the previous example.\n\n\nselect\n      XMLELEMENT (&#39;FullName&#39;,\n                        XMLFOREST (&quot;FirstName&quot;as &quot;firstname&quot;, &quot;LastName&quot; as &quot;lastname&quot;))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_7/sx_e_7.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with XMLCONCAT() function call as parameter" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with nested XMLCONCAT() function" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:40 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 7\nThe example shows a use of the XMLELEMENT() with the nested call of XMLCONCAT() function. The result is identical\nto the previous two examples.\n\n\nselect\n      XMLELEMENT ('FullName',\n                             XMLCONCAT (\n                                        XMLELEMENT ('firstname', \"FirstName\"),\n                                        XMLELEMENT ('lastname', \"LastName\"))) \nfrom \"Demo\".\"demo\".\"Employees\";\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 7\nThe example shows a use of the XMLELEMENT() with the nested call of XMLCONCAT() function. The result is identical\nto the previous two examples.\n\n\nselect\n      XMLELEMENT (&#39;FullName&#39;,\n                             XMLCONCAT (\n                                        XMLELEMENT (&#39;firstname&#39;, &quot;FirstName&quot;),\n                                        XMLELEMENT (&#39;lastname&#39;, &quot;LastName&quot;))) \nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_8/sx_e_8.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with XMLAGG() function call as parameter" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with nested XMLAGG() function" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 8\nThis example produces an 'Emp' element with attribute 'Title'\nand a list of all employees having the title 'Sales Representative' as element content.\n\n\nselect XMLELEMENT ('Emp', XMLATTRIBUTES (\"Title\"),                    \n                          XMLAGG (XMLELEMENT ('Name', \"FirstName\", ' ', \"LastName\")))\nfrom \"Demo\".\"demo\".\"Employees\"\nwhere \"Title\"= 'Sales Representative';\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 8\nThis example produces an &#39;Emp&#39; element with attribute &#39;Title&#39;\nand a list of all employees having the title &#39;Sales Representative&#39; as element content.\n\n\nselect XMLELEMENT (&#39;Emp&#39;, XMLATTRIBUTES (&quot;Title&quot;),                    \n                          XMLAGG (XMLELEMENT (&#39;Name&#39;, &quot;FirstName&quot;, &#39; &#39;, &quot;LastName&quot;)))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;\nwhere &quot;Title&quot;= &#39;Sales Representative&#39;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_e_9/sx_e_9.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XML element with the entity objects as parameters" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making an XML element with the entity objects as parameters " ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample 9\nThis example creates an 'FullAddress' element with \n\n   four attributes, three of them ('PostalCode', 'Address', 'City') are\n   produced by XMLATTRIBUTES, and the fourth attribute - 'country' is calculated by \n   xquery_eval \n  'Region' subelement, that is produced by xtree_doc\n  text content, that is produced by xpath_eval \n  'emp' subelement with text content from the column \"LastName\", that is created by nested\n  XMLELEMENT\n\n\nselect XMLELEMENT ('FullAddress',\n                        XMLATTRIBUTES ( \"PostalCode\", \"Address\", \"City\"),\n                        xtree_doc ('<Region>WA</Region>'),\n                        xquery_eval('//@country', xtree_doc('<a country=\"USA\"/>')),\n                        xpath_eval('//@Phone', xtree_doc('<a Phone=\"(206) 555-9857\"/>')),\n                        XMLELEMENT('emp', \"LastName\"))\nfrom \"Demo\".\"demo\".\"Employees\" \n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample 9\nThis example creates an &#39;FullAddress&#39; element with \n\n   four attributes, three of them (&#39;PostalCode&#39;, &#39;Address&#39;, &#39;City&#39;) are\n   produced by XMLATTRIBUTES, and the fourth attribute - &#39;country&#39; is calculated by \n   xquery_eval \n  &#39;Region&#39; subelement, that is produced by xtree_doc\n  text content, that is produced by xpath_eval \n  &#39;emp&#39; subelement with text content from the column &quot;LastName&quot;, that is created by nested\n  XMLELEMENT\n\n\nselect XMLELEMENT (&#39;FullAddress&#39;,\n                        XMLATTRIBUTES ( &quot;PostalCode&quot;, &quot;Address&quot;, &quot;City&quot;),\n                        xtree_doc (&#39;&lt;Region&gt;WA&lt;/Region&gt;&#39;),\n                        xquery_eval(&#39;//@country&#39;, xtree_doc(&#39;&lt;a country=&quot;USA&quot;/&gt;&#39;)),\n                        xpath_eval(&#39;//@Phone&#39;, xtree_doc(&#39;&lt;a Phone=&quot;(206) 555-9857&quot;/&gt;&#39;)),\n                        XMLELEMENT(&#39;emp&#39;, &quot;LastName&quot;))\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot; \n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_f_1/sx_f_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XMLFOREST() function" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making a Forest of XML elements" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nXMLFOREST() function. Overview\n\nXMLFOREST produces a forest of XML elements from the given list of arguments. \n   The arguments may be string expressions with optional aliases. If string expression is a column name, \n   then you can omit the 'AS clause', and Virtuoso uses the partially escaped form of \n   the column name as the name of the enclosing tag. If the expression evaluates to NULL, then no element is \n   created for that expression. If none of the element is created, then the function returns null.\n\n\nExample 1\nThis example produces a forest of five (or four) elements ('FName', 'LName', 'Title', 'Region' - if there is a value,  'str') \nwith the text content from 'FirstName', 'LastName', 'Title', and 'Region' \ncolumns of the \"Employees\" table and 'simple_string' string,\nand concatenates the elements produced. Five elements are created for the employee with \"EmployeeId\" = 1 and four elements \nare created for the employee with \"EmployeeId\" = 5:\n\n\nselect XMLFOREST (\"FirstName\" as \"FName\", \"LastName\" as \"LName\", \"Title\", \"Region\", 'simple_string' as \"str\")\n  from \"Demo\".\"demo\".\"Employees\" \n  where \"EmployeeId\" = 1 or \"EmployeeId\" = 5\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nXMLFOREST() function. Overview\n\nXMLFOREST produces a forest of XML elements from the given list of arguments. \n   The arguments may be string expressions with optional aliases. If string expression is a column name, \n   then you can omit the &#39;AS clause&#39;, and Virtuoso uses the partially escaped form of \n   the column name as the name of the enclosing tag. If the expression evaluates to NULL, then no element is \n   created for that expression. If none of the element is created, then the function returns null.\n\n\nExample 1\nThis example produces a forest of five (or four) elements (&#39;FName&#39;, &#39;LName&#39;, &#39;Title&#39;, &#39;Region&#39; - if there is a value,  &#39;str&#39;) \nwith the text content from &#39;FirstName&#39;, &#39;LastName&#39;, &#39;Title&#39;, and &#39;Region&#39; \ncolumns of the &quot;Employees&quot; table and &#39;simple_string&#39; string,\nand concatenates the elements produced. Five elements are created for the employee with &quot;EmployeeId&quot; = 1 and four elements \nare created for the employee with &quot;EmployeeId&quot; = 5:\n\n\nselect XMLFOREST (&quot;FirstName&quot; as &quot;FName&quot;, &quot;LastName&quot; as &quot;LName&quot;, &quot;Title&quot;, &quot;Region&quot;, &#39;simple_string&#39; as &quot;str&quot;)\n  from &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot; \n  where &quot;EmployeeId&quot; = 1 or &quot;EmployeeId&quot; = 5\n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_g_1/sx_g_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XMLCONCAT() function" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making a Forest of XML elements by XMLCONCAT() function" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nXMLCONCAT() function Overview\n\nXMLCONCAT() accepts a list of XML value expressions as its arguments, and produces a forest of elements by \n   concatenating the XML values that are returned from the same row to make one value. \n   XMLCONCAT works like XMLFOREST,\n   except that XMLCONCAT parameters is a list of XML elements. \n    Null expressions are dropped from the result. If all the value expressions are null, then the function returns null.\n\nExample 1\n This example produces a forest from the 'FName', 'LName' and 'Region' (if a column value is not NULL)\n  elements for each employee: \n\n\nselect XMLCONCAT (\n  XMLELEMENT ('FName', \"FirstName\"), XMLELEMENT ('LName', \"LastName\"), \n  XMLELEMENT ('Region', \"Region\") )\nfrom \"Demo\".\"demo\".\"Employees\"; \n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nXMLCONCAT() function Overview\n\nXMLCONCAT() accepts a list of XML value expressions as its arguments, and produces a forest of elements by \n   concatenating the XML values that are returned from the same row to make one value. \n   XMLCONCAT works like XMLFOREST,\n   except that XMLCONCAT parameters is a list of XML elements. \n    Null expressions are dropped from the result. If all the value expressions are null, then the function returns null.\n\nExample 1\n This example produces a forest from the &#39;FName&#39;, &#39;LName&#39; and &#39;Region&#39; (if a column value is not NULL)\n  elements for each employee: \n\n\nselect XMLCONCAT (\n  XMLELEMENT (&#39;FName&#39;, &quot;FirstName&quot;), XMLELEMENT (&#39;LName&#39;, &quot;LastName&quot;), \n  XMLELEMENT (&#39;Region&#39;, &quot;Region&quot;) )\nfrom &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;; \n\n\n " .
<http://demo.openlinksw.com/tutorial/xml/sx_h_1/sx_h_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "XMLAGG() function" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making a Forest of XML elements by XMLAGG() function" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:41 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nXMLAGG() function. Overview\n\nXMLAGG is aggregate function that produces a forest of XML elements from the given list of xml elements. \n   It concatenates the values returned from one column of multiple rows, unlike XMLCONCAT, \n   which concatenates the values returned from multiple columns in the same row.\n\n\nExample 1\nThis example produces a forest of all 'Name' of the employees having \nthe title 'Sales Representative' and places it into one top-level element:\n\n  select XMLELEMENT ('SalesRepresentatives',\n    XMLAGG (XMLELEMENT ('Name', \"FirstName\", ' ', \"LastName\")) )\n    from \"Demo\".\"demo\".\"Employees\"\n    where \"Title\"='Sales Representative';\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nXMLAGG() function. Overview\n\nXMLAGG is aggregate function that produces a forest of XML elements from the given list of xml elements. \n   It concatenates the values returned from one column of multiple rows, unlike XMLCONCAT, \n   which concatenates the values returned from multiple columns in the same row.\n\n\nExample 1\nThis example produces a forest of all &#39;Name&#39; of the employees having \nthe title &#39;Sales Representative&#39; and places it into one top-level element:\n\n  select XMLELEMENT (&#39;SalesRepresentatives&#39;,\n    XMLAGG (XMLELEMENT (&#39;Name&#39;, &quot;FirstName&quot;, &#39; &#39;, &quot;LastName&quot;)) )\n    from &quot;Demo&quot;.&quot;demo&quot;.&quot;Employees&quot;\n    where &quot;Title&quot;=&#39;Sales Representative&#39;;\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_1/xs_s_1.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Freetext index over XML data" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making a freetext index" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nPreliminaries\n\n  Virtuoso provides a compact and efficient free text indexing capability\n   for text and XML data.  A free text index can be created on any character\n   column, including wide and long data.\n  If the column being indexed is XML data, this can be declared and enforced\n   by the text index.  XML data will be indexed specially to support efficient\n   XPATH predicate evaluation with the xcontains predicate.\n\ncreate_freetext_index\n\t: CREATE TEXT [XML] INDEX ON q_table_name '(' column ')'\n\t[WITH KEY column]\n\t[NOT INSERT]  \n\t[CLUSTERED WITH '(' column_commalist ')' ] \n\t[USING FUNCTION]\n\t[LANGUAGE STRING]\n\t;\nThe XML keyword specifies that the data is to be indexed as XML, hence\nelement names and attributes will be processed separately for use with the\nXCONTAINS predicate.\n\n\nExample\n\n  The script inserts the files into the table.\n  The data is stored as text, not as persistent XML.\n  A VSP page shows the list of rows in the table.\n  Each row has the following links:\n   \n     XML source - send the XML text as escaped text enclosed in an HTML <pre> tag.\n     Raw XML - send the XML to the user agent, which must be able to render XML.\n   \n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nPreliminaries\n\n  Virtuoso provides a compact and efficient free text indexing capability\n   for text and XML data.  A free text index can be created on any character\n   column, including wide and long data.\n  If the column being indexed is XML data, this can be declared and enforced\n   by the text index.  XML data will be indexed specially to support efficient\n   XPATH predicate evaluation with the xcontains predicate.\n\ncreate_freetext_index\n\t: CREATE TEXT [XML] INDEX ON q_table_name &#39;(&#39; column &#39;)&#39;\n\t[WITH KEY column]\n\t[NOT INSERT]  \n\t[CLUSTERED WITH &#39;(&#39; column_commalist &#39;)&#39; ] \n\t[USING FUNCTION]\n\t[LANGUAGE STRING]\n\t;\nThe XML keyword specifies that the data is to be indexed as XML, hence\nelement names and attributes will be processed separately for use with the\nXCONTAINS predicate.\n\n\nExample\n\n  The script inserts the files into the table.\n  The data is stored as text, not as persistent XML.\n  A VSP page shows the list of rows in the table.\n  Each row has the following links:\n   \n     XML source - send the XML text as escaped text enclosed in an HTML &lt;pre&gt; tag.\n     Raw XML - send the XML to the user agent, which must be able to render XML.\n   \n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_2/xs_s_2.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Freetext index over persistent XML data" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Making a freetext index" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  Take the table def from nwxml3.sql\n  note the create text xml index ....\n  The script inserts the files into the table.\n  The data is stored as persistent XML.\n  A VSP page shows the list of rows in the table.\n  Each row has the following links:\n    \n      XML source - send the XML text as escaped text enclosed in an HTML <pre> tag.\n      Raw XML - send the XML to the user agent. Must be able to render XML.\n    \n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  Take the table def from nwxml3.sql\n  note the create text xml index ....\n  The script inserts the files into the table.\n  The data is stored as persistent XML.\n  A VSP page shows the list of rows in the table.\n  Each row has the following links:\n    \n      XML source - send the XML text as escaped text enclosed in an HTML &lt;pre&gt; tag.\n      Raw XML - send the XML to the user agent. Must be able to render XML.\n    \n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_3/xs_s_3.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Search on freetext indexed data" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Search on freetext indexed data" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  The example shows entity references using data from XS-S-1.\n  The VSP page has a button for retrieving title elements from a selected document, where the\n   title element contains a substring.\n  The example uses the 'xpath-contains' predicate.\n  The VSP page has a second button with the same function using text-contains.\n  This illustrates that xcontains + text-contains does not go through links, but that xpath_contains +\ncontains does.\n  The example has a viewer for the source of each page so that the entity references can be seen.\n  The page has some of the rows of the text table as persistent XML and others as text.\n  The columns are declared as ANY in SQL. This illustrates the late binding dependent on representation.\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  The example shows entity references using data from XS-S-1.\n  The VSP page has a button for retrieving title elements from a selected document, where the\n   title element contains a substring.\n  The example uses the &#39;xpath-contains&#39; predicate.\n  The VSP page has a second button with the same function using text-contains.\n  This illustrates that xcontains + text-contains does not go through links, but that xpath_contains +\ncontains does.\n  The example has a viewer for the source of each page so that the entity references can be seen.\n  The page has some of the rows of the text table as persistent XML and others as text.\n  The columns are declared as ANY in SQL. This illustrates the late binding dependent on representation.\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_4/xs_s_4.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Search on freetext indexed data using xcontains predicate" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Storing of XSLT results" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  The example shows entity references using data from XS-S-1.\n  The VSP page has a button for retrieving title elements from a selected document, where the title\n   element contains a substring.\n  The example uses the 'xpath contains' predicate.\n  The VSP page has a second button with the same function using text-contains.\n  This illustrates that xcontains + text-contains does not go through links, but that xpath_contains +\ncontains does.\n  The example has a viewer for the source of each page so that the entity references can be seen.\n  The page has some of the rows of the text table as persistent XML and others as text.\n  The columns are declared as ANY in SQL. This illustrates the late binding dependent on representation.\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  The example shows entity references using data from XS-S-1.\n  The VSP page has a button for retrieving title elements from a selected document, where the title\n   element contains a substring.\n  The example uses the &#39;xpath contains&#39; predicate.\n  The VSP page has a second button with the same function using text-contains.\n  This illustrates that xcontains + text-contains does not go through links, but that xpath_contains +\ncontains does.\n  The example has a viewer for the source of each page so that the entity references can be seen.\n  The page has some of the rows of the text table as persistent XML and others as text.\n  The columns are declared as ANY in SQL. This illustrates the late binding dependent on representation.\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_5/xs_s_5.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Storing of XSLT results" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Storing of XSLT results" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  The sample shows storing of XSLT results into a table.\n  The sample will take abstracts and other suitable subsections from the\n  XS-S-1 data and insert them into another table.\n  The VSP will show the source and result of the transformation side by side for any given document.\n  The example uses data from XS-S-1, so it is important to set it first before trying this demo.\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  The sample shows storing of XSLT results into a table.\n  The sample will take abstracts and other suitable subsections from the\n  XS-S-1 data and insert them into another table.\n  The VSP will show the source and result of the transformation side by side for any given document.\n  The example uses data from XS-S-1, so it is important to set it first before trying this demo.\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_6/xs_s_6.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Applying the XPATH expression" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "XPATH interpreter" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  This example allows a selection from a document formed by\n   XS-S-1, and applies a user-written XPATH expression to it.\n   The page has selectable sample expressions including:\n   \n    Count of all titles\n    Sum of the length of sect2 titles\n    All first paragraphs of sect2's.\n   \n  The example uses xpath_eval, and iterates on the results if an array is produced.\n  A single element of the XS-S-1 data is picked as the context node.\n  A special button applies the operation on all rows with xpath_contains, showing the result set\n   with doc name and result.\n  This shows how one row can make multiple results with xpath_contains,\n   but will return an array with xpath_eval.\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  This example allows a selection from a document formed by\n   XS-S-1, and applies a user-written XPATH expression to it.\n   The page has selectable sample expressions including:\n   \n    Count of all titles\n    Sum of the length of sect2 titles\n    All first paragraphs of sect2&#39;s.\n   \n  The example uses xpath_eval, and iterates on the results if an array is produced.\n  A single element of the XS-S-1 data is picked as the context node.\n  A special button applies the operation on all rows with xpath_contains, showing the result set\n   with doc name and result.\n  This shows how one row can make multiple results with xpath_contains,\n   but will return an array with xpath_eval.\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_7/xs_s_7.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Passing an XML entity as parameter to the XSL-T style-sheet" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "XSL-T transformation" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nExample\n\n  This example uses the result from the XML parser in HTML mode to pass a parameter to the XSL-T style-sheet.\n  The XSL-T style-sheet renders the target XML document.\n  The section to be transformed is passed as the entity.\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nExample\n\n  This example uses the result from the XML parser in HTML mode to pass a parameter to the XSL-T style-sheet.\n  The XSL-T style-sheet renders the target XML document.\n  The section to be transformed is passed as the entity.\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_8/xs_s_8.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Building a freetext index using a custom PL indexing hooks" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Freetext indexing hooks" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nFreetext Index\n\n  The freetext index has a default mechanism for indexing and unindexing.\n  By default indexing/unindexing is performed over data column.\n  A custom PL hook can be made for indexing/unindexing, and be associated to the \n   freetext index definition.\n  The data from additional columns can be indexed in the custom PL hooks.\n  Working together with off-band data columns to make index sensitive to changes in the additional columns data \n  they should be declared as off-band data.\n\n\nExample\nThe example SQL script does the following steps:\n\n  Definition of the hooks\n  Making of text index\n\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nFreetext Index\n\n  The freetext index has a default mechanism for indexing and unindexing.\n  By default indexing/unindexing is performed over data column.\n  A custom PL hook can be made for indexing/unindexing, and be associated to the \n   freetext index definition.\n  The data from additional columns can be indexed in the custom PL hooks.\n  Working together with off-band data columns to make index sensitive to changes in the additional columns data \n  they should be declared as off-band data.\n\n\nExample\nThe example SQL script does the following steps:\n\n  Definition of the hooks\n  Making of text index\n\n\n " .
<http://demo.openlinksw.com/tutorial/xmlsql/xs_s_9/xs_s_9.vsp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> ;
	<http://rdfs.org/sioc/ns#description> "Making the resultsets with xpath_eval() function" ;
	<http://rdfs.org/sioc/ns#has_container> <http://demo.openlinksw.com/tutorial/xml> ;
	<http://purl.org/dc/elements/1.1/title> "Using the xpath_eval()" ;
	<http://purl.org/dc/terms/created_at> "Mon, 15 Sep 2008 12:19:43 GMT" ;
	<http://rdfs.org/sioc/ns#content> "\nPreliminaries\nThe xpath_eval() function returns the result of applying the xpath expression to the\ncontext node.  By default only the first result is returned, but supplying a third argument \nallows an index for the value to be specified. The default assumes a value of 1 here.  \nA value of 0 returns an array of 0 or more elements, one for each value selected by the\nxpath expression.\n\nExamples\nThe examples create an internal representation of the XML image using xml_tree_doc().\nAn xpath_eval() statement is then executed against the internal representation of the XML document\nspecified as /ROOT/Customers which identifies the <Customers> nodes to be processed.\n\nThe loop iterates over result for each attribute value (as CustomerID and ContactName in the first example) \nand retrieves the necessary values. \nThen the PL procedures calls result_names() and result() to send the result set to the client.\n\nThe first example will produce (when applying via ISQL utility)\n\nCustomerID  ContactName\nVARCHAR     VARCHAR\n________________________\n\nVINET       Paul Henriot\nLILAS       Carlos Gonzalez\n\n\nHere is the result from execution of the second script:\n\nOrderID    CustomerID    OrderDate              ProductID     Quantity\nVARCHAR    VARCHAR       VARCHAR                VARCHAR       VARCHAR\n______________________________________________________________________\n\n10248      VINET         1996-07-04T00:00:00    11            12\n10248      VINET         1996-07-04T00:00:00    42            10\n10283      LILAS         1996-08-16T00:00:00    72            3\n\n\nThe VSP code displays the same data, but formats it into a table.\n\nThe third example shows XML entities that have returned from first execution of the xpath_eval();\n" ;
	<http://purl.org/rss/1.0/modules/content/encoded> "\nPreliminaries\nThe xpath_eval() function returns the result of applying the xpath expression to the\ncontext node.  By default only the first result is returned, but supplying a third argument \nallows an index for the value to be specified. The default assumes a value of 1 here.  \nA value of 0 returns an array of 0 or more elements, one for each value selected by the\nxpath expression.\n\nExamples\nThe examples create an internal representation of the XML image using xml_tree_doc().\nAn xpath_eval() statement is then executed against the internal representation of the XML document\nspecified as /ROOT/Customers which identifies the &lt;Customers&gt; nodes to be processed.\n\nThe loop iterates over result for each attribute val