http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/
Kingsley Idehen's Blog Data Space
I have seen the future and it's full of Linked Data! :-)
kidehen@openlinksw.com
kidehen@openlinksw.com
2024-03-29T13:28:01Z
Virtuoso Universal Server 08.03.3327
http://www.openlinksw.com:443/weblog/public/images/vbloglogo.gif
Re-introducing the Virtuoso Virtual Database Engine
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2010-02-17#1608
2010-02-17T21:38:01Z
2010-02-17T16:46:53-05:00
<p>In recent times a lot of the commentary and focus re. <a href="http://virtuoso.openlinksw.com" id="link-id16a22f48">Virtuoso</a> has centered on the RDF Quad Store and <a href="http://dbpedia.org/resource/Linked_Data" id="link-id112d82a0">Linked Data</a>. What sometimes gets overlooked is the sophisticated <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id6493cc8">Virtual Database</a> Engine that provides the foundation for all of Virtuoso's <a href="http://dbpedia.org/resource/Data">data</a> integration capabilities.</p> <p>In this post I provide a brief re-introduction to this essential aspect of Virtuoso.</p> <h3>What is it?</h3> <p>This component of Virtuoso is known as the Virtual Database Engine (VDBMS). It provides transparent high-performance and secure access to disparate data sources that are external to Virtuoso. It enables federated access and integration of data hosted by any <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id13c26008">ODBC</a>- or <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id166604c0">JDBC</a>-accessible <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id139dfdb8">RDBMS</a>, RDF Store, XML database, or Document (Free Text)-oriented Content Management System. In addition, it facilitates integration with <a href="http://dbpedia.org/resource/World_Wide_Web">Web</a> Services (SOAP-based SOA RPCs or REST-fully accessible Web Resources). </p> <h3>Why is it important?</h3> <p>In the most basic sense, you shouldn't need to upgrade your existing database engine version simply because your current DBMS and Data Access Driver combo isn't compatible with ODBC-compliant desktop tools such as Microsoft Access, Crystal Reports, BusinessObjects, Impromptu, or other of ODBC, JDBC, <a href="http://dbpedia.org/resource/ADO.NET" id="link-id13c7ceb8">ADO</a>.NET, or OLE DB-compliant applications. Simply place Virtuoso in front of your so-called "legacy database," and let it deliver the compliance levels sought by these tools</p> <p>In addition, it's important to note that today's enterprise, through application evolution, company mergers, or acquisitions, is often faced with disparately-structured data residing in any number of line-of-business-oriented data silos. Compounding the problem is the exponential growth of user-generated data via new social media-oriented collaboration tools and platforms. For companies to cost-effectively harness the opportunities accorded by the increasing intersection between line-of-business applications and social media, virtualization of data silos must be achieved, and this virtualization must be delivered in a manner that doesn't prohibitively compromise performance or completely undermine security at either the enterprise or personal level. Again, this is what you get by simply installing Virtuoso.</p> <h3>How do I use it?</h3> <p>The VDBMS may be used in a variety of ways, depending on the data access and integration task at hand. Examples include: </p> <h4>Relational Database Federation</h4> <p>You can make a single ODBC, JDBC, ADO.NET, OLE DB, or XMLA connection to multiple ODBC- or JDBC-accessible RDBMS data sources, concurrently, with the ability to perform intelligent distributed joins against externally-hosted database tables. For instance, you can join internal human resources data against internal sales and external stock market data, even when the HR team uses <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id16706720">Oracle</a>, the Sales team uses <a href="http://dbpedia.org/resource/IBM_Informix" id="link-ide5a15c8">Informix</a>, and the Stock Market figures come from <a href="http://dbpedia.org/resource/Ingres" id="link-id13c0e138">Ingres</a>!</p> <h4>Conceptual Level Data Access using the RDF Model</h4> <p>You can construct RDF Model-based Conceptual Views atop Relational Data Sources. This is about generating HTTP-based <a href="http://dbpedia.org/resource/Entity-attribute-value_model" id="link-id115150f8">Entity</a>-Attribute-Value (E-A-V) graphs using data culled "on the fly" from native or external data sources (Relational Tables/Views, XML-based Web Services, or User Defined Types).</p> <p>You can also derive RDF Model-based Conceptual Views from Web Resource transformations "on the fly" -- the Virtuoso <a href="http://virtuoso.openlinksw.com/Whitepapers/html/VirtSpongerWhitePaper.html" id="link-id1675db50">Sponger</a> (RDFizing middleware component) enables you to generate RDF Model Linked Data via a RESTful Web Service or within the process pipeline of the <a href="http://dbpedia.org/resource/SPARQL" id="link-id166b8d90">SPARQL</a> query engine (i.e., you simply use the <a href="http://dbpedia.org/resource/Uniform_Resource_Locator" id="link-id167d00c8">URL</a> of a Web Resource in the FROM clause of a SPARQL query).</p> <p>It's important to note that Views take the form of HTTP links that serve as both Data Source Names and Data Source Addresses. This enables you to query and explore relationships across entities (i.e., People, Places, and other Real World Things) via HTTP clients (e.g., Web Browsers) or directly via SPARQL Query Language constructs transmitted over HTTP.</p> <h4>Conceptual Level Data Access using ADO.NET <a href="http://dbpedia.org/resource/Entity" id="link-id13c6bb60">Entity</a> <a href="http://dbpedia.org/resource/ADO.NET_Entity_Framework" id="link-id16ad3f68">Frameworks</a> </h4> <p>As an alternative to RDF, Virtuoso can expose ADO.NET Entity Frameworks-based Conceptual Views over Relational Data Sources. It achieves this by generating Entity Relationship graphs via its native ADO.NET Provider, exposing all externally attached ODBC- and JDBC-accessible data sources. In addition, the ADO.NET Provider supports direct access to Virtuoso's native RDF database engine, eliminating the need for resource intensive Entity Frameworks model transformations.</p> <h3>Related</h3> <ul> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtLinkRemoteTables" id="link-id1183acd8">Attaching ODBC or JDBC accessible Relational Tables to Virtuoso</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRdb2RDFViewsGeneration#One-Click%20Linked%20Data%20Generation%20&%20Deployment" id="link-id113f2fd8">Using an HTML based Wizard to Generate RDF based Linked Views over Relational Tables</a> </li> <li> <a href="http://www.youtube.com/watch?v=bj7AbJ0ZYCk&feature=channel" id="link-id16ad4480">Screencast Demonstrating Wizard based generation of RDF based Linked Data Views Part 1</a> </li> <li> <a href="http://www.youtube.com/watch?v=yXNlcISS0aY&feature=channel" id="link-id114eb720">Screencast Demonstrating Wizard based generation of RDF based Linked Data Views Part 1</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSponger" id="link-id116e5810">Generating RDF based Linked Data from non RDF based Web Resources via the Sponger</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAdoNet35Provider" id="link-id16706118">Building ADO.NET based Entity Frameworks Views over Relational Data</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSilverlightSPARQLExample" id="link-id139c1278">Building Silverlight Rich Internat Applicaitons using ADO.NET, Entity Frameworks, and RDF based Linked Data</a>.</li> </ul>
New ADO.NET 3.x Provider for Virtuoso Released (Update 2)
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2009-01-08#1514
2009-01-08T04:36:47Z
2009-01-08T09:12:50.000006-05:00
<p>I am pleased to announce the immediate availability of the <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAdoNet35Provider" id="link-id142e7390">Virtuoso ADO.NET 3.5 data provider</a> for Microsoft's .NET platform.</p> <h3>What is it?</h3> <p>A data access driver/provider that provides conceptual <a href="http://dbpedia.org/resource/Entity" id="link-id11c36c00">entity</a> oriented access to <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id12fb8618">RDBMS</a> data managed by Virtuoso. Naturally, it also uses Virtuoso's in-built virtual / <a href="http://dbpedia.org/resource/federated_database_system" id="link-id115bedc8">federated database</a> layer to provide access to <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id15153c08">ODBC</a> and <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id13418908">JDBC</a> accessible RDBMS engines such as: <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id134d72f0">Oracle</a> (7.x to latest), <a href="http://dbpedia.org/resource/SQL" id="link-id15757b88">SQL</a> Server (4.2 to latest), <a href="http://dbpedia.org/resource/Sybase" id="link-id15ef8d48">Sybase</a>, IBM <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id12f56aa0">Informix</a> (5.x to latest), IBM <a href="http://dbpedia.org/resource/IBM_DB2" id="link-id119feb38">DB2</a>, <a href="http://dbpedia.org/resource/Ingres" id="link-id14e3d6c8">Ingres</a> (6.x to latest), Progress (7.x to OpenEdge), <a href="http://dbpedia.org/resource/MySQL" id="link-id11295630">MySQL</a>, PostgreSQL, <a href="http://dbpedia.org/resource/Firebird_database_server" id="link-id12f40448">Firebird</a>, and others using our ODBC or JDBC bridge drivers.</p> <h3>Benefits?</h3> <h4>Technical:</h4> <p>It delivers an <a href="http://dbpedia.org/resource/Entity-attribute-value_model" id="link-id14012040">Entity-Attribute-Value + Classes & Relationships model</a> over disparate data sources that are materialized as .NET Entity Framework Objects, which are then consumable via ADO.NET Data Object Services, LINQ for Entities, and other ADO.NET data consumers.</p> <p>The provider is fully integrated into Visual Studio 2008 and delivers the same "ease of use" offered by Microsoft's own SQL Server provider, but across Virtuoso, Oracle, Sybase, DB2, Informix, Ingres, <a href="http://dbpedia.org/resource/Progress_4GL" id="link-id158d1fe8">Progress (OpenEdge</a>), MySQL, PostgreSQL, Firebird, and others. The same benefits also apply uniformly to Entity Frameworks compatibility.</p> <p> Bearing in mind that Virtuoso is a multi-model (hybrid) data manager, this also implies that you can use .NET Entity Frameworks against all data managed by Virtuoso. Remember, Virtuoso's SQL channel is a conduit to Virtuoso's core; thus, RDF (courtesy of <a href="http://esw.w3.org/topic/SPASQL" id="link-id133c9b70">SPASQL</a> as already implemented re. <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider" id="link-id11380b80">Jena</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSesame2Provider" id="link-id10fc0c88">Sesame</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFDriverRedland" id="link-id1390f730">Redland</a> providers), XML, and other data forms stored in Virtuoso also become accessible via .NET's Entity Frameworks.</p> <br /> <h4>Strategic:</h4> <p>You can choose which entity oriented data access model works best for you: RDF <a href="http://dbpedia.org/resource/Linked_Data" id="link-id151354f0">Linked Data</a> & <a href="http://dbpedia.org/resource/SPARQL" id="link-id15dc5eb0">SPARQL</a> or .NET Entity Frameworks & <a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework#Entity_SQL" id="link-id14404e80">Entity SQL</a>. Either way, Virtuoso delivers a commercial grade, high-performance, secure, and scalable solution.</p> <br /> <h3>How do I use it?</h3> Simply follow one of guides below: <ul> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtEntityFrameworkSchoolDbWinFormApp" id="link-id15e5c580">Using Visual Studio 2008 & Virtuoso to build an Entity Frameworks based Windows forms application</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtUsingMsAdoNetDataServicesWithVirtuoso" id="link-id157912b0">Using Visual Studio 2008 & Virtuoso to build an ADO.NET Data Services based application</a> </li> </ul> <p> <b>Note:</b> When working with external or 3rd party databases, simply use the Virtuoso Conductor to link the external data source into Virtuoso. Once linked, the remote tables will simply be treated as though they are native Virtuoso tables leaving the <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id15b04b18">virtual database</a> engine to handle the rest. This is similar to the role the Microsoft JET engine played in the early days of ODBC, so if you've ever linked an ODBC data source into Microsoft Access, you are ready to do the same using Virtuoso.</p> <h3>Related</h3> <ul> <li> <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1420" id="link-id160afdd0">Entity Oriented Data Access</a> </li> <li> <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1474" id="link-id113eeb50">Yoda & the Data FORCE.</a> </li> </ul>
The Trouble with Labels (Contd.): Data Integration & SOA
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-10-12#1457
2008-10-12T18:53:44Z
2008-10-12T18:54:22-04:00
<p>I just stumbled across an post from <a href="http://www.itbusinessedge.com" id="link-id10f82f50">ITBusines Edge</a> titled: <a href="http://www.itbusinessedge.com/item/?ci=48119" id="link-id10f37b90">How Semantic Technology Can Help Companies with Integration</a>. While reading the post I encountered the term: <a href="http://dbpedia.org/resource/Master_Data_Management" id="link-id11055eb8">Master Data Manager (MDM)</a>, and wondered to myself, "what's that?" only to realize it's the very same thing I described as a <a href="http://dbpedia.org/resource/Federated_database_system" id="link-id13985af0">Data Virtualization</a> or <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id1167c720">Virtual Database technology</a> (circa. 1998).</p> <p>Now, if re-labeling can confuse <a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id14aaaaf0">me</a> when applied to a realm I've been intimately involved with for eons (<a href="http://dbpedia.org/resource/Internet" id="link-id112042f0">internet</a> time). I don't want to imagine what it does for others who aren't that intimately involved with the important data access and data integration realms. </p> <p>On the more refreshing side, the article does shed some light on the potency of RDF and OWL when applied to the construction of conceptual views of heterogeneous data sources.</p> <blockquote> <cite>"How do you know that data coming from one place calculates net revenue the same way that data coming from another place does? Youâve got people using the same term for different things and different terms for the same things. How do you reconcile all of that? Thatâs really what semantic integration is about." </cite> </blockquote> <p>BTW - I discovered this article via another titled: <a href="http://www.itbusinessedge.com/blogs/mia/?p=485" id="link-id11134098">Understanding Integration And How It Can Help with SOA</a>, that covers SOA and Integration matters. Again, in this piece I feel the gradual realization of the virtues that RDF, OWL, and RDF <a href="http://dbpedia.org/resource/Linked_Data" id="link-id11048740">Linked Data</a> bring to bear in the vital realm of data integration across heterogeneous data silos.</p> <h3>Conclusion</h3> <p>A number of events, at the micro and macro economic levels, are forcing attention back to the issue of productive use of existing IT resources. The trouble with the aforementioned quest is that it ultimately unveils the global IT affliction known as: heterogeneous data silos, and the challenges of pain alleviation, that have been ignored forever or approached inadequately as clearly shown by the rapid build up of SOA horror stories in the data integration realm.</p> <p>Data Integration via conceptualization of heterogenous data sources, that result in concrete conceptual layer data access and management, remains the greatest and most potent application of technologies associated with the "<a href="http://dbpedia.org/resource/Semantic_Web" id="link-id10fa5050">Semantic Web</a>" and/or "Linked Data" monikers.</p> <h3>Related</h3> <ul> <li> <a href="http://www.infoworld.com/article/03/05/23/21FEinnovidehen_1.html" id="link-id118c9c00">InforWorld 2003 Innovator article</a> </li> <li> <a href="http://weblog.infoworld.com/udell/2006/04/28.html" id="link-id11057298">2006 Podcast Interview with Jon Udell</a> </li> <li> <a href="http://dbpedia.org/resource/Enterprise_Information_Integration" id="link-id13f89030">Enterprise Information Integration</a> </li> <li>One of <a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=data%20integration&type=text&output=html" id="link-id11048b98">several posts</a> about our <a href="http://virtuoso.openlinksw.com" id="link-id10fef0e0">Virtuoso</a> <a href="http://dbpedia.org/resource/Virtuoso_Universal_Server" id="link-id10e5a068">Universal Server</a> and <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1406" id="link-id111d5aa8">Conceptual Model based data integration</a> </li> <li> <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory" id="link-id11020108">History of Virtuoso</a> </li> <li> <a href="http://www.mkbergman.com/me/" id="link-id1101e7b0">Mike Bergman</a>'s post titled: <a href="http://www.mkbergman.com/?p=459" id="link-id10fdb640">WOA: A New Enterprise Partner for Linked Data</a> </li> </ul>
Crunchbase & Semantic Web Interview (Remix - Update 1)
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-08-27#1424
2008-08-27T18:16:37Z
2008-08-27T20:35:15-04:00
<p>After reading <a href="http://blog.crunchbase.com/2008/08/26/building-a-semantic-web-interview-with-benjamin-nowack/" id="link-id16b8e0e0">Bengee's interview with CrunchBase</a>, I decided to knock up a quick interview remix as part of my usual attempt to add to the developing discourse.</p> <blockquote> <cite><a href="http://www.crunchbase.com/" id="link-id17c8e7b8">CrunchBase</a>: When we released the <a href="http://www.crunchbase.com/help/api" id="link-id16681f68">CrunchBase API</a>, you were one of the first developers to step up and quickly released a <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com's%20BLOG%20%5B127%5D/1395" id="link-id1016d5f0">CrunchBase Sponger Cartridge</a>. Can you explain what a CrunchBase Sponger Cartridge is?</cite> </blockquote> <blockquote> <a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id13243300">Me</a>: A Sponger Cartridge is a <a href="http://dbpedia.org/resource/Data">data</a> access driver for <a href="http://dbpedia.org/resource/World_Wide_Web">Web</a> Resources that plugs into our <a href="http://virtuoso.openlinksw.com" id="link-id17042f08">Virtuoso</a> <a href="http://dbpedia.org/resource/Virtuoso_Universal_Server" id="link-id1399b588">Universal Server</a> (DBMS and <a href="http://dbpedia.org/resource/Linked_Data" id="link-id137fd188">Linked Data</a> <a href="http://dbpedia.org/resource/Giant_Global_Graph" id="link-id100b23d8">Web</a> Server combo amongst other things). It uses the internal structure of a resource and/or a web service associated with a resource, to materialize an RDF based <a href="http://dbpedia.org/resource/Resource_Description_Framework" id="link-id10418750">Linked Data graph</a> that essentially describes the resource via its properties (Attributes & Relationships). </blockquote> <br /> <img src="http://virtuoso.openlinksw.com/presentations/Creating_Deploying_Exploiting_Linked_Data2/images/ldp4.png" /> <br /> <br /> <br /> <blockquote> <cite>CrunchBase: And what inspired you to create it?</cite> </blockquote> <blockquote> <a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id12fa60c0">Me</a>: Bengee built a new space with your data, and we've built a space on the fly from your data which still resides in your domain. Either solution extols the virtues of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id101a8d28">Linked Data</a> i.e. the ability to explore relationships across data items with high degrees of serendipity (also colloquially known as: following-your-nose pattern in <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id14a3ff30">Semantic Web</a> circles).</blockquote> <blockquote> <a href="http://cb.semsol.org/" id="link-id182a0170">Bengee</a> posted a notice to the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData" id="link-id131e8d10">Linking Open Data Community</a>'s public <a href="http://lists.w3.org/Archives/Public/public-lod/2008Jul/0110.html" id="link-id11dd0720">mailing list announcing his effort</a>. Bearing in mind the fact that we've been using <a href="http://www.openlinksw.com/blog/~kidehen/?id=1144" id="link-id117cf6e8">middleware to mesh the realms of Web 2.0 and the Linked Data Web</a> for a while, it was a no-brainer to knock something up based on the conceptual similarities between <a href="http://wikicompany.org/wiki/Main_Page" id="link-id13b87a68">Wikicompany</a> and CrunchBase. In a sense, a quadrant of orthogonality is what immediately came to mind re. Wikicompany, CrunchBase, Bengee's RDFization efforts, and ours.</blockquote> <blockquote>Bengee created an RDF based <a href="http://dbpedia.org/resource/Linked_Data" id="link-id133c8fc8">Linked Data</a> warehouse based on the data exposed by your API, which is exposed via the <a href="http://cb.semsol.org/" id="link-id1826f928">Semantic CrunchBase</a> <a href="http://en.wikipedia.org/wiki/Data_Spaces" id="link-id102d8890">data space</a>. In our case we've taken the "RDFization on the fly" approach which produces a transient <a href="http://dbpedia.org/resource/Linked_Data" id="link-id16a0b8d0">Linked Data</a> View of the CrunchBase data exposed by your APIs. Our approach is in line with our world view: all resources on the Web are data sources, and the <a href="http://dbpedia.org/resource/Linked_Data" id="link-id1668e6c8">Linked Data</a> <a href="http://dbpedia.org/resource/Giant_Global_Graph" id="link-id188e7da0">Web</a> is about incorporating HTTP into the naming scheme of these data sources so that the conventional <a href="http://dbpedia.org/resource/Uniform_Resource_Locator" id="link-id13490710">URL</a> based hyperlinking mechanism can be used to access a structured description of a resource, which is then transmitted using a range negotiable representation formats. In addition, based on the fact that we house and publish a lot of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id169aa568">Linked Data</a> on the Web (e.g. <a href="http://dbpedia.org/resource/DBpedia" id="link-id10af10e8">DBpedia</a>, <a href="http://www.pingthesemanticweb.com/about/" id="link-id10a2b710">PingTheSemanticWeb</a>, and others), we've also automatically meshed Crunchbase data with related data in <a href="http://dbpedia.org/resource/DBpedia" id="link-id1403cd40">DBpedia</a> and Wikicompany data.</blockquote> <br /> <blockquote> <cite>CrunchBase: Do you know of any apps that are using CrunchBase Cartridge to enhance their functionality?</cite> </blockquote> <blockquote> <a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id177d24c8">Me</a>: Yes, the <a href="http://ode.openlinksw.com" id="link-id10725ca0">OpenLink Data Explorer</a> which provides CrunchBase site visitors with the option to explore the <a href="http://dbpedia.org/resource/Linked_Data" id="link-id17dedea8">Linked Data</a> in the CrunchBase <a href="http://en.wikipedia.org/wiki/Data_Spaces" id="link-id13f02a00">data space</a>. It also allows them to "Mesh" (rather than "Mash") CrunchBase data with other <a href="http://dbpedia.org/resource/Linked_Data" id="link-id11fb3ba0">Linked Data</a> sources on the Web without writing a single line of code. </blockquote> <br /> <blockquote> <cite>CrunchBase: You have been immersed in the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id12e18a00">Semantic Web</a> movement for a while now. How did you first get interested in the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id15132110">Semantic Web</a>?</cite> </blockquote> <blockquote> <a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id0xddaa9c8">Me</a>: We saw the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id188b3330">Semantic Web</a> as a vehicle for standardizing conceptual views of heterogeneous data sources via <a href="http://dbpedia.org/resource/Context_%28language_use%29" id="link-id10350978">context</a> lenses (URIs). In 1998 as part of our strategy to expand our business beyond the development and deployment of <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id171d6798">ODBC</a>, <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id138120a0">JDBC</a>, and OLE-DB data providers, we decided to build a <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id13ea6618">Virtual Database</a> Engine (see: <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSHistory" id="link-id11a4fa30">Virtuoso History</a>), and in doing so we sought a standards based mechanism for the conceptual output of the <a href="http://dbpedia.org/resource/Federated_database_system" id="link-id101a1248">data virtualization</a> effort. As of the time of the <a href="http://www.w3.org/DesignIssues/Semantic.html" id="link-id18882cf8">seminal unveiling of the Semantic Web in 1998</a> we were clear about two things, in relation to the effects of the Web and <a href="http://dbpedia.org/resource/Internet" id="link-id12fa2c58">Internet</a> data management infrastructure inflections: 1) Existing DBMS technology had reached it limits 2) Web Servers would ultimately hit their functional limits. These fundamental realities compelled us to develop <a href="http://virtuoso.openlinksw.com" id="link-id102b09a0">Virtuoso</a> with an eye to leveraging the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id11984d98">Semantic Web</a> as a vehicle from completing its technical roadmap.</blockquote> <br /> <blockquote> <cite>CrunchBase: Can you put into laymanâs terms exactly what RDF and <a href="http://dbpedia.org/resource/SPARQL" id="link-id1066dcf0">SPARQL</a> are and why they are important? Do they only matter for developers or will they extend past developers at some point and be used by website visitors as well?</cite> </blockquote> <blockquote>Me: RDF (Resource Description Framework) is a Graph based Data Model that facilitates resource description using the <a href="http://www.eslincanada.com/englishlesson2.html" id="link-id178b94a8">Subject, Predicate, and Object principle</a>. Associated with the core data model, as part of the overall framework, are a number of markup languages for expressing your descriptions (just as you express presentation markup semantics in HTML or document structure semantics in XML) that include: <a href="http://dbpedia.org/resource/RDFa" id="link-id188db0a8">RDFa</a> (simple extension of HTML markup for embedding descriptions of things in a page), N3 (a human friendly markup for describing resources), RDF/XML (a machine friendly markup for describing resources).</blockquote> <blockquote> <a href="http://dbpedia.org/resource/SPARQL" id="link-id188c2030">SPARQL</a> is the query language associated with the RDF Data Model, just as <a href="http://dbpedia.org/resource/SQL" id="link-id13f0ffe0">SQL</a> is a query language associated with the Relational Database Model. Thus, when you have RDF based structured and <a href="http://dbpedia.org/resource/Linked_Data" id="link-id166874d0">linked data</a> on the Web, you can query against Web using <a href="http://dbpedia.org/resource/SPARQL" id="link-id1016cc98">SPARQL</a> just as you would against an <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id101c9708">Oracle</a>/<a href="http://dbpedia.org/resource/SQL" id="link-id11cb0b18">SQL</a> Server/<a href="http://dbpedia.org/resource/IBM_DB2" id="link-id10760ec0">DB2</a>/<a href="http://dbpedia.org/resource/IBM_Informix" id="link-id1066c8c0">Informix</a>/<a href="http://dbpedia.org/resource/Ingres" id="link-id18894f40">Ingres</a>/<a href="http://dbpedia.org/resource/MySQL" id="link-iddc9ebb0">MySQL</a>/etc.. DBMS using <a href="http://dbpedia.org/resource/SQL" id="link-id1030d120">SQL</a>. That's it in a nutshell.</blockquote> <br /> <blockquote> <cite>CrunchBase: On your website you wrote that âRDF and <a href="http://dbpedia.org/resource/SPARQL" id="link-id168e9ad0">SPARQL</a> as productivity boosters in everyday web developmentâ. Can you elaborate on why you believe that to be true?</cite> </blockquote> <blockquote>Me: I think the ability to discern a formal description of anything via its discrete properties is of immense value re. productivity, especially when the capability in question results in a graph of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id0x179f6328">Linked Data</a> that isn't confined to a specific host operating system, database engine, application or service, programming language, or development framework. RDF <a href="http://dbpedia.org/resource/Linked_Data">Linked Data</a> is about infrastructure for the true materialization of the "<a href="http://dbpedia.org/resource/Information" id="link-id13e475b8">Information</a> at Your Fingertips" vision of yore. Even though it's taken the emergence of RDF Linked Data to make the aforementioned vision tractable, the comprehension of the vision's intrinsic value have been clear for a very long time. Most organizations and/or individuals are quite familiar with the adage: <a href="http://dbpedia.org/resource/Knowledge" id="link-id13e38a30">Knowledge</a> is Power, well there isn't any <a href="http://dbpedia.org/resource/Knowledge" id="link-id188b7348">knowledge</a> without accessible <a href="http://dbpedia.org/resource/Information" id="link-id140415d0">Information</a>, and there isn't any accessible <a href="http://dbpedia.org/resource/Information" id="link-id11a976e8">Information</a> without accessible Data. The Web has always be grounded in accessibility to data (albeit via compound container documents called Web Pages).</blockquote> <blockquote>Bottom line, RDF based Linked Data is about Open <a href="http://dbpedia.org/resource/Reference_(computer_science)" id="link-id1206bfb8">Data access by reference</a> using URIs (HTTP based <a href="http://dbpedia.org/resource/Entity" id="link-idfaa6ce0">Entity</a> IDs / Data Object IDs / Data Source Names), and as I said earlier, the intrinsic value is pretty obvious bearing in mind the costs associated with integrating disparate and heterogeneous data sources -- across intranets, extranets, and the <a href="http://dbpedia.org/resource/Internet" id="link-id188ecc68">Internet</a>.</blockquote> <br /> <blockquote> <cite>CrunchBase: In his definition of Web 3.0, Nova Spivack proposes that the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id12e2d968">Semantic Web</a>, or Semanti<a href="http://dbpedia.org/resource/C_(programming_language)" id="link-id105744c0">c</a> Web technologies, will be force behind much of the innovation that will occur during Web 3.0. Do you agree with Nova Spivack? What role, if any, do you feel the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id13fa4218">Semantic Web</a> will play in Web 3.0?</cite> </blockquote> <blockquote>Me: I agree with Nova. But I see Web 3.0 as a phase within the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id188c9000">Semantic Web</a> innovation continuum. Web 3.0 exists because Web 2.0 exists. Both of these Web versions express usage and technology focus patterns. Web 2.0 is about the use of Open Source technologies to fashion Web Services that are ultimately used to drive proprietary Software as Service (SaaS) style solutions. Web 3.0 is about the use of "Smart Data Access" to fashion a new generation of Linked Data aware Web Services and solutions that exploit the federated nature of the Web to maximum effect; proprietary branding will simply be conveyed via quality of data (cleanliness, <a href="http://dbpedia.org/resource/Context_%28language_use%29" id="link-id188d2ef8">context</a> fidelity, and comprehension of privacy) exposed by URIs.</blockquote> <p>Here are some examples of the CrunchBase Linked Data <a href="http://en.wikipedia.org/wiki/Data_Spaces" id="link-id122756f8">Space</a>, as projected via our CruncBase Sponger Cartridge:</p> <ol> <li> <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http%3A%2F%2Fwww.crunchbase.com%2Fcompany%2Famazon" id="link-id13e0fd18">Amazon.com</a> </li> <li> <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http%3A%2F%2Fwww.crunchbase.com%2Fcompany%2Fmicrosoft" id="link-id13eef9e0">Microsoft</a> </li> <li> <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http%3A%2F%2Fwww.crunchbase.com%2Fcompany%2Fgoogle" id="link-id13fe47a0">Google</a> </li> <li> <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http%3A%2F%2Fwww.crunchbase.com%2Fcompany%2Fapple" id="link-id170c73b8">Apple</a> </li> </ol>
My Talis Podcast re. Semantic Web, Linked Data, and OpenLink Software
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-05-16#1361
2008-05-16T00:10:23Z
2008-05-16T12:53:49.000002-04:00
<p> <a href="http://blogs.talis.com/nodalities/2008/05/kingsley-idehen-talks-about-openlink-software-linked-data-and-the-semantic-web.php" id="link-id1036b118">My podcast interview</a> with <a href="http://www.linkedin.com/in/pau1mi11er" id="link-id1026ed10">Paul Miller</a> of <a href="http://www.talis.com" id="link-id12d210d8">Talis</a> is out. As I listened to the podcast (naturally awkward affair) I got a first hand sense of Paul's mastery of the art of interviewing, even when dealing with a fast talking <a href="http://dbpedia.org/resource/Data" id="link-id180e1208">data</a> blitzers like me. Personally, I think I still talk a little too fast (the Nigerian in me), especially when the subject matter hones right into the epicenter of my professional passions: Open <a href="http://dbpedia.org/resource/Data" id="link-id1737a258">Data</a> Access and Heterogeneous <a href="http://dbpedia.org/resource/Data" id="link-id180f0668">Data</a> Integration (aka. <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id10c62348">Virtual Database</a> Technology) -- so you may need to rewind every now and then during the interview :-)</p> <p>During this particular podcast interview, I deliberately wanted to have an conversation about the practical value of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id180c9f88">Linked Data</a>, rather than the technical innards. The fundamental utility of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id17387618">Linked Data</a> remains somewhat mercurial, and I am certainly hoping to do my bit at the upcoming <a href="http://dbpedia.org/resource/Linked_Data" id="link-id183ec288">Linked Data</a> Planet conference re. demonstrating and articulating <a href="http://dbpedia.org/resource/Linked_Data" id="link-id1401f250">linked data</a> value across the blurring realms of "the individual" and "the enterprise".</p> <p> <strong>Note to my old schoolmates on Facebook</strong>: when you listen to this podcast you will at least reconcile "Uyi Idehen" with "<a href="http://myopenlink.net/dataspace/person/kidehen#this" id="link-id180a7060">Kingsley Idehen</a>". Unfortunately, Facebook refuses to let me Identify myself in the manner I choose. Ideally, I would like to have the name: "Kingsley (Uyi) Idehen" associated with my Facebook ID since this is the Identifier known to my personal network of friends, family, and old schoolmates. This Identity predicament is a long running Identity case study in the making.</p>
Adding Wordpress Blogs into the Linked Data Web using Virtuoso
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-04-09#1333
2008-04-09T21:27:34Z
2008-04-10T12:33:05.000003-04:00
<p> <a href="http://dbpedia.org/resource/WordPress" id="link-id101103b0">Wordpress</a> is a Weblog platform comprised of the following: </p> <ol> <li>User Interface - <a href="http://dbpedia.org/resource/PHP" id="link-id107ba368">PHP</a> </li> <li>Application Logic - <a href="http://dbpedia.org/resource/PHP" id="link-id107066b8">PHP</a> </li> <li> <a href="http://dbpedia.org/resource/Data" id="link-id13968340">Data</a> Storage (<a href="http://dbpedia.org/resource/SQL" id="link-id104c5350">SQL</a> <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id1076d790">RDBMS</a>) - <a href="http://dbpedia.org/resource/MySQL" id="link-id109c4ea0">MySQL</a> via <a href="http://dbpedia.org/resource/PHP" id="link-id133af570">PHP</a>-<a href="http://dbpedia.org/resource/MySQL" id="link-idf0b03b0">MySQL</a> </li> <li> <a href="http://dbpedia.org/resource/Application_server" id="link-id13217630">Application Server</a> - <a href="http://dbpedia.org/resource/Apache" id="link-id108219d8">Apache</a> </li> </ol> <p>In the form above (the norm), <a href="http://dbpedia.org/resource/WordPress" id="link-id105c6d88">Wordpress</a> <a href="http://dbpedia.org/resource/Data" id="link-id104938f8">data</a> can be injected into the <a href="http://dbpedia.org/resource/Linked_Data" id="link-id107a5f18">Linked Data</a> <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id177329c0">Web</a> via RDFization middleware such as the<a href="http://virtuoso.openlinksw.com/Whitepapers/html/VirtSpongerWhitePaper.html" id="link-id10531b50">Virtuoso Sponger</a> (built into all <a href="http://virtuoso.openlinksw.com" id="link-id10d7e710">Virtuoso</a> instances) and <a href="http://triplr.org/" id="link-id107dcab8">Triplr</a>. The downside of this approach is that the <a href="http://dbpedia.org/resource/Blog" id="link-id1055ab68">blog</a> owner doesn't necessary possess full control over their contributions to the emerging <a href="http://dbpedia.org/resource/Giant_Global_Graph" id="link-idfed0358">Giant Global Graph</a> or <a href="http://dbpedia.org/resource/Linked_Data" id="link-id10d70668">Linked Data</a>.</p> <p>Another route to <a href="http://dbpedia.org/resource/Linked_Data" id="link-id104c7f68">Linked Data</a> exposure is via <a href="http://virtuoso.openlinksw.com" id="link-id0xa255fb50">Virtuoso</a>'s Metaschema Language for producing <a href="http://dbpedia.org/resource/Resource_Description_Framework" id="link-id10968388">RDF</a> Views over <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id13f594c8">ODBC</a>/<a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id138f69a8">JDBC</a> accessible <a href="http://dbpedia.org/resource/Data" id="link-id1393c068">Data</a> Sources, that enables the following setup:</p> <ol> <li>User Interface - <a href="http://dbpedia.org/resource/PHP" id="link-id0x9fb9c478">PHP</a> </li> <li>Application Logic - PHP </li> <li> <a href="http://dbpedia.org/resource/Data" id="link-id0xc605960">Data</a> Storage (<a href="http://dbpedia.org/resource/SQL" id="link-id0xc2be608">SQL</a> <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id0xc7a28a8">RDBMS</a>) - <a href="http://dbpedia.org/resource/MySQL" id="link-id0xc7228f0">MySQL</a> via the PHP-MySQL <a href="http://dbpedia.org/resource/Data">data</a> access interface </li> <li> <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id134b1ee8">Virtual Database</a> linkage of MySQL Tables into Virtuoso </li> <li> <a href="http://dbpedia.org/resource/Resource_Description_Framework" id="link-idfe31548">RDF</a> View generated over the Virtual SQL Tables </li> <li> <a href="http://dbpedia.org/resource/Application_server" id="link-id0xb8dfa68">Application Server</a> - Virtuoso which provides <a href="http://dbpedia.org/resource/Linked_Data" id="link-id0xc149518">Linked Data</a> Deployment such that <a href="http://dbpedia.org/resource/Resource_Description_Framework" id="link-id10ad9ca0">RDF</a> <a href="http://dbpedia.org/resource/Linked_Data">Linked Data</a> is exposed when requested by <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-idfd352e0">Web</a> User Agents.</li> </ol> <p>Alternatively, you can also exploit Virtuoso as the SQL DBMS, <a href="http://dbpedia.org/resource/Resource_Description_Framework" id="link-id0x9ec4f440">RDF</a> DBMS, Application Server, and Linked Data Deployment platform:</p> <ol> <li>User Interface - PHP </li> <li> Application Logic - PHP </li> <li>Data Storage (SQL RDBMS) - Virtuoso via PHP-<a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id14197218">ODBC</a> data access interface (* <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id103d1a80">ODBC</a> is Virtuoso's native SQL CLI/API *) </li> <li><a href="http://dbpedia.org/resource/Resource_Description_Framework">RDF</a> View generated over the Native SQL Tables </li> <li>Application Server - Virtuoso which provides Linked Data Deployment such that RDF Linked Data is exposed when requested by <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id13918d68">Web</a> User Agents (e.g. <a href="http://demo.openlinksw.com/rdfbrowser" id="link-idff835f0">OpenLink RDF Browser</a>, <a href="http://zitgist.com/about/" id="link-id1372e510">Zitgist</a> <a href="http://dataviewer.zitgist.com" id="link-id109c3048">Data Viewer</a>, <a href="http://www4.wiwiss.fu-berlin.de/rdf_browser" id="link-id105d97f0">DISCO Hyperdata Browser</a>, and <a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html" id="link-id10cc20d8">Tabulator</a>). </li> </ol> <h2 align="left">Benefits?</h2> <ul> <li>Each user account gets a proper Linked Data <a href="http://dbpedia.org/resource/Uniform_Resource_Identifier" id="link-id108c92b0">URI</a> (ID) that can me meshed/smushed with other IDs (so you add data from this new <a href="http://dbpedia.org/resource/Blog" id="link-idfd39648">blog</a> space to other linked data sources associated with you other URIs/IDs) </li> <li>Each post gets a proper <a href="http://dbpedia.org/resource/Uniform_Resource_Identifier" id="link-id10add540">URI</a> All data is now query-able via <a href="http://dbpedia.org/resource/SPARQL" id="link-id101b98f0">SPARQL</a> Discoverability increases exponentially (without drop in relevance in either direction i.e. discovering or being discovered)</li> </ul> <p>How Do I map the <a href="http://dbpedia.org/resource/WordPress" id="link-id12e448c0">WordPress</a> SQL Schema to RDF using Virtuoso? </p> <ul> <li>Determine the RDF Schema or Ontologies that define the Classes for which you will be producing instance data (e.g. SIOC and FOAF) </li> <li>Declare <a href="http://dbpedia.org/resource/Uniform_Resource_Identifier" id="link-idfaf5c80">URI</a>/IRI generator functions (*special Virtuoso functions*) </li> <li>Use <a href="http://dbpedia.org/resource/SPARQL" id="link-id100436b8">SPARQL</a> Graph patterns to apply <a href="http://dbpedia.org/resource/Uniform_Resource_Identifier" id="link-id0x9de74950">URI</a>/IRI generator functions to Tables, Views, Table Values mode Stored Procedures, Query Resultsets as part of RDBMS to RDF mapping </li> </ul> <p> Read the <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSSQL2RDF" id="link-idfaf5d58">Meta Schema Language guide</a> or simply apply our "<a href="http://dbpedia.org/resource/WordPress" id="link-id0x9ef73c78">WordPress</a> SQL Schema to RDF" script to your Virtuoso hosted instance. Of course, there are other mappings that cover other PHP applications deployed via Virtuoso:</p> <ul> <li> <a href="http://dbpedia.org/resource/PhpBB" id="link-id179f4870">phpBB3</a> SQL Schema to RDF </li> <li> <a href="http://dbpedia.org/resource/Drupal" id="link-id10b263d8">Drupal</a> SQL Schema to RDF </li> <li> <a href="http://dbpedia.org/resource/MediaWiki" id="link-id10263a40">MediaWiki</a> SQL Schema to RDF </li> </ul> <h2>Live Demos?</h2> <ul> <li> <a href="http://demo.openlinksw.com/phpBB3" id="link-id17761e88">Virtuoso Hosting phpBB3</a> (<a href="http://demo.openlinksw.com/phpBB3/user/demo#this" id="link-id10087e68">example User URI</a>)</li> <li> <a href="http://demo.openlinksw.com/drupal" id="link-id1091f1d8">Virtuoso Hosting Drupal</a> (<a href="http://demo.openlinksw.com/drupal/user/demo#this" id="link-id13e3d468">example User URI</a>)</li> <li> <a href="http://demo.openlinksw.com/mediawiki" id="link-id10531be0">Virtuoso Hosting MediaWiki</a> (<a href="http://demo.openlinksw.com/mediawiki/user/KingsleyIdehen#this" id="link-id109c5d40">example User URI</a>)</li> </ul>
Linked Data is vital to Enterprise Integration driven Agility
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-03-21#1325
2008-03-22T01:56:00Z
2008-03-22T14:13:41.000002-04:00
<p> <a href="http://www.linkedin.com/pub/0/207/489" id="link-id10914030">John Schmidt</a>, from Informatica, penned an interesting post titled: <a href="http://blogs.informatica.com/enterprise_data_management/2008/03/it_doesnt_matter_integration_d.html" id="link-idd6d76d8">IT Doesn't Matter - Integration Does</a>. </p> <p>Yes, integration is hard, but I do profoundly believe that what's been happening on the Web over the last 10 or so years also applies to the Enterprise, and by this I absolutely do not mean "Enterprise 2.0" since "2.0" and productive agility do not compute in my realm of discourse. </p> <blockquote>large collections of RSS feeds, Wikiwords, Shared Bookmarks, Discussion Forums etc.. when disconnected at the data level (i.e. hosted in pages with no access to the "data behind") simply offer information deluge and inertia (there are only so many hours for processing opaque information sources in a given day).</blockquote> <p>Enterprises fundamentally need to process information efficiently as part of a perpetual assessment of their relative competitive Strengths, Weaknesses, Opportunities, and Threats (<a href="http://dbpedia.org/resource/SWOT_analysis" id="link-id10776fe8">SWOT</a>), in existing and/or future markets. Historically, IT acquisitions have run counter intuitively to the aforementioned quest for "Ability" due to the predominance of "rip and replace" approach technology acquisition that repeatedly creates and perpetuates information silos across Application, Database, Operating System, Development Environment boundaries. The sequence of events typically occurs as follows:</p> <ol> <li> applications are acquired on a problem by problem basis</li> <li>back-end application databases are discovered once ad-hoc information views are sought by <a href="http://dbpedia.org/resource/Information_worker" id="link-id10a111c8">information workers</a> </li> <li>back-end database disparity across applications is discovered once holistic views are sought by <a href="http://dbpedia.org/resource/Knowledge_worker" id="link-id107997d8">knowledge workers</a> (typically <a href="http://dbpedia.org/resource/Domain_expert" id="link-id102ddf08">domain experts</a>).</li> </ol> <p>In the early to mid 90's (pre ubiquitous Web), operating system, programming language, operating system, and development framework independence inside the enterprise was technically achievable via ODBC (due to it's platform independence). That said, DBMS specific <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id10889d20">ODBC</a> channels alone couldn't address the holistic requirements associated with Conceptual Views of disparate data sources, hence the need for Data Access Virtualization via <a href="http://dbpedia.org/resource/Federated_database_system" id="link-id10884490">Virtual Database</a> Engine technology.</p> <p>Just as is the case on the Web today, with the emergence of the "Linked Data" meme, enterprises now have a powerful mechanism for exploiting the Data Integration benefits associated with generating Data Objects from disparate data sources, endowed with HTTP based IDs (URIs).</p> <p>Conceptualizing access to data exposed Databases APIs, SOA based Web Services (SOAP style Web Services), Web 2.0 APIs (REST style Web Services), XML Views of <a href="http://dbpedia.org/resource/SQL" id="link-id117f8a00">SQL</a> Data (<a href="http://dbpedia.org/resource/SQL/XML" id="link-id104bb730">SQLX</a>), pure XML etc.. is problem area addressed by RDF aware middleware (<a href="http://esw.w3.org/topic/ConverterToRdf" id="link-id10a9deb8">RDFizers</a> e.g <a href="http://virtuoso.openlinksw.com/presentations/Virtuoso_Sponger_1/Virtuoso_Sponger_1.html" id="link-id10256fb0">Virtuoso Sponger</a>).</p> <img src="http://myopenlink.net:8890/%7Ekidehen/Public/images/URI_Data_Source_Pyra_Enterp.png" /> <p>Here are examples of what <a href="http://virtuoso.openlinksw.com/presentations/RDF_Mapping_Presentation_W3C_workshop3/RDF_Mapping_Presentation_W3C_workshop3.html" id="link-id129a6a30">SQL Rows exposed as RDF Data Objects </a>(identified using HTTP based URIs) would look like outside or behind a corporate firewall:</p> <ul> Customer - <a href="http://demo.openlinksw.com/Northwind/Customer/ALFKI#this" id="link-id1183acd8">Alfreds Futterkiste</a> </ul> <ul>Customer Contact - <a href="http://demo.openlinksw.com/Northwind/CustomerContact/ALFKI#this" id="link-id11746bb0">Maria Anders</a> </ul> <ul>Salesrep - <a href="http://demo.openlinksw.com/Northwind/Employee/NancyDavolio1#this" id="link-idff76ed8">Nancy Davolio</a> </ul> <ul>Customer Orders Numbers - <a href="http://demo.openlinksw.com/Northwind/Order/11084#this" id="link-id10ca2648">11084</a>, <a href="http://demo.openlinksw.com/Northwind/Order/11011#this" id="link-id11736160">11011</a>, <a href="http://demo.openlinksw.com/Northwind/Order/11078#this" id="link-id108156e0">11078</a>, <a href="http://demo.openlinksw.com/Northwind/Order/11088#this" id="link-id10747f30">11085</a> </ul> <p>What's Good for the Web Goose (<a href="http://kidehen.idehen.net/dataspace/person/kidehen%23this%3E" id="link-id10a33c50">Personal Data Space URIs</a>) is good for the Enterprise Gander (<a href="http://www.openlinksw.com/dataspace/organization/openlink#this" id="link-id109fbbe0">Enterprise Data Space URIs</a>).</p> <h2>Related</h2> <ul> <a href="http://blogs.informatica.com/enterprise_data_management/2008/02/data_access_a_cultural_or_tech.html" id="link-idffe8168">Data Access - A Cultural or Technical Challenge?</a> </ul>
Recent Virtuoso Developments
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-09-26#1050
2006-09-26T19:46:55Z
2006-09-26T15:46:55.000001-04:00
<p>(Cut & Pasted verbatim from <a href="http://www.openlinksw.com/weblog/oerling/">Orri Erling's Weblog</a>.)</p> <p> <a href="http://www.openlinksw.com/weblog/oerling/?id=1043">Recent Virtuoso Developments</a>: "</p> <p>We have been extensively working on virtual database refinements. There aremany SQL cost model adjustments to better model distributed queries and wenow support direct access to Oracle and Informix statistics system tables.Thus, when you attach a table from one or the other, you automatically getup to date statistics. This helps <a href="http://virtuoso.openlinksw.com/wiki/main/">Virtuoso</a> optimize distributed queries.Also the documentation is updated as concerns these, with a new section ondistributed query optimization.</p> <p>On the applications side, we have been keeping up with the SIOC RDF ontologydevelopments. All ODS applications now make their data available as SIOCgraphs for download and SPARQL query access.</p> <p>What is most exciting however is our advance in mapping relational data intoRDF. We now have a mapping language that makes arbitrary legacy data in <a href="http://virtuoso.openlinksw.com/wiki/main/">Virtuoso</a> or elsewhere in the relational world RDF queriable. We will putout a white paper on this in a few days.</p> <p>Also we have some innovations in mind for optimizing the physical storage ofRDF triples. We keep experimenting, now with our sights set to the highend of triple storage, towards billion triple data sets. We areexperimenting with a new more space efficient index structure for betterworking set behavior. Next week will yield the first results.</p>
Data Spaces and Web of Databases
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-08-28#1030
2006-08-28T19:38:00Z
2006-09-04T18:58:56.000001-04:00
<p>Note: An updated version of a previously unpublished blog post:</p> <p> Continuing from <a href="http://weblog.infoworld.com/udell/2006/04/28.html">our recent Podcast conversation</a>, Jon Udell sheds further insight into the essence of our conversation via a âStrategic Developerâ column article titled: <a href="http://www.infoworld.com/cgi-bin/redirect?source=rss&url=http://www.infoworld.com/article/06/05/03/77873_19OPstrategic_1.html">Accessing the web of databases</a>. </p> <p> Below, I present an initial dump of a DataSpace FAQ below that hopefully sheds light on the DataSpace vision espoused during my podcast conversation with Jon. </p> <p> What is a DataSpace? <br /> </p> <p>A moniker for Web-accessible atomic containers that manage and expose Data, Information, Services, Processes, and Knowledge. </p> <p> What would you typically find in a Data Space? Examples include: </p> <ul> <li>Raw Data - SQL, HTML, XML (raw), XHTML, RDF etc.<br /> <br /> </li> <li>Information (Data In Context) - XHTML (various microformats), Blog Posts (in RSS, Atom, RSS-RDF formats), Subscription Lists (OPML, OCS, etc), Social Networks (FOAF, XFN etc.), and many other forms of applied XML.</li> </ul> <ul> <li>Web Services (Application/Service Logic) - REST or SOAP based invocation of application logic for context sensitive and controlled data access and manipulation.</li> </ul> <ul> <li>Persisted Knowledge - Information in actionable context that is also available in transient or persistent forms expressed using a Graph Data Model. A modern knowledgebase would more than likely have RDF as its Data Language, RDFS as its Schema Language, and OWL as its Domain Definition (Ontology) Language. Actual Domain, Schema, and Instance Data would be serialized using formats such as RDF-XML, N3, Turtle etc).</li> </ul> <p> How do Data Spaces and Databases differ? <br />Data Spaces are fundamentally problem-domain-specific database applications. They offer functionality that you would instinctively expect of a database (e.g. AICD data management) with the additonal benefit of being data model and query language agnostic. Data Spaces are for the most part DBMS Engine and Data Access Middleware hybrids in the sense that ownership and control of data is inherently loosely-coupled. </p> <p>How do Data Spaces and Content Management Systems differ?<br />Data Spaces are inherently more flexible, they support multiple data models and data representation formats. Content management systems do not possess the same degree of data model and data representation dexterity. </p> <p>How do Data Spaces and Knowledgebases differ?<br />A Data Space cannot dictate the perception of its content. For instance, what I may consider as knowledge relative to my Data Space may not be the case to a remote client that interacts with it from a distance, Thus, defining my Data Space as Knowledgebase, purely, introduces constraints that reduce its broader effectiveness to third party clients (applications, services, users etc..). A Knowledgebase is based on a Graph Data Model resulting in significant impedance for clients that are built around alternative models. To reiterate, Data Spaces support multiple data models. </p> <p> What Architectural Components make up a Data Space? </p> <ul> <li>ORDBMS Engine - for Data Modeling agility (via complex purpose specific data types and data access methods), Data Atomicity, Data Concurrency, Transaction Isolation, and Durability (aka ACID).<br /> <br /> </li> <li>Virtual Database Engine - for creating a single view of, and access point to, heterogeneous SQL, XML, Free Text, and other data. This is all about Virtualization at the Data Access Level.</li> </ul> <ul> <li>Web Services Platform - enabling controlled access and manipulation (via application, service, or protocol logic) of Virtualized or Disparate Data. This layer handles the decoupling of functionality from monolithic wholes for function specific invocation via Web Services using either the SOAP or REST approach.</li> </ul> <br />Where do Data Spaces fit into the Web's rapid evolution?<br />They are an essential part of the burgeoning Data Web / Semantic Web. In short, they will take us from data âMash-upsâ (combining web accessible data that exists without integration and repurposing in mind) to âMesh-upsâ (combining web accessible data that exists with integration and repurposing in mind).<p> Where can I see a DataSpace along the lines described, in action? </p> <p> Just look at my blog, and take the journey as follows: </p> <ul> <li> <a href="http://www.openlinksw.com/blog/%7Ekidehen/">Front Door</a> (Web 1.0)</li> <li>Lounge (Web 2.0) via <a href="http://www.openlinksw.com/GData/127">GData</a> or <a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&type=text&kwds=%27semantic+web%27&OpenSearch">OpenSearch</a> </li> <li>Floor Plan via <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/about.rdf">FOAF</a> or <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/sioc.rdf">SIOC</a> RDF Data Sets (Graphs)</li> <li>Rest of the house (beyond Web 2.0) sending <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSODSSparqlSamples">SPARQL Queries</a> to a <a href="http://myopenlink.net:8890/sparql/">SPARQL Endpoint</a>.<br /> </li> </ul> <p> What about other Data Spaces? </p> <p> There are several and I will attempt to categorize along the lines of query method available: <br />Type 1 (Free Text Search over HTTP): <br />Google, MSN, Yahoo!, Amazon, eBay, and most Web 2.0 plays . </p> <p> Type 2 (Free Text Search and XQuery/XPath over HTTP) <br />A few blogs and Wikis (Jon Udell's and a few others)</p>Type 3 (RDF Data Sets and SPARQL Queryable):<br /> <ul> <li>  <a href="http://esw.w3.org/topic/SIOC/EnabledSites">SIOC enabled sites</a> (aka points of semantic web presence)<br /> </li> <li>  <a href="http://pingthesemanticweb.com/">PingTheSemantic</a> <br /> </li> </ul>Type 4 (Generic Free Text Search, OpenSearch, GData, XQuery/XPath, and SPARQL):<br />Points of Semantic Web presence such as the Data Spaces at: <br /> <ul> <li> <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com">My Blog Data Space</a> (as stated earlier in this post)<br /> </li> <li> <a href="http://myopenlink.net:8890/dataspace/kidehen@openlinksw.com">My General Data Space</a> - (ditto; note that this is currently experimental)<br /> </li> </ul> <p>What About Data Space aware tools?<br /> <br /> </p> <ul> <li>  <a href="http://demo.openlinksw.com/DAV/JS/oat/index.html/">OpenLink Ajax Toolkit </a>- provides Javascript Control level binding to Query Services such as XMLA for SQL, GData for Free Text, OpenSearch for Free Text, SPARQL for RDF, in addition to service specific Web Services (Web 2.0 hosted solutions that expose service specific APIs)</li> <li>  <a href="http://rdfs.org/sioc/firefox">Semantic Radar </a>- a Firefox Extension</li> <li>  <a href="http://pingthesemanticweb.com/">PingTheSemantic</a> - the Semantic Webs equivalent of Web 2.0's weblogs.com</li> <li>  <a href="http://simile.mit.edu/piggy-bank/">PiggyBank</a> - a Firefox Extension</li> </ul> <p> </p>
Virtuoso is Officially Open Source!
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-04-11#951
2006-04-11T18:01:44Z
2006-07-21T07:22:20.000001-04:00
<p>I am pleased to unveil (officially) the fact that <a href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=/www/story/04-11-2006/0004338324&EDATE=">Virtuoso is now available in Open Source form</a>.</p> <p></p> <h4>What Is Virtuoso?</h4> <p>A powerful next generation server product that implements otherwise distinct server functionality within a single server product. Think of Virtuoso as the server software analog of a dual core processor where each core represents a traditional server functionality realm.</p> <p></p> <h4>Where did it come from?</h4> <p>The <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory">Virtuoso History page</a> tells the whole story.</p> <p></p> <h4>What Functionality Does It Provide?</h4> The following: <ul> 1. Object-Relational DBMS Engine (ORDBMS like PostgreSQL and DBMS engine like MySQL) </ul> <ul> 2. XML Data Management (with support for XQuery, XPath, XSLT, and XML Schema) </ul> <ul> 3. RDF Triple Store (or Database) that supports SPARQL (Query Language, Transport Protocol, and XML Results Serialization format) </ul> <ul> 4. Service Oriented Architecture (it combines a BPEL Engine with an ESB) </ul> <ul> 5. Web Application Server (supports HTTP/WebDAV) </ul> <ul> 6. NNTP compliant Discussion Server </ul> And more. (see: <a href="http://virtuoso.openlinksw.com">Virtuoso Web Site</a>) <p> 90% of the aforementioned functionality has been available in Virtuoso since 2000 with the RDF Triple Store being the only 2006 item.</p> <p></p> <h4>What Platforms are Supported</h4> <p> The Virtuoso build scripts have been successfully tested on Mac OS X (Universal Binary Target), Linux, FreeBSD, and Solaris (AIX, HP-UX, and True64 UNIX will follow soon). A Windows Visual Studio project file is also in the works (ETA some time this week).</p> <p></p> <h4>Why Open Source?</h4> <p>Simple, there is no value in a product of this magnitude remaining the "best kept secret". That status works well for our competitors, but absolutely works against the legions of new generation developers, systems integrators, and knowledge workers that need to be aware of what is actually achievable today with the right server architecture.</p> <p></p> <h4>What Open Source License is it under?</h4> <p>GPL version 2.</p> <p></p> <h4>What's the business model?</h4> <p>Dual licensing.</p> <p>The Open Source version of Virtuoso includes all of the functionality listed above. While the Virtual Database (distributed heterogeneous join engine) and Replication Engine (across heterogeneous data sources) functionality will only be available in the commercial version. </p> <p></p> <h4>Where is the Project Hosted?</h4> <p>On <a href="http://sourceforge.net/projects/virtuoso">SourceForge.</a> </p> <p></p> <h4>Is there a product Blog?</h4> <p>Of course! </p> <p>Up until this point, the <a href="http://virtuoso.openlinksw.com/blog/">Virtuoso Product Blog</a> has been a covert live demonstration of some aspects of Virtuoso (Content Management). My Personal Blog and the Virtuoso Product Blog are actual Virtuoso instances, and have been so since I started blogging in 2003.</p> <p>Is There a product Wiki?</p> <p>Sure! <a href="http://virtuoso.openlinksw.com/wiki/main/">The Virtuoso Product Wiki</a> is also an instance of Virtuoso demonstrating another aspect of the Content Management prowess of Virtuoso.</p> <p></p> <h4>What About Online Documentation?</h4> <p>Yep! <a href="http://docs.openlinksw.com/virtuoso/">Virtuoso Online Documentation</a> is hosted via yet another Virtuoso instance. This particular instance also attempts to demonstrate Free Text search combined with the ability to repurpose well formed content in a myriad of forms (Atom, RSS, RDF, OPML, and OCS).</p> <p></p> <h4>What about Tutorials and Demos?</h4> <p>The <a href="http://demo.openlinksw.com/tutorial/">Virtuoso Online Tutorial</a> Site has operated as a live demonstration and tutorial portal for a numbers of years. During the same timeframe (circa. 2001) we also assembled a few Screencast style demos (their look feel certainly show their age; updates are in the works).</p> <p>BTW - We have also updated the <a href="http://virtuoso.openlinksw.com/FAQ/">Virtuoso FAQ</a> and also released a number of missing <a href="http://virtuoso.openlinksw.com/Whitepapers/">Virtuoso White Papers</a> (amongst many long overdue action items).</p>
SOA, AJAX and REST: The Software Industry Devolves into the Fashion Industry
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2005-03-24#763
2005-03-24T15:20:36Z
2006-06-22T08:56:58-04:00
<p>Dare Obasanjo ponders about: <a href="http://blogs.msdn.com/dareobasanjo/archive/2005/03/22/400372.aspx">SOA, AJAX and REST: The Software Industry Devolves into the Fashion Industry</a> .</p> <p>I absolutely understand the frustration expressed in Dare's post. An additional comment from my perspective is that this devolution has been in motion for a while and it is an integral part of the Misinformation and Disinformation based marketing strategies of many companies.</p> <p>Misinformation and Disinformation only work when the target audience is apathetic (unfortunately the sad reality to date!). The bad news for marketing strategies that assume perpetuation of the aforementioned apathy is that the Internet is fundamentally reducing the cost of knowledge acquisition; by implication today's naive customer is tomorrow's knowledgeable decision maker. Vendors have a choice: build valuable products, and then market these products by disseminating knowledge. If a competitor's product is better than yours, get back to the labs (developers are actually stimulated and motivated by constructive challenges; especially as any developer worth his or her salt intrinsically believes they are the best at their craft deep down; and so they should!). </p> <p>In the imminent future (Internet time) I expect to see the Wikisphere, Blogosphere, and other Web 2.0 (and beyond) realms bring clarity to the futility of Misinformation and Disinformation based marketing and PR (see my post about the <a href="http://www.openlinksw.com/blog/~kidehen/index.vspx?id=746">Wikipedia induced inflection on Marketing and PR</a> ).</p> <p>BTW -- Does anyone know what's the difference between an <a href="http://en.wikipedia.org/wiki/Enterprise_Service_Bus">ESB</a> and a <a href="http://en.wikipedia.org/wiki/Enterprise_Service_Bus">Universal Server</a>? Likewise, the difference between a <a href="http://en.wikipedia.org/wiki/Virtual_database">Virtual Database</a> and an <a href="http://en.wikipedia.org/wiki/EII">EII</a> solution?</p>
Friendster befriends blogs--and fees
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2005-03-03#720
2005-03-03T14:58:28Z
2006-06-22T08:56:58-04:00
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"> <p><a href="http://news.com.com/Friendster+befriends+blogs--and+fees/2100-1038_3-5597073.html?part=rss&tag=5596640&subj=news">Friendster befriends blogs--and fees</a> Two Web trends converge as the social networking site prepares to launch blogs through partnership with Six Apart. </p></blockquote> <div align="right">[via <a href="http://news.com.com/">CNET News.com</a>]</div> <div align="right"> </div> <div align="left">We are finally beginning to understand that Social Networking (YASN - Yet Another Social Network), Blogs, Wikis, and more.. go hand in hand. There are profound implications here for vendors in the Blog and Wiki hosting business, the same applies to end users who increasingly own a myriad of disparately hosted Blogs/Wikis/Social Networking Zones etc.</div> <div align="left"> </div> <div align="left">Does this look at all familiar? By this I mean the imminent integration challenges and issues relating to vendor lock-in etc.. Our <a href="http://virtuoso.openlinksw.com">Virtuoso</a> technology evangelist <a href="http://www.tbradford.org/">Tom Bradford</a> wrote an <a href="http://www.tbradford.org/2005/02/content-content-and-more-content.html">insightful post</a> about these issues a few weeks ago. </div> <div align="left"> </div> <div align="left">I also know that we have been working on resolving these issues since 2003 (as part of the Virtuoso Blog/Wiki/YASN Platform effort), and like our initial Virtual Database work (making disparate SQL/XML databases appear as one), expect to see single solution that brings Blogs/Wikis/YASNs together also.</div> <div align="left"> </div> <div align="left"> </div> <div align="left"> </div>
INSTEAD-OF Triggers
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-23#526
2004-04-24T00:52:50Z
2006-06-22T08:56:58-04:00
<p>During a session with a potential customer/partner I was posed the following question re. <a href="http://www.openlinksw.com/virtuoso/whatis.htm">Virtuoso's Virtual Database</a> functionality:</p> <p>"Can I create an updateable SQL VIEW in Virtuoso that would comprise columns from 3rd party databases such as Oracle, SQL Server, and say MySQL".</p> <p>The answer was yes, based on the fact that Virtuoso does support SQL <a href="http://docs.openlinksw.com/virtuoso/TRIGGERS.html#TRIGGERS">INSTEAD-OF Triggers</a> - even in Virtual Database mode. </p> <p>I am certainly keen to see if any other Virtual Database style products achieve this feat (which is trying for many homogeneous SQL database engines).</p> <p>Dr. Paul Dorsey of <a href="http://www.dulcian.com/">Dulcian, Inc</a>. wrote a very <a href="http://www.dulcian.com/papers/INSTEAD%20OF%20Trigger%20Views_ODTUG.htm">good article about this subject</a>, and here is an excerpt from his article overiew:</p> <blockquote dir="ltr" style="MARGIN-RIGHT: 0px"> <p>Views are an important part of application development. Since Oracle 7.3, we quickly recognized the importance of using Oracleâs updateable view feature. An updateable view allows you to join several tables and perform updates against the driving table. For example, if you join EMP and DEPT in the traditional way and display columns from both tables, DML operations are possible against EMP but not DEPT. </p> <p class="Text">For traditional relational database designs, this is enough functionality. For example, in a typical Forms application, when you are basing a block on a table, the additional columns that you want to display are lookups from other tables and can therefore be easily supported using traditional updateable views. These views are built using a combination of joins and outer joins or,<span> </span>in extreme cases, looking up additional information through functions embedded in the views. Under no circumstances should post query triggers be used to support this functionality. Post query triggers cause unnecessary network traffic and also embed the logic in the application rather than in the database or somewhere else where it can easily be reused.</p> <p class="Text">What happens in a situation where the information you want to display in the block requires a query that is so complex that your ability to maintain (insert, update, delete) that information using a simple updateable view is eliminated? The updateable views are relatively restrictive. Only a single table can be updated. Joins must be created carefully and based on Foreign Key constraints in the database. No set operators such as UNION or MINUS can be used. For these reasons, it is common to end up with a block that cannot be updated as required. How do most developers handle this situation?</p> <p class="Text" style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"><!--[if !supportLists]-->a)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"> </span><!--[endif]-->By placing complex logic in the form (WHEN-VALIDATE-ITEM triggers)</p> <p class="Text" style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in"><!--[if !supportLists]-->b)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"> </span><!--[endif]-->By writing procedures that access Formsâ ability to replace the Insert, Update, Delete routines and place that logic in the form</p> <p class="Text">These practices are just as undesirable as using POST-QUERY triggers. The logic is in the wrong place and is not reusable. </p> <p class="Text">The INSTEAD-OF trigger views feature was introduced by Oracle in version 8.15. This feature enables developers to create views on single or multiple tables or any other view imaginable by writing INSTEAD-OF triggers that tell the view how to behave when Inserts, Updates or Deletes are issued. Peter Koletzke and I first wrote about this feature in our Oracle Press book <i>Oracle Developer: Advanced Forms & Reports</i> (2000). At the time, we gave the feature relatively brief mention because we believed that most of the systems we were building included blocks based on traditional updateable views, which allow updates to a single table. Now, there is a good reason to look more closely at INSTEAD-OF trigger views. </p></blockquote> <p class="Text" dir="ltr">Database Journal also has an <a href="http://www.databasejournal.com/features/mssql/article.php/1437741">article on this subject</a>.</p>
Enterprise Databases get a grip on XML
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-01-06#442
2004-01-06T23:17:07Z
2006-06-22T08:56:58-04:00
<blockquote style="margin-right: 0px;" dir="ltr"> <p><a class="listLinkLrg" title="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" target="_new"><strong><font face="Verdana">Databases get a grip on XML</font></strong></a><br /><font size="2"></font><font face="Verdana">From <a href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D">Inforworld</a>.</font><br /><br /><font face="Verdana,Geneva,Arial,sans-serif" size="2">The next iteration of the SQL standard was supposed to arrive in 2003. But SQL standardization has always been a glacially slow process, so nobody should be surprised that SQL:2003 ? now known as SQL:200n ? isn?t ready yet. Even so, 2003 was a year in which XML-oriented data management, one of the areas addressed by the forthcoming standard, showed up on more and more developers? radar screens.ÃÂ <a title="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" target="_blank">>> READ MORE</a></font></p></blockquote> <p dir="ltr"><font face="Verdana" size="2">This article rounds up product for 2003 in the critical area of Enterprise Database Technology. It's certainly provides an apt reflection of how Virtuoso compares with offerings from some the larger (but certainly slower to implement) database vendors in this space. As usual Jon Udell's quote pretty much sums this up:</font></p> <blockquote style="margin-right: 0px;" dir="ltr"> <p dir="ltr"><!--StartFragment --><span class="artText"><em>"While the spotlight shone on the heavyweight contenders, a couple of agile innovators made noteworthy advances in 2003. </em><a class="regularArticleU" href="http://www.infoworld.com/699"><em>OpenLink Software?s Virtuoso 3.0</em></a><em>, which we reviewed in March, stole thunder from all three major players. Like Oracle, it offers a WebDAV-accessible XML repository. Like DB2 Information Integrator, it functions as database middleware that can perform federated ?joins? across SQL and XML sources. And like the forthcoming Yukon, it embeds the .Net CLR (Common Language Runtime), or in the case of Linux, Novell/Ximian?s Mono."</em></span> </p></blockquote> <p dir="ltr"><font face="Verdana" size="2">Albeit still somewhat unknown to the broader industry we have remained true our "innovator" discipline, which still remains our chosen path to market leadership. Thus, its worth a quick Virtuoso release history, and featuresÃÂ recap as we get set to up the ante even further in 2004:</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virtuoso.htm">1998 - Virtuoso's initial public beta</a> release with functional emphasis on Virtual Database Engine for ODBC and JDBC Data Sources.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virtuoso1.htm">1999 - Virtuoso's official commercial</a> release, with emphasis stillÃÂ on Virtual Database functionality for ODBC, JDBC accessible SQL Databases.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/v2releas.htm">2000 - Virtuoso 2.0</a> adds XML Storage, XPath, XML Schema, XQuery, XSL-T, WebDAV, SOAP, UDDI, HTTP, Replication, Free Text Indexing (*feature update*), POP3, and NNTP support.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/v27releas.htm">2002 - Virtuoso 2.7</a> extends Virtualization prowess beyond data access via enhancements to its Web Services protocol stack implementation by enabling SQL Stored Procedures to be published as Web Services. It also debutsÃÂ its Object-Relational engine enhancements that include theÃÂ incorporation of Java and Microsoft .NET Objects into its User Defined Type, User Defined Functions, and Stored ProcedureÃÂ offerings.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virt3beta.htm">2003 - Virtuoso 3.0</a> extends data and application logic virtualization into the Application Server realm (basically a Virtual Application server too!), by adding support for ASP.NET, PHP, Java Server Pages runtime hosting (making applications built using any of these languages deployable using Virtuoso across all supported platforms).</font></p> <p dir="ltr"><font face="Verdana" size="2">Collectively each of these releases have contributed to a very premeditated architecture and vision that will ultimately unveil the inherent power of critical I.S infrastructure virtualizationÃÂ along the following lines; data storage, data access , and application logic via coherent integration of SQL, XML, Web Services, and Persistent Stored Modules (.NET, Java, and other object based component building blocks).</font></p> <p dir="ltr"><font face="Verdana"></font>ÃÂ </p>
OpenLink Software Announces Virtuoso 3.2
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-25#187
2003-06-25T21:35:54Z
2006-06-22T08:56:58-04:00
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><A href="http://www.openlinksw.com/press/virt32_wwdc1.htm">OpenLink Software Announces Virtuoso 3.2 </a></span></p> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">This <A href="http://wwdc2003.openlinksw.com/"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><FONT face=Arial size=2>Blog Site</font></span></a> is actually powered by <A href="http://www.openlinksw.com/virtuoso">Virtuoso</a> 3.2 (has been doing so prior to the announcement). Hmm. product utilization preceding press release? Why not?</span><B><SPAN style="FONT-FAMILY: Arial"><FONT size=3></font></span></b></p> <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"> <P><B><SPAN style="FONT-FAMILY: Arial">OpenLink adds Weblog client and server functionality to <BR>Virtual Database Engine for SQL, XML, and Web Services</span></b><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> <BR><BR><B>Burlington, MA. June 25, 2003</b> - OpenLink Software, Inc., a leading provider of universal data access and enterprise information integration middleware, announces Virtuoso 3.2 the latest edition of its cross platform Virtual Database for SQL, XML, and Web Services for Mac® OS X. <BR><BR>The new release incorporates full client and server support for the Blogger, Moveable Type, and MetaWeblog APIs, providing users with choice over location, format, data storage, development environment, and host operating system, for personal, community, and corporate Weblogs. The new release also facilitates the transparent integration of Weblog data with other enterprise data sources. </span></p> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><A href="http://www.openlinksw.com/press/virt32_wwdc1.htm"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><FONT face=Arial size=2>Full Press Release</font></span></a></span></p></blockquote> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Putting together the community site took 5 minutes and it basically involved the following steps:</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">1. Standard installation from installer program (Mac OS X in this case, but Windows, Linux, and UNIX supported)</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">2. Creation of WebDAV user account for WebDAV repository (where all the gems reside)</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">3. Clicking on the "Generate Web Site" button situated in the Weblog menu tree with the Virtuoso HTML based Admin UI</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">4. Filled up my channel and blogrolls by asking Virtuoso to use its <U>very old web</u> content aggregation functionality </span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">5. Setup my upstreams (so that I post once and propagate to my numerous blog sites on a conditional basis)</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">6. Create a Virtuoso HTTP Virtual Domain for the community/personal Blog </span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">7. Start blogging using any Blog Client that supports; Blogger API, MetaWeblog, or Moveable Type</span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">No more no less. Most importantly I have a choice of programming languages (VSP, VSX, PHP, ASP.NET, JSP, Perl, Python), operating systems, and databases that constitute the shape and form of my blog home. </span></p> <P dir=ltr><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">See the<A href="http://www.openlinksw.com/virtuoso/faqs.htm"> Virtuoso FAQ </a>for how this all comes together.</span></p>
<a href="http://www.sys-con.com/xml/article2a.cfm?id=652&count=18437&tot=14&page=12">piece</a>
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-11#276
2003-06-11T21:13:07Z
2006-06-22T08:56:58-04:00
<P>An interesting <A href="http://www.sys-con.com/xml/article2a.cfm?id=652&count=18437&tot=14&page=12">piece</A> by Michael Carey architect for Liquid Data at BEA re. Enterprise Information Integration from <A href="http://www.sys-con.com/xml">XML Journal</A>.</P> <P>Key quote.</P> <P><EM>Since the dawn of the database era more than three decades ago, enterprises have been amassing an ever-increasing volume of information - both current and historical - about their operations. For the past two of those three decades, the database world has struggled with the problem of somehow integrating information that natively resides in multiple database systems or other information sources (Landers and Rosenberg).</EM> </P> <P>This is the root cause of many of the systems integration challenges facing may IT decsion makers. They want to exploit the new and emerging technologies, but the internal disparity of data and application logic presents many obstacles.</P> <P>Michael had this to say in his introduction.</P> <P><EM>The IT world knows this problem today as the enterprise information integration (EII) problem: enterprise applications need to be able to easily access and combine information about a given business entity from a distributed and highly varied collection of information sources. Relevant sources include various relational database systems (RDBMSs); packaged applications from vendors such as Siebel, PeopleSoft, SAP, and others; "homegrown" proprietary systems; and an increasing number of data sources that are starting to speak XML, such as XML files and Web services</EM>.<BR></P> <P>Virtuoso (which coincedentally has been used to build and host this blog) has been developed to address the challenges presented above; by providing a Virtual Database Engine for disparate data and application logic (all the GEMs on this page have been generated on the fly using it's SQL-XML functionality).</P> <P>Additional article excerpts:<BR><EM>With XQuery, the solution sketched above can be implemented by viewing the enterprise's different data sources all as virtual XML documents and functions. XQuery can stitch the distributed customer information together into a comprehensive, reusable base view.</EM> </P> <P>A critical issue at this point is how sensistive the XML VIEW is to underlying data source changes. Enterprises are dynamic, so static XML VIEWs are going to be suboptimal in many situations. Applications are only as relevant as the underlying data fluidity served up by the data access (this issue is data format agnostic).</P> <P>Virtuoso addresses this problem through its support of Persistent and Transient forms of XML VIEWs (which are derived from SQL, XML, Web Services, or any combination of these).</P> <P>Final excerpt:<BR><EM>The relational data sources can be exposed using simple default XML Schemas, and the other sources - SAP and the credit-checking Web service - can be exposed to XQuery as callable XQuery functions with appropriate signatures.</EM> </P> <P>Unfortunately XML Schemas aren't easy, so making this a requirement for producing XML VIEWs is somewhat problematic (or should I say challenging). Of course this approach has it merits, but it does put a significant knowledge acquisition burden on the end-user or developer. This is why Virtuoso also supports an approach based on SQL extensions for generating XML from SQL that facilitate the production of Well Formed and/or Valid XML documents on the fly from heterogeneous SQL Data Sources (this syntax is identical to the FOR XML RAW | AUTO | EXPLICIT modes of SQL Server). It can also use it's in-built XSL-T engine to further transform other non SQL XML data sources (and then generate an XML Schema for the final product if required and validate against this schema using it's in-build XML Schema validaton engine).</P> <P>This article certainly sheds light on the kinds of problems that EII based technologies such as Virtual Databases are positioned to address.</P> <P>There is a live XQuery demo of Virtuoso at: <A href="http://demo.openlinksw.com:8890/xqdemo"><a href="http://demo.openlinksw.com:8890/xqdemo">http://demo.openlinksw.com:8890/xqdemo</a></A></P>