- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Wed, 27 Mar 2002 15:28:36 -0500
- To: <www-ql@w3.org>
- Cc: <xquery@yahoogroups.com>
- Message-ID: <001901c1d5cd$f8e69ec0$6632fea9@research.local>
All, Quick FYI re. our recently released Universal Server product (OpenLink Virtuoso) that includes XQUERY support. This release enables the creation of XML Query Template files that includes XQUERY statements. These Templates are consumable either directly via a URL or as SOAP operations (Web Services). The XML documents can take the following forms: 1. SQL-XML - These are Valid (XML Schema or DTD based) or Well Formed XML docs generated on the fly from homogeneous or heterogeneous databases (Native Virtuoso SQL Data or third party databases accessible via ODBC or JDBC). 2. XML or XHTML documents imported into Virtuoso via WebDAV 3. Document created and deposited into Virtuoso via any XML editor (e.g XML Spy) Here are some examples using the live Virtuoso server instance at: http://demo.openlinksw.com:8890/xqdemo 1. Query Statement (stored as query template) re. Use Case R, sample query 1.4.4.10: <result> { for $highbid in document("bids.xml")//bid_tuple, $user in document("users.xml")//user_tuple where $user/userid = $highbid/userid and $highbid/bid = max(document("bids.xml")//bid_tuple [itemno = $highbid/itemno]/bid) return <high_bid> { $highbid/itemno } { $highbid/bid } <bidder> { $user/name/text() } </bidder> </high_bid> sortby (itemno) } </result> URL Access to Query Template (which materializes the resultset): http://demo.openlinksw.com:8890/DAV/xqdemo/sqlxml-bids.xml WSDL endpoint for consuming this Template exposed as a SOAP Operation (Web Service): http://demo.openlinksw.com:8890/demo1/services.wsdl Web Services Interaction Endpoint for testing this Web Service: http://demo.openlinksw.com:8890/demo1/services.vsmx 2. Query Statement (stored as query template) re. Use Case XMP, sample query 1.1.9.10a: <results> { let $doc := document("prices.xml") for $book in $doc/prices/book let $t := $book//title, $p := $doc/prices/book[title = $t]/price return ( $book, <minprice title = { string($t) } > { if (not(empty($p))) then string(min($p)) else <unknown/> } </minprice> ) } </results> URL Access to Query Template (which materializes the resultset): http://demo.openlinksw.com:8890/DAV/xqdemo/sqlxml-prices.xml WSDL endpoint for consuming this Template exposed as a SOAP Operation (Web Service): http://demo.openlinksw.com:8890/demo1/services.wsdl Web Services Interaction Endpoint for testing this Web Service: http://demo.openlinksw.com:8890/demo1/services.vsmx The a many more XML and Web Services etc. tutorials at: http://demo.openlinksw.com:8890/tutorial (note: these aren't necessarily XQUERY based). Regards, Kingsley Idehen OpenLink Software http://www.openlinksw.com/virtuoso/whatis.htm
Received on Wednesday, 27 March 2002 15:30:32 UTC