Announcement: OpenLink Virtuoso releases cross platform XQUERY Database

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