1 / 19

Virtuoso

Virtuoso. Michael Povolotsky CMSC491s/691s. What is Virtuoso?. Virtuoso, known as Virtuoso Universal Server, is a multi-protocol RDBMS

gpuente
Download Presentation

Virtuoso

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Virtuoso Michael Povolotsky CMSC491s/691s

  2. What is Virtuoso? • Virtuoso, known as Virtuoso Universal Server, is a multi-protocol RDBMS • Includes an object-relational database engine (for sql, xml, rdf, and free-text), includes JAVA and .NET runtime hosting, Web Application Server, Web Services, Web Content Management, DataPortability ( controlling, sharing, and moving data freely from system to system)

  3. Instead of separate servers for RDBMS, ORDBMS, RDF, XML, Web Application Server, and File Server functionality, Virtuoso combines the aforementioned into a single “universal server” • Virtuoso is designed with multi-threading and multi-CPU support

  4. Quads • Implements a quad (graph, subject, predicate, object) • Default Layout - GSPO is used as the primary key - OPGS is used as a bitmap index • GPS are IRI ids (Internalized Resource Identifier) , O is any SQL serializable object • Uses bitmap indices for efficient storage capacity

  5. Quads • In Virtuoso, an RDF mapping schema consists of declarations of one or more quad storages.[1] • The default quad storage declares that the system table RDF QUAD consists of four columns (G, S, P and O) that contain fields of stored triples, using special formats that are suitable for arbitrary RDF nodes and literals.[1]

  6. Quads • “A quad map value describes how to compose one of four fields of an RDF quad. It may be an RDF literal constant, an IRI constant or an IRI class with a list of columns of table aliases where SQL values come from. Four quad map values (for G, S, P and O) form quad map pattern that specify how the column values of table aliases are combined into an RDF quad.”[1]

  7. Data Manipulation • Virtuoso includes support for SPARUL SPARQL and is compatibility with Jena • Updates can be run transactionally or with an automatic commit after each modified triple[1]

  8. SPARQL & SQL • SPARQL is translated into SQL when the query is parsed. • All triples are stored in one table

  9. RDF Inferencing • Includes an integrated capability directly in the Virtuoso SQL execution engine to inference subclasses and sub properties. • Asking for the class of an IRI also return any super classes. This behavior is equivalent to having all of the implied classes stored directly in the database.[1]

  10. Benchmarks • Virtuoso can store over 1 billion triples • Loads 1 billion triples LUBM benchmark at a sustained rate of 12692 triples/s and 47 million triples Wikipedia data set at a sustained rate of 20800 triples/s (Orri Erling, OpenLink) [4]

  11. Applications • Dbpedia • Musicbrainz • Geonames • PingTheSemanticWeb

  12. Features http://virtuoso.openlinksw.com/main/featurematrix/index.htm

  13. Protocols Implemented API’s Implemented • HTTP, HTTPS, WebDAV, SOAP, UDDI, WSDL, WS-Policy, WS-Security, WS-ReliableMessaging, WS-Routing, WS-Referral, WS-Attachment, WS-BPEL, SyncML, GData, SPARQL, SPARUL, NNTP • ODBC, JDBC, OLE DB, ADO.NET, ADO.NET Entity Framework, XMLA

  14. Query Language Support Schema Definition Lanuage • SQL • SPARQL • XQuery • XPath • XSLT • SQL’s DDL (Data Definition Language) • XML Schema

  15. Content Syndication and Interchange Format Support • Atom • RSS 2.0/1.0 • OPML • XBEL • FOAF • SIOC

  16. Cross-Platform Support • Virtuoso is supported on large number of platforms, both 32-bit and 64-bit - Windows - UNIX (HP, AIX, Sun, DEC, BSD, SCO) - Linux (Red Hat, SUSE) - Mac OS X

  17. Licensing • In 2006 Virtuoso was available as open source • Today, Virtuoso is available in both open source and commercial licenses • The open-source version of Virtuoso is known as OpenLink Virtuoso

  18. Subsequent Work • Clustering: increasing the storage of triples from the billions to hundreds of billions and upwards[1] • Updating Relational Data by SPARUL statements: extending SPARUL compiler and run-time in order to make RDF views updatable[1] • Cloud Computing: for huge triple storage sets that current data centers may not be able to handle

  19. Bibliography [1] Erling O., Mikhailov I.: RDF Support in the Virtuoso DBMS [2] Erling O.: Towards Web Scale RDF [3] http://en.wikipedia.org/wiki/Virtuoso_Universal_Server [4] http://virtuoso.openlinksw.com/wiki/main/Main/VOSBitmapIndexing

More Related