<?xml version="1.0" encoding="UTF-8" ?>
<!--ATOM based XML document generated By OpenLink Virtuoso-->
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:vi="http://www.openlinksw.com/weblog/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/">
<atom:id>http://www.openlinksw.com/weblog/dav/dav-blog-1/</atom:id>
<atom:title>OpenLink Community Blog</atom:title>
<atom:link href="http://www.openlinksw.com/weblog/dav/dav-blog-1/" type="text/html" rel="alternate" />
<atom:link href="http://www.openlinksw.com/weblog/dav/dav-blog-1/gems/atom_tag_arch.xml?:tag=.net&amp;:bid=dav-blog-1" type="application/atom+xml" rel="self" />
<atom:subtitle>A Collection of blogs by OpenLink Staff</atom:subtitle>
 <atom:author>
  <atom:name>kidehen@openlinksw.com</atom:name>
  <atom:email>kidehen@openlinksw.com</atom:email>
  </atom:author>
<atom:updated>2009-11-23T14:08:42Z</atom:updated>
<atom:generator>Virtuoso Universal Server 05.12.3041</atom:generator>
<atom:logo>http://www.openlinksw.com/weblog/public/images/vbloglogo.gif</atom:logo>
 <atom:entry>
  <atom:title>Short Recap of Virtuoso Basics (#3 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2009-04-30#1552</atom:id>
  <atom:published>2009-04-30T15:49:53Z</atom:published>
  <atom:updated>2009-04-30T12:11:45-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Third of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id0x14b582b8&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.) &lt;/p&gt; &lt;p&gt;There are some points that came up in conversation at WWW 2009 that I will reiterate here. We find there is still some lack of clarity in the product image, so I will here condense it.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x14bf48b8&quot;&gt;Virtuoso&lt;/a&gt; is a DBMS. We pitch it primarily to the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x16bc4490&quot;&gt;data&lt;/a&gt; web space because this is where we see the emerging frontier. Virtuoso does both &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1223dc30&quot;&gt;SQL&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x170eec88&quot;&gt;SPARQL&lt;/a&gt; and can do both at large scale and high performance. The popular perception of &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x15a05fc0&quot;&gt;RDF&lt;/a&gt; and Relational models as mutually exclusive and antagonistic poles is based on the poor scalability of early RDF implementations. What we do is to have all the RDF specifics, like IRIs and typed literals as native SQL types, and to have a cost based optimizer that knows about this all.&lt;/p&gt; &lt;p&gt;If you want application-specific data structures as opposed to a schema-agnostic quad-store model (triple + graph-name), then Virtuoso can give you this too. &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/rdfsparqlintegrationmiddleware.html#rdfviews&quot; id=&quot;link-id14ddc7c8&quot;&gt;Rendering application specific data structures as RDF&lt;/a&gt; applies equally to relational data in non-Virtuoso databases because Virtuoso SQL can &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/qsvdbsrv.html&quot; id=&quot;link-id14aaea70&quot;&gt;federate tables from heterogenous DBMS&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;On top of this, there is a &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/qswebserver.html&quot; id=&quot;link-id16fcde60&quot;&gt;web server built in&lt;/a&gt;, so that no extra server is needed for web services, web pages, and the like.&lt;/p&gt; &lt;p&gt;Installation is simple, just one exe and one config file. There is a huge amount of code in &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/installation.html&quot; id=&quot;link-id16767b40&quot;&gt;installers&lt;/a&gt; â application code and test suites and such â but none of this is needed when you deploy. Scale goes from a 25MB memory footprint on the desktop to hundreds of gigabytes of RAM and endless terabytes of disk on shared-nothing clusters.&lt;/p&gt; &lt;p&gt;Clusters (coming in Release 6) and SQL federation are &lt;a href=&quot;http://download.openlinksw.com/download/product_matrix.vsp?p=l_os&amp;amp;c=39&amp;amp;df=16&quot; id=&quot;link-id16722550&quot;&gt;commercial only&lt;/a&gt;; the rest can be had &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=161622&quot; id=&quot;link-id131080a8&quot;&gt;under GPL&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To condense further:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Scalable Delivery of &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x1060ad98&quot;&gt;Linked Data&lt;/a&gt; &lt;/li&gt; &lt;li&gt;SPARQL and SQL &lt;ul&gt; &lt;li&gt;Arbitrary RDF Data + Relational&lt;/li&gt; &lt;li&gt;Also From 3rd Party &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x16bbce60&quot;&gt;RDBMS&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;Easy Deployment &lt;/li&gt; &lt;li&gt;Standard Interfaces &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0x12e284d8&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0xb5e1400&quot;&gt;JDBC&lt;/a&gt;, OLE DB, &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x15a55db8&quot;&gt;ADO&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x16beb070&quot;&gt;NET&lt;/a&gt;, XMLA&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0x122b5008&quot;&gt;Jena&lt;/a&gt;, &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x148d4078&quot;&gt;Sesame&lt;/a&gt;, etc.&lt;/li&gt; &lt;li&gt;All Web Protocols &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Short Recap of Virtuoso Basics (#3 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2009-04-30#1550</atom:id>
  <atom:published>2009-04-30T15:49:53Z</atom:published>
  <atom:updated>2009-04-30T12:11:43.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Third of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id0x1081fe40&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.) &lt;/p&gt; &lt;p&gt;There are some points that came up in conversation at WWW 2009 that I will reiterate here. We find there is still some lack of clarity in the product image, so I will here condense it.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0xd0e85f0&quot;&gt;Virtuoso&lt;/a&gt; is a DBMS. We pitch it primarily to the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x14a294d8&quot;&gt;data&lt;/a&gt; web space because this is where we see the emerging frontier. Virtuoso does both &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x108042f8&quot;&gt;SQL&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x10889878&quot;&gt;SPARQL&lt;/a&gt; and can do both at large scale and high performance. The popular perception of &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x107d3b40&quot;&gt;RDF&lt;/a&gt; and Relational models as mutually exclusive and antagonistic poles is based on the poor scalability of early RDF implementations. What we do is to have all the RDF specifics, like IRIs and typed literals as native SQL types, and to have a cost based optimizer that knows about this all.&lt;/p&gt; &lt;p&gt;If you want application-specific data structures as opposed to a schema-agnostic quad-store model (triple + graph-name), then Virtuoso can give you this too. &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/rdfsparqlintegrationmiddleware.html#rdfviews&quot; id=&quot;link-id14ddc7c8&quot;&gt;Rendering application specific data structures as RDF&lt;/a&gt; applies equally to relational data in non-Virtuoso databases because Virtuoso SQL can &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/qsvdbsrv.html&quot; id=&quot;link-id14aaea70&quot;&gt;federate tables from heterogenous DBMS&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;On top of this, there is a &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/qswebserver.html&quot; id=&quot;link-id16fcde60&quot;&gt;web server built in&lt;/a&gt;, so that no extra server is needed for web services, web pages, and the like.&lt;/p&gt; &lt;p&gt;Installation is simple, just one exe and one config file. There is a huge amount of code in &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/installation.html&quot; id=&quot;link-id16767b40&quot;&gt;installers&lt;/a&gt; â application code and test suites and such â but none of this is needed when you deploy. Scale goes from a 25MB memory footprint on the desktop to hundreds of gigabytes of RAM and endless terabytes of disk on shared-nothing clusters.&lt;/p&gt; &lt;p&gt;Clusters (coming in Release 6) and SQL federation are &lt;a href=&quot;http://download.openlinksw.com/download/product_matrix.vsp?p=l_os&amp;amp;c=39&amp;amp;df=16&quot; id=&quot;link-id16722550&quot;&gt;commercial only&lt;/a&gt;; the rest can be had &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=161622&quot; id=&quot;link-id131080a8&quot;&gt;under GPL&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To condense further:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Scalable Delivery of &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x12211da8&quot;&gt;Linked Data&lt;/a&gt; &lt;/li&gt; &lt;li&gt;SPARQL and SQL &lt;ul&gt; &lt;li&gt;Arbitrary RDF Data + Relational&lt;/li&gt; &lt;li&gt;Also From 3rd Party &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x168db0e0&quot;&gt;RDBMS&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;Easy Deployment &lt;/li&gt; &lt;li&gt;Standard Interfaces &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0x10473bf0&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x12187f58&quot;&gt;JDBC&lt;/a&gt;, OLE DB, &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x10354e48&quot;&gt;ADO&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x16eeadd0&quot;&gt;NET&lt;/a&gt;, XMLA&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0x12e3fe08&quot;&gt;Jena&lt;/a&gt;, &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x15e62470&quot;&gt;Sesame&lt;/a&gt;, etc.&lt;/li&gt; &lt;li&gt;All Web Protocols &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Search at WWW 2009 (#2 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2009-04-30#1549</atom:id>
  <atom:published>2009-04-30T15:18:24Z</atom:published>
  <atom:updated>2009-04-30T12:51:53.000010-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Second of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id124024c8&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.) &lt;/p&gt; &lt;p&gt;There was a &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/109/html&quot; id=&quot;link-id1207a3b0&quot;&gt;workshop on semantic search&lt;/a&gt; plus &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/html&quot; id=&quot;link-id1704ff48&quot;&gt;a number of papers&lt;/a&gt; and of course &lt;a href=&quot;http://www2009.org/keynote.html&quot; id=&quot;link-id11ec08d8&quot;&gt;keynotes from Google and Yahoo&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;A general topic was the use of and access to query logs. Are these the monopoly of GYM (Google, Yahoo, Microsoft) or should they be made more generally available? This is a privacy question. Use of query logs and click through of search results for improved ranking was mentioned many times throughout the conference.&lt;/p&gt; &lt;p&gt;The &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/109/html&quot; id=&quot;link-id120b7d38&quot;&gt;semantic search workshop&lt;/a&gt; was largely about benchmarks for keyword search in &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id171e2950&quot;&gt;information&lt;/a&gt; retrieval. For &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id11e1a9b0&quot;&gt;linked data&lt;/a&gt;, which is a database proposition, these benchmarks are not really applicable. For document search aided by semantics derived by NLP, these are of course applicable. But there is a divide in approach.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://g1o.net/foaf.rdf#me&quot; id=&quot;link-id11d1c7b0&quot;&gt;Giovanni Tummarello&lt;/a&gt; &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/59/html&quot; id=&quot;link-id169add28&quot;&gt;presented&lt;/a&gt; &lt;a href=&quot;http://sig.ma/&quot; id=&quot;link-id11af0128&quot;&gt;Sig.ma&lt;/a&gt;, a service using &lt;a href=&quot;http://sindice.com/&quot; id=&quot;link-id11a69fa0&quot;&gt;Sindice&lt;/a&gt;&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id11f3a088&quot;&gt;RDF&lt;/a&gt; index for collecting all RDF statements about entities matching some set of keywords. One could then choose which sources and which entities were the right ones. One could further store such a query and embed it on a page. The point was that the filtering done manually could be persisted and republished, so as to create dynamic content aggregated from selected live sources. Further speculating, one could use such user feedback for adjusting ranking, even though Sig.ma did not. We may adopt the idea of manually excluding sources into our browser too. Fresnel lenses are another thing to look at.&lt;/p&gt; &lt;p&gt;There was &lt;a href=&quot;http://www2009.eprints.org/242/&quot; id=&quot;link-id11dc7c68&quot;&gt;a paper by Josep M. Pujol and Pablo Rodriguez, of Telefonica Research&lt;/a&gt;, about returning search to the people by means of Porqpine, a peer-to-peer search implementation based on sharing search results from search engines among peers and indexing them locally as they were retrieved. For users with similar interests, this can give a community based ranking model but has issues of privacy. Another point was that with local processing and personal scale &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id171a8948&quot;&gt;data&lt;/a&gt; volumes various kinds of brute force processing were feasible that would cost a lot for the web scale. Much can be done web scale but it must be done cleverly, not with a shell script and not so ad hoc.&lt;/p&gt; &lt;p&gt;As a counterpoint to this, there was &lt;a href=&quot;http://www2009.eprints.org/220/&quot; id=&quot;link-id120bf9e0&quot;&gt;a talk about Hadoop and Hive&lt;/a&gt;, a map-reduce-based &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-idee5d700&quot;&gt;SQL&lt;/a&gt;-like framework. One could do an SQL &lt;code&gt;GROUP BY&lt;/code&gt; on text files with record parsing at run time, all spread over a Hadoop cluster. The issue is, if you have a petabyte of data, you may wish to run more than one ad hoc query on it. This means that joining between partitions and complex processing becomes important. This cannot be done without indices and complex query optimization, and needs a DBMS. Stonebraker and company are fully justified in their &lt;a href=&quot;http://database.cs.brown.edu/sigmod09/&quot; id=&quot;link-id11be1088&quot;&gt;critique of map reduce&lt;/a&gt;. It looks like each generation must get dazzled by the oversimplified and then retrace the same discoveries of complexity as the previous one.&lt;/p&gt; &lt;p&gt;Some of our future plans were confirmed by what we saw, for example as concerns:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Interactively selecting sources for search, showing the graphs, then interactively refining&lt;/li&gt; &lt;li&gt;More social networks, more network analysis, and more work on social recommendation&lt;/li&gt; &lt;li&gt;Real time indexing of new pings, filling the store by forwarding queries to search engines, and harvesting micro-formats from results&lt;/li&gt; &lt;li&gt;Using &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id16440770&quot;&gt;entity&lt;/a&gt; extraction&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;These are all items in the pipeline, easy to do on top of the existing platform. For the machine learning and NLP parts, we will partner with others, details will be worked out while we work on the items we implement by ourselves.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Search at WWW 2009 (#2 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2009-04-30#1548</atom:id>
  <atom:published>2009-04-30T15:18:24Z</atom:published>
  <atom:updated>2009-04-30T12:51:48-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Second of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id124024c8&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.) &lt;/p&gt; &lt;p&gt;There was a &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/109/html&quot; id=&quot;link-id1207a3b0&quot;&gt;workshop on semantic search&lt;/a&gt; plus &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/html&quot; id=&quot;link-id1704ff48&quot;&gt;a number of papers&lt;/a&gt; and of course &lt;a href=&quot;http://www2009.org/keynote.html&quot; id=&quot;link-id11ec08d8&quot;&gt;keynotes from Google and Yahoo&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;A general topic was the use of and access to query logs. Are these the monopoly of GYM (Google, Yahoo, Microsoft) or should they be made more generally available? This is a privacy question. Use of query logs and click through of search results for improved ranking was mentioned many times throughout the conference.&lt;/p&gt; &lt;p&gt;The &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/109/html&quot; id=&quot;link-id120b7d38&quot;&gt;semantic search workshop&lt;/a&gt; was largely about benchmarks for keyword search in &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id171e2950&quot;&gt;information&lt;/a&gt; retrieval. For &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id11e1a9b0&quot;&gt;linked data&lt;/a&gt;, which is a database proposition, these benchmarks are not really applicable. For document search aided by semantics derived by NLP, these are of course applicable. But there is a divide in approach.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://g1o.net/foaf.rdf#me&quot; id=&quot;link-id11d1c7b0&quot;&gt;Giovanni Tummarello&lt;/a&gt; &lt;a href=&quot;http://data.semanticweb.org/conference/www/2009/paper/59/html&quot; id=&quot;link-id169add28&quot;&gt;presented&lt;/a&gt; &lt;a href=&quot;http://sig.ma/&quot; id=&quot;link-id11af0128&quot;&gt;Sig.ma&lt;/a&gt;, a service using &lt;a href=&quot;http://sindice.com/&quot; id=&quot;link-id11a69fa0&quot;&gt;Sindice&lt;/a&gt;&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id11f3a088&quot;&gt;RDF&lt;/a&gt; index for collecting all RDF statements about entities matching some set of keywords. One could then choose which sources and which entities were the right ones. One could further store such a query and embed it on a page. The point was that the filtering done manually could be persisted and republished, so as to create dynamic content aggregated from selected live sources. Further speculating, one could use such user feedback for adjusting ranking, even though Sig.ma did not. We may adopt the idea of manually excluding sources into our browser too. Fresnel lenses are another thing to look at.&lt;/p&gt; &lt;p&gt;There was &lt;a href=&quot;http://www2009.eprints.org/242/&quot; id=&quot;link-id11dc7c68&quot;&gt;a paper by Josep M. Pujol and Pablo Rodriguez, of Telefonica Research&lt;/a&gt;, about returning search to the people by means of Porqpine, a peer-to-peer search implementation based on sharing search results from search engines among peers and indexing them locally as they were retrieved. For users with similar interests, this can give a community based ranking model but has issues of privacy. Another point was that with local processing and personal scale &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id171a8948&quot;&gt;data&lt;/a&gt; volumes various kinds of brute force processing were feasible that would cost a lot for the web scale. Much can be done web scale but it must be done cleverly, not with a shell script and not so ad hoc.&lt;/p&gt; &lt;p&gt;As a counterpoint to this, there was &lt;a href=&quot;http://www2009.eprints.org/220/&quot; id=&quot;link-id120bf9e0&quot;&gt;a talk about Hadoop and Hive&lt;/a&gt;, a map-reduce-based &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-idee5d700&quot;&gt;SQL&lt;/a&gt;-like framework. One could do an SQL &lt;code&gt;GROUP BY&lt;/code&gt; on text files with record parsing at run time, all spread over a Hadoop cluster. The issue is, if you have a petabyte of data, you may wish to run more than one ad hoc query on it. This means that joining between partitions and complex processing becomes important. This cannot be done without indices and complex query optimization, and needs a DBMS. Stonebraker and company are fully justified in their &lt;a href=&quot;http://database.cs.brown.edu/sigmod09/&quot; id=&quot;link-id11be1088&quot;&gt;critique of map reduce&lt;/a&gt;. It looks like each generation must get dazzled by the oversimplified and then retrace the same discoveries of complexity as the previous one.&lt;/p&gt; &lt;p&gt;Some of our future plans were confirmed by what we saw, for example as concerns:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Interactively selecting sources for search, showing the graphs, then interactively refining&lt;/li&gt; &lt;li&gt;More social networks, more network analysis, and more work on social recommendation&lt;/li&gt; &lt;li&gt;Real time indexing of new pings, filling the store by forwarding queries to search engines, and harvesting micro-formats from results&lt;/li&gt; &lt;li&gt;Using &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id16440770&quot;&gt;entity&lt;/a&gt; extraction&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;These are all items in the pipeline, easy to do on top of the existing platform. For the machine learning and NLP parts, we will partner with others, details will be worked out while we work on the items we implement by ourselves.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data at WWW 2009 (#1 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2009-04-27#1545</atom:id>
  <atom:published>2009-04-27T21:28:11Z</atom:published>
  <atom:updated>2009-04-28T11:27:57-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(First of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id0x12d8ed90&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.)&lt;/p&gt; &lt;p&gt;We gave a talk at the &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x152bf430&quot;&gt;Linked Open Data&lt;/a&gt; workshop, &lt;a href=&quot;http://events.linkeddata.org/ldow2009/&quot; id=&quot;link-id0x191721c8&quot;&gt;LDOW 2009&lt;/a&gt;, at WWW 2009. I did not go very far into the technical points in the talk, as there was almost no time and the points are rather complex. Instead, I emphasized what new things had become possible with recent developments.&lt;/p&gt; &lt;p&gt;The problem we do not cease hearing about is scale. We have solved most of it. There is scale in the schema: Put together, ontologies go over a million classes/properties. Which ones are relevant depends, and the user should have the choice. The instance &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x17c8f998&quot;&gt;data&lt;/a&gt; is in the tens of billions of triples, much derived from Web 2.0 sources but also much published as &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0xd562090&quot;&gt;RDF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To make sense of this all, we need quick summaries and search. Without navigation via joins, the value will be limited. Fast joining, counting, grouping, and ranking are key.&lt;/p&gt; &lt;p&gt;People will use different terms for the same thing. The issue of identity is philosophical. In order to do reasoning one needs strong identity; a statement like &lt;i&gt;x is a bit like y&lt;/i&gt; is not very useful in a database context. Whether any x and y can be considered the same depends on the context. So leave this for query time. The conditions under which two people are considered the same will depend on whether you are doing marketing analysis or law enforcement. A general purpose data store cannot anticipate all the possibilities, so smush on demand, as you go, as has been said many times.&lt;/p&gt; &lt;p&gt;Against this backdrop, we offer a solution with which anybody who so chooses can play with big data, whether a search or analytics player.&lt;/p&gt; &lt;p&gt;We are going in the direction of more and more ad hoc processing at larger and larger scale. With good query parallelization, we can do big joins without complex programming. No explicit Map Reduce jobs or the like. What was done with special code with special parallel programming models, can now be done in &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x60bd0c48&quot;&gt;SQL&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x13db1ff0&quot;&gt;SPARQL&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To showcase this, we do &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x10a5dde8&quot;&gt;linked data&lt;/a&gt; search, browsing, and so on, but are essentially a platform provider.&lt;/p&gt; &lt;p&gt;Entry costs into relatively high end databases have dropped significantly. A cluster with 1 TB of RAM sells for $75K or so at today&amp;#39;s retail prices and fits under a desk. For intermittent use, the rent for 1TB RAM is $1228 per day on &lt;a href=&quot;http://aws.amazon.com/ec2/&quot; id=&quot;link-id0xa59039d8&quot;&gt;EC2&lt;/a&gt;. With this on one side and &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x19f86c10&quot;&gt;Virtuoso&lt;/a&gt; on the other, a lot that was impractical in the past is now within reach. Like &lt;a href=&quot;http://g1o.net/foaf.rdf#me&quot; id=&quot;link-id0xa1853af8&quot;&gt;Giovanni Tummarello&lt;/a&gt; put it for airplanes, the physics are as they were for &lt;a href=&quot;http://dbpedia.org/resource/Leonardo_da_Vinci&quot; id=&quot;link-id0x12df02e0&quot;&gt;da Vinci&lt;/a&gt; but materials and engines had to develop a bit before there was commercial potential. So it is also with analytics for everyone.&lt;/p&gt; &lt;p&gt;A remark from the audience was that all the stuff being shown, not limited to Virtuoso, was non-standard, having to do with text search, with ranking, with extensions, and was in fact not SPARQL and pure linked data principles. Further, by throwing this all together, one got something overcomplicated, too heavy.&lt;/p&gt; &lt;p&gt;I answered as follows, which apparently cannot be repeated too much:&lt;/p&gt; &lt;p&gt;First, everybody expects a text search box, and is conditioned to having one. No text search and no ranking is a non-starter. &lt;i&gt;Ceterum censeo&lt;/i&gt;, for database, the next generation cannot be less expressive than the previous. All of SQL and then some is where SPARQL must be. The barest minimum is being able to say anything one can say in SQL, and then justify SPARQL by saying that it is better for heterogenous data, schema last, and so on. On top of this, transitivity and rules will not hurt. For now, the current SPARQL working group will at least reach basic SQL parity; the edge will still remain implementation dependent.&lt;/p&gt; &lt;p&gt;Another remark was that joining is slow. Depends. Anything involving more complex disk access than linear reading of a blob is generally not good for interactive use. But with adequate memory, and with all hot spots in memory, we do some 3.2 million random-accesses-per-second on 12 cores, with easily 80% platform utilization for a single large query. The high utilization means that times drop as processing gets divided over more partitions.&lt;/p&gt; &lt;p&gt;There was a talk about &lt;a href=&quot;http://semanticweb.org/wiki/MashQL&quot; id=&quot;link-id0x1642a780&quot;&gt;MashQL&lt;/a&gt; by &lt;a href=&quot;http://data.semanticweb.org/person/mustafa-jarrar&quot; id=&quot;link-id0x116e5af8&quot;&gt;Mustafa Jarrar&lt;/a&gt;, concerning an abstraction on top of SPARQL for easy composition of tree-structured queries. The idea was that such queries can be evaluated &amp;quot;on the fly&amp;quot; as they are being composed. As it happens, we already have an &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x11442520&quot;&gt;XML&lt;/a&gt;-based query abstraction layer incorporated into Virtuoso 6.0&amp;#39;s built-in &lt;a href=&quot;http://lod.openlinksw.com/fct/facet.vsp&quot; id=&quot;link-id0x6a9ebfe0&quot;&gt;Faceted Data Browser Service&lt;/a&gt;, and the effects are probably quite similar. The most important point here is that by using XML, both of these approaches are interoperable against a Virtuoso back-end. Along similar lines, we did not get to talk to the G Facets people but our message to them is the same: &lt;i&gt;Use the &lt;a href=&quot;http://lod.openlinksw.com/fct/facet.vsp&quot; id=&quot;link-id0x1676e158&quot;&gt;faceted browser service&lt;/a&gt; to get vastly higher performance when querying against Linked Data, be it &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x12653418&quot;&gt;DBpedia&lt;/a&gt; or the &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x10a61e78&quot;&gt;entity&lt;/a&gt; &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x164150d8&quot;&gt;LOD&lt;/a&gt; &lt;a href=&quot;http://lod.openlinksw.com/&quot; id=&quot;link-id0xc5ec918&quot;&gt;Cloud&lt;/a&gt;. Virtuoso 6.0 (Open Source Edition) &amp;quot;&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=161622&amp;amp;package_id=319652&amp;amp;release_id=677866&quot; id=&quot;link-id12159728&quot;&gt;TP1&lt;/a&gt;&amp;quot; is now publicly available as a Technology Preview (beta).&lt;/i&gt; &lt;/p&gt; &lt;p&gt;We heard that there is an effort for porting Freebase&amp;#39;s Parallax to SPARQL. The same thing applies to this. With a number of different data viewers on top of SPARQL, we come closer to broad-audience linked-data applications. These viewers are still too generic for the end user, though. We fully believe that for both search and transactions, application-domain-specific workflows will stay relevant. But these can be made to a fair degree by specializing generic linked-data-bound controls and gluing them together with some scripting.&lt;/p&gt; &lt;p&gt;As said before, the application will interface the user to the vocabulary. The vocabulary development takes the modeling burden from the application and makes for interchangeable experience on the same data. The data in turn is &amp;quot;virtualized&amp;quot; into the database cloud or the local secure server, as the use case may require. &lt;/p&gt; &lt;p&gt;For ease of adoption, open competition, and safety from lock-in, the community needs a SPARQL whose usability is not totally dependent on vendor extensions. But we might &lt;i&gt;de facto&lt;/i&gt; have that in just a bit, whenever there is a working draft from the SPARQL WG.&lt;/p&gt; &lt;p&gt;Another topic that we encounter often is the question of integration (or lack thereof) between communities. For example, database conferences reject &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x12563ea0&quot;&gt;semantic web&lt;/a&gt; papers and vice versa. Such politics would seem to emerge naturally but are nonetheless detrimental. We really should partner with people who write papers as their principal occupation. We ourselves do software products and use very little time for papers, so some of the bad reviews we have received do make a legitimate point. By rights, we should go for database venues but we cannot have this take too much time. So we are open to partnering for splitting the opportunity cost of multiple submissions.&lt;/p&gt; &lt;p&gt;For future work, there is nothing radically new. We continue testing and productization of cluster databases. Just deliver what is in the pipeline. The essential nature of this is adding more and more cases of better and better parallelization in different query situations. The present usage patterns work well for finding bugs and performance bottlenecks. For presentation, our goal is to have third party viewers operate with our platform. We cannot completely leave data browsing and UI to third parties since we must from time to time introduce various unique functionality. Most interaction should however go via third party applications.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data at WWW 2009 (#1 of 5)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2009-04-27#1544</atom:id>
  <atom:published>2009-04-27T21:28:11Z</atom:published>
  <atom:updated>2009-04-28T11:27:50-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(First of five posts related to the &lt;a href=&quot;http://www2009.org/&quot; id=&quot;link-id0x114c2450&quot;&gt;WWW 2009&lt;/a&gt; conference, held the week of April 20, 2009.)&lt;/p&gt; &lt;p&gt;We gave a talk at the &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x166e10f0&quot;&gt;Linked Open Data&lt;/a&gt; workshop, &lt;a href=&quot;http://events.linkeddata.org/ldow2009/&quot; id=&quot;link-id0x19c2b1f0&quot;&gt;LDOW 2009&lt;/a&gt;, at WWW 2009. I did not go very far into the technical points in the talk, as there was almost no time and the points are rather complex. Instead, I emphasized what new things had become possible with recent developments.&lt;/p&gt; &lt;p&gt;The problem we do not cease hearing about is scale. We have solved most of it. There is scale in the schema: Put together, ontologies go over a million classes/properties. Which ones are relevant depends, and the user should have the choice. The instance &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x12c65250&quot;&gt;data&lt;/a&gt; is in the tens of billions of triples, much derived from Web 2.0 sources but also much published as &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x441128e0&quot;&gt;RDF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To make sense of this all, we need quick summaries and search. Without navigation via joins, the value will be limited. Fast joining, counting, grouping, and ranking are key.&lt;/p&gt; &lt;p&gt;People will use different terms for the same thing. The issue of identity is philosophical. In order to do reasoning one needs strong identity; a statement like &lt;i&gt;x is a bit like y&lt;/i&gt; is not very useful in a database context. Whether any x and y can be considered the same depends on the context. So leave this for query time. The conditions under which two people are considered the same will depend on whether you are doing marketing analysis or law enforcement. A general purpose data store cannot anticipate all the possibilities, so smush on demand, as you go, as has been said many times.&lt;/p&gt; &lt;p&gt;Against this backdrop, we offer a solution with which anybody who so chooses can play with big data, whether a search or analytics player.&lt;/p&gt; &lt;p&gt;We are going in the direction of more and more ad hoc processing at larger and larger scale. With good query parallelization, we can do big joins without complex programming. No explicit Map Reduce jobs or the like. What was done with special code with special parallel programming models, can now be done in &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x16766eb0&quot;&gt;SQL&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1645ddc8&quot;&gt;SPARQL&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To showcase this, we do &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0xa167e698&quot;&gt;linked data&lt;/a&gt; search, browsing, and so on, but are essentially a platform provider.&lt;/p&gt; &lt;p&gt;Entry costs into relatively high end databases have dropped significantly. A cluster with 1 TB of RAM sells for $75K or so at today&amp;#39;s retail prices and fits under a desk. For intermittent use, the rent for 1TB RAM is $1228 per day on &lt;a href=&quot;http://aws.amazon.com/ec2/&quot; id=&quot;link-id0xa1a67b70&quot;&gt;EC2&lt;/a&gt;. With this on one side and &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x1622d4e0&quot;&gt;Virtuoso&lt;/a&gt; on the other, a lot that was impractical in the past is now within reach. Like &lt;a href=&quot;http://g1o.net/foaf.rdf#me&quot; id=&quot;link-id0x3d5c8b50&quot;&gt;Giovanni Tummarello&lt;/a&gt; put it for airplanes, the physics are as they were for &lt;a href=&quot;http://dbpedia.org/resource/Leonardo_da_Vinci&quot; id=&quot;link-id0x198e7cc0&quot;&gt;da Vinci&lt;/a&gt; but materials and engines had to develop a bit before there was commercial potential. So it is also with analytics for everyone.&lt;/p&gt; &lt;p&gt;A remark from the audience was that all the stuff being shown, not limited to Virtuoso, was non-standard, having to do with text search, with ranking, with extensions, and was in fact not SPARQL and pure linked data principles. Further, by throwing this all together, one got something overcomplicated, too heavy.&lt;/p&gt; &lt;p&gt;I answered as follows, which apparently cannot be repeated too much:&lt;/p&gt; &lt;p&gt;First, everybody expects a text search box, and is conditioned to having one. No text search and no ranking is a non-starter. &lt;i&gt;Ceterum censeo&lt;/i&gt;, for database, the next generation cannot be less expressive than the previous. All of SQL and then some is where SPARQL must be. The barest minimum is being able to say anything one can say in SQL, and then justify SPARQL by saying that it is better for heterogenous data, schema last, and so on. On top of this, transitivity and rules will not hurt. For now, the current SPARQL working group will at least reach basic SQL parity; the edge will still remain implementation dependent.&lt;/p&gt; &lt;p&gt;Another remark was that joining is slow. Depends. Anything involving more complex disk access than linear reading of a blob is generally not good for interactive use. But with adequate memory, and with all hot spots in memory, we do some 3.2 million random-accesses-per-second on 12 cores, with easily 80% platform utilization for a single large query. The high utilization means that times drop as processing gets divided over more partitions.&lt;/p&gt; &lt;p&gt;There was a talk about &lt;a href=&quot;http://semanticweb.org/wiki/MashQL&quot; id=&quot;link-id0x60bd57b0&quot;&gt;MashQL&lt;/a&gt; by &lt;a href=&quot;http://data.semanticweb.org/person/mustafa-jarrar&quot; id=&quot;link-id0xa1fb98d8&quot;&gt;Mustafa Jarrar&lt;/a&gt;, concerning an abstraction on top of SPARQL for easy composition of tree-structured queries. The idea was that such queries can be evaluated &amp;quot;on the fly&amp;quot; as they are being composed. As it happens, we already have an &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x1923a380&quot;&gt;XML&lt;/a&gt;-based query abstraction layer incorporated into Virtuoso 6.0&amp;#39;s built-in &lt;a href=&quot;http://lod.openlinksw.com/fct/facet.vsp&quot; id=&quot;link-id0x67712740&quot;&gt;Faceted Data Browser Service&lt;/a&gt;, and the effects are probably quite similar. The most important point here is that by using XML, both of these approaches are interoperable against a Virtuoso back-end. Along similar lines, we did not get to talk to the G Facets people but our message to them is the same: &lt;i&gt;Use the &lt;a href=&quot;http://lod.openlinksw.com/fct/facet.vsp&quot; id=&quot;link-id0x70df2798&quot;&gt;faceted browser service&lt;/a&gt; to get vastly higher performance when querying against Linked Data, be it &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x1b3fd608&quot;&gt;DBpedia&lt;/a&gt; or the &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x13ecd708&quot;&gt;entity&lt;/a&gt; &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x17f16970&quot;&gt;LOD&lt;/a&gt; &lt;a href=&quot;http://lod.openlinksw.com/&quot; id=&quot;link-id0x54334250&quot;&gt;Cloud&lt;/a&gt;. Virtuoso 6.0 (Open Source Edition) &amp;quot;&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=161622&amp;amp;package_id=319652&amp;amp;release_id=677866&quot; id=&quot;link-id12159728&quot;&gt;TP1&lt;/a&gt;&amp;quot; is now publicly available as a Technology Preview (beta).&lt;/i&gt; &lt;/p&gt; &lt;p&gt;We heard that there is an effort for porting Freebase&amp;#39;s Parallax to SPARQL. The same thing applies to this. With a number of different data viewers on top of SPARQL, we come closer to broad-audience linked-data applications. These viewers are still too generic for the end user, though. We fully believe that for both search and transactions, application-domain-specific workflows will stay relevant. But these can be made to a fair degree by specializing generic linked-data-bound controls and gluing them together with some scripting.&lt;/p&gt; &lt;p&gt;As said before, the application will interface the user to the vocabulary. The vocabulary development takes the modeling burden from the application and makes for interchangeable experience on the same data. The data in turn is &amp;quot;virtualized&amp;quot; into the database cloud or the local secure server, as the use case may require. &lt;/p&gt; &lt;p&gt;For ease of adoption, open competition, and safety from lock-in, the community needs a SPARQL whose usability is not totally dependent on vendor extensions. But we might &lt;i&gt;de facto&lt;/i&gt; have that in just a bit, whenever there is a working draft from the SPARQL WG.&lt;/p&gt; &lt;p&gt;Another topic that we encounter often is the question of integration (or lack thereof) between communities. For example, database conferences reject &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x185d6bf8&quot;&gt;semantic web&lt;/a&gt; papers and vice versa. Such politics would seem to emerge naturally but are nonetheless detrimental. We really should partner with people who write papers as their principal occupation. We ourselves do software products and use very little time for papers, so some of the bad reviews we have received do make a legitimate point. By rights, we should go for database venues but we cannot have this take too much time. So we are open to partnering for splitting the opportunity cost of multiple submissions.&lt;/p&gt; &lt;p&gt;For future work, there is nothing radically new. We continue testing and productization of cluster databases. Just deliver what is in the pipeline. The essential nature of this is adding more and more cases of better and better parallelization in different query situations. The present usage patterns work well for finding bugs and performance bottlenecks. For presentation, our goal is to have third party viewers operate with our platform. We cannot completely leave data browsing and UI to third parties since we must from time to time introduce various unique functionality. Most interaction should however go via third party applications.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Beyond Applications - Introducing the Planetary Datasphere (Part 1)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2009-03-24#1536</atom:id>
  <atom:published>2009-03-24T14:38:57Z</atom:published>
  <atom:updated>2009-03-24T10:50:16-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;This is the first in a short series of &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x12685210&quot;&gt;blog&lt;/a&gt; posts about what becomes possible when essentially unlimited &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x13112bc0&quot;&gt;linked data&lt;/a&gt; can be deployed on the open web and private intranets.&lt;/p&gt; &lt;p&gt;The term &lt;i&gt;DataSphere&lt;/i&gt; comes from Dan Simmons&amp;#39; &lt;i&gt;&lt;a href=&quot;http://dbpedia.org/resource/Hyperion_Cantos&quot; id=&quot;link-id12ad4718&quot;&gt;Hyperion&lt;/a&gt;&lt;/i&gt; science fiction series, where it is a sort of pervasive computing capability that plays host to all sorts of processes, including what people do on the &lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x13398e38&quot;&gt;net&lt;/a&gt; today, and then some. I use this term here in order to emphasize the blurring of silo and application boundaries. The network is not only the computer but also the database. I will look at what effects the birth of a sort of linked data stratum can have on end-user experience, application development, application deployment and hosting, business models and advertising, and security; how cloud computing fits in; and how back-end software such as databases must evolve to support all of these.&lt;/p&gt; &lt;p&gt;This is a mid-term vision. The components are coming into production as we speak, but the end result is not here quite yet.&lt;/p&gt; &lt;p&gt;I use the word &lt;i&gt;DataSphere&lt;/i&gt; to refer to a worldwide database fabric, a global Distributed DBMS collective, within which there are many &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x13209728&quot;&gt;Data&lt;/a&gt; Spaces, or Named Data Spaces. A &lt;i&gt;Data &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Spaces&quot; id=&quot;link-id0x137a0dc0&quot;&gt;Space&lt;/a&gt;&lt;/i&gt; is essentially a person&amp;#39;s or organization&amp;#39;s contribution to the DataSphere. I use &lt;i&gt;Linked Data &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id0x23df2450&quot;&gt;Web&lt;/a&gt;&lt;/i&gt; to refer to component technologies and practices such as &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1286f7a0&quot;&gt;RDF&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x132e70d0&quot;&gt;SPARQL&lt;/a&gt;, Linked Data practices, etc. The DataSphere does not have to be built on this technology stack &lt;i&gt;per se&lt;/i&gt;, but this stack is still the best bet for it.&lt;/p&gt; &lt;h2&gt;General&lt;/h2&gt; &lt;p&gt;There exist applications for performing specialized functions such as social networking, shopping, document search, and C2C commerce at planetary scale. All these applications run on their own databases, each with a task specific schema. They communicate by web pages and by predefined messages for diverse application-specific transactions and reports.&lt;/p&gt; &lt;p&gt;These silos are scalable because in general their data has some natural partitioning, and because the set of transactions is predetermined and the data structure is set up for this.&lt;/p&gt; &lt;p&gt;The Linked Data Web proposes to create a data infrastructure that can hold anything, just like a network can transport anything. This is not a network with a memory of messages, but a whole that can answer arbitrary questions about what has been said. The prerequisite is that the questions are phrased in a vocabulary that is compatible with the vocabulary in which the statements themselves were made.&lt;/p&gt; &lt;p&gt;In this setting, the vocabulary takes the place of the application. Of course, there continues to be a procedural element to applications; this has the function of translating statements between the domain vocabulary and a user interface. Examples are data import from existing applications, running predefined reports, composing new reports, and translating between natural language and the domain vocabulary.&lt;/p&gt; &lt;p&gt;The big difference is that the database moves outside of the silo, at least in logical terms. The database will be like the network â horizontal and ubiquitous. The equivalent of TCP/IP will be the RDF/SPARQL combination. The equivalent of routing protocols between ISPs will be gateways between the specific DBMS engines supporting the services.&lt;/p&gt; &lt;h2&gt;The place of the DBMS in the stack changes&lt;/h2&gt; &lt;p&gt;The &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x1320b9b0&quot;&gt;RDBMS&lt;/a&gt; in itself is eternal, or at least as eternal as a culture with heavy reliance on written records is. Any such culture will invent the RDBMS and use it where it best fits. We are not replacing this; we are building an abstracted worldwide data layer. This is to the RDBMS supporting line-of-business applications what the www was to enterprise content management systems.&lt;/p&gt; &lt;p&gt;For transactions, the Web 2.0-style application-specific messages are fine. Also, any transactional system that must be audited must physically reside somewhere, have physical security, etc. It can&amp;#39;t just be somewhere in the DataSphere, managed by some system with which one has no contract, just like Google&amp;#39;s web page cache can&amp;#39;t be relied on as a permanent repository of web content.&lt;/p&gt; &lt;p&gt;Providing space on the Linked Data Web is like providing hosting on the Document Web. This may have varying service levels, pricing models, etc. The value of a queriable DataSphere is that a new application does not have to begin by building its own schema, database infrastructure, service hosting, etc. The application becomes more like a language &lt;a href=&quot;http://dbpedia.org/resource/Meme&quot; id=&quot;link-id0x13032ec8&quot;&gt;meme&lt;/a&gt;, a cultural form of interaction mediated by a relatively lightweight user-facing component, laterally open for unforeseen interaction with other applications from other domains of discourse.&lt;/p&gt; &lt;h2&gt;End User Benefits&lt;/h2&gt; &lt;p&gt;For the end user, the web will still look like a place where one can shop, discuss, date, whatever. These activities will be mediated by user interfaces as they are now. Right now, the end user&amp;#39;s web presence is his/her blog or web site, and their contributions to diverse wikis, social web sites, and so forth. These are scattered. The user&amp;#39;s Data Space is the collection of all these things, now presented in a queriable form. The user&amp;#39;s Data Space is the user&amp;#39;s statement of presence, referencing the diverse contributions of the user on diverse sites.&lt;/p&gt; &lt;p&gt;The personal Data Space being a queriable, structured whole facilitates finding and being found, which is what brings individuals to the web in the first place. The best applications and sites are those which make this the easiest. The Linked Data Web allows saying what one wishes in a structured, queriable manner, across all application domains, independently of domain specific silos. The end user&amp;#39;s interaction with the personal data space is through applications, like now. But these applications are just wrappers on top of self describing data, represented in domain specific vocabularies; one vocabulary is used for social networking, another for C2C commerce, and so on. The user is the master of their personal Data Space, free to take it where he or she wishes.&lt;/p&gt; &lt;p&gt;Further benefits will include more ready referencing between these spaces, more uniform identity management, cross-application operations, and the emergence of &amp;quot;meta-applications,&amp;quot; i.e., unified interfaces for managing many related applications/tasks.&lt;/p&gt; &lt;p&gt;Of course, there is the increase in semantic richness, such as better contextuality derived from &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x12b84120&quot;&gt;entity&lt;/a&gt; extraction from text. But this is also possible in a silo. The Linked Data Web angle is the sharing of identifiers for real world entities, which makes extracts of different sources by different parties potentially joinable. The user interaction will hardly ever be with the raw data. But the raw data being still at hand makes for better targeting of advertisements, better offering of related services, easier discovery of related content, and less noise overall.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id0x136040d8&quot;&gt;Kingsley Idehen&lt;/a&gt; has coined the term &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id0x12eadd10&quot;&gt;SDQ&lt;/a&gt;, for &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id0x137014f8&quot;&gt;Serendipitous Discovery Quotient&lt;/a&gt;, to denote this. When applications expose explicit semantics, constructing a user experience that combines relevant data from many sources, including applications as well as highly targeted advertising, becomes natural. It is no longer a matter of &amp;quot;mashing up&amp;quot; web service interfaces with procedural code, but of &amp;quot;meshing&amp;quot; data through declarative queries across application spaces.&lt;/p&gt; &lt;h2&gt;Applications in the DataSphere&lt;/h2&gt; &lt;p&gt;The workflows supported by the DataSphere are essentially those taking place on the web now. The DataSphere dimension is expressed by bookmarklets, browser plugins, and the like, with ready access to related data and actions that are relevant for this data. Actions triggered by data can be anything from posting a comment to making an e-commerce purchase. Web 2.0 models fit right in.&lt;/p&gt; &lt;p&gt;Web application development now consists of designing an application-specific database schema and writing web pages to interact with this schema. In the DataSphere, the database is abstracted away, as is a large part of the schema. The application floats on a sea of data instead of being tied to its own specific store and schema. Some local transaction data should still be handled in the old way, though.&lt;/p&gt; &lt;p&gt;For the application developer, the question becomes one of vocabulary choice. How will the application synthesize URIs from the user interaction? Which URIs will be used, since pretty much anything will in practice have many names (e.g., &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x1337e5f0&quot;&gt;DBpedia&lt;/a&gt; Vs. Freebase identifiers). The end user will generally have no idea of this choice, nor of the various degrees of normalization, etc., in the vocabularies. Still, usage of such applications will produce data using some identifiers and vocabularies. Benefits of ready joining without translation will drive adoption. A vocabulary with instance data will get more instance data.&lt;/p&gt; &lt;p&gt;The Linked Data Web infrastructure itself must support vocabulary and identifier choice by answering questions about who uses a particular identifier and where. Even now, we offer entity ranks and resolution of synonyms, queries on what graphs mention a certain identifier and so on. This is a means of finding the most commonly used term for each situation. Convergence of terminology cuts down on translation and makes for easier and more efficient querying.&lt;/p&gt; &lt;h2&gt;Advertising&lt;/h2&gt; &lt;p&gt;The application developer is, for purposes of advertising, in the position of the inventory owner, just like a traditional publisher, whether web or other. But with smarter data, it is not a matter of static keywords but of the semantically explicit data behind each individual user impression driving the ads. Data itself carries no ads but the user impression will still go through a display layer that can show ads. If the application relies on reuse of licensed content, such as media, then the content provider may get a cut of the ad revenue even if it is not the direct owner of the inventory. The specifics of implementing and enforcing this are to be worked out.&lt;/p&gt; &lt;h2&gt;Content Providers, License, and Attribution&lt;/h2&gt; &lt;p&gt;For the content provider, the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id0x116b9ae8&quot;&gt;URI&lt;/a&gt; is the brand carrier. If the data is well linked and queriable, this will drive usage and traffic to the services of the content provider. This is true of any provider, whether a media publisher, e-commerce business, government agency, or anything else.&lt;/p&gt; &lt;p&gt;Intellectual property considerations will make the URI a first class citizen. Just like the URI is a part of the document web experience, it is a part of the Linked Data Web experience. Just like Creative Commons licenses allow the licensor to define what type of attribution is required, a data publisher can mandate that a user experience mediated by whatever application should expose the source as a dereferenceable URI. &lt;/p&gt; &lt;p&gt;One element of data dereferencing must be linking to applications that facilitate human interaction with the data. A generic data browser is a developer tool; the end user experience must still be mediated by interfaces tailored to the domain. This layer can take care of making the brand visible and can show advertising or be monetized on a usage basis.&lt;/p&gt; &lt;p&gt;Next we will look at the service provider and infrastructure side of this.&lt;/p&gt; &lt;h2&gt;Related&lt;/h2&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id148ea4e0&quot;&gt;Serendipitous Discovery Quotient (SDQ)&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1534&quot; id=&quot;link-id14b07f88&quot;&gt;How Linked Data will change Advertising&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1519&quot; id=&quot;link-id117c6608&quot;&gt;The Time for RDBMS Primacy Downgrade is Nigh!&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?tag=DataSpace&quot; id=&quot;link-id154e1d58&quot;&gt;Data Spaces&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Beyond Applications - Introducing the Planetary Datasphere (Part 1)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2009-03-24#1535</atom:id>
  <atom:published>2009-03-24T14:38:57Z</atom:published>
  <atom:updated>2009-03-24T10:50:13-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;This is the first in a short series of &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x12c91d60&quot;&gt;blog&lt;/a&gt; posts about what becomes possible when essentially unlimited &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x2375f488&quot;&gt;linked data&lt;/a&gt; can be deployed on the open web and private intranets.&lt;/p&gt; &lt;p&gt;The term &lt;i&gt;DataSphere&lt;/i&gt; comes from Dan Simmons&amp;#39; &lt;i&gt;&lt;a href=&quot;http://dbpedia.org/resource/Hyperion_Cantos&quot; id=&quot;link-id12ad4718&quot;&gt;Hyperion&lt;/a&gt;&lt;/i&gt; science fiction series, where it is a sort of pervasive computing capability that plays host to all sorts of processes, including what people do on the &lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x13084f08&quot;&gt;net&lt;/a&gt; today, and then some. I use this term here in order to emphasize the blurring of silo and application boundaries. The network is not only the computer but also the database. I will look at what effects the birth of a sort of linked data stratum can have on end-user experience, application development, application deployment and hosting, business models and advertising, and security; how cloud computing fits in; and how back-end software such as databases must evolve to support all of these.&lt;/p&gt; &lt;p&gt;This is a mid-term vision. The components are coming into production as we speak, but the end result is not here quite yet.&lt;/p&gt; &lt;p&gt;I use the word &lt;i&gt;DataSphere&lt;/i&gt; to refer to a worldwide database fabric, a global Distributed DBMS collective, within which there are many &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x2504fff8&quot;&gt;Data&lt;/a&gt; Spaces, or Named Data Spaces. A &lt;i&gt;Data &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Spaces&quot; id=&quot;link-id0x81175fa0&quot;&gt;Space&lt;/a&gt;&lt;/i&gt; is essentially a person&amp;#39;s or organization&amp;#39;s contribution to the DataSphere. I use &lt;i&gt;Linked Data &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id0x70f4e190&quot;&gt;Web&lt;/a&gt;&lt;/i&gt; to refer to component technologies and practices such as &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x3a5ddcd8&quot;&gt;RDF&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x23b049e0&quot;&gt;SPARQL&lt;/a&gt;, Linked Data practices, etc. The DataSphere does not have to be built on this technology stack &lt;i&gt;per se&lt;/i&gt;, but this stack is still the best bet for it.&lt;/p&gt; &lt;h2&gt;General&lt;/h2&gt; &lt;p&gt;There exist applications for performing specialized functions such as social networking, shopping, document search, and C2C commerce at planetary scale. All these applications run on their own databases, each with a task specific schema. They communicate by web pages and by predefined messages for diverse application-specific transactions and reports.&lt;/p&gt; &lt;p&gt;These silos are scalable because in general their data has some natural partitioning, and because the set of transactions is predetermined and the data structure is set up for this.&lt;/p&gt; &lt;p&gt;The Linked Data Web proposes to create a data infrastructure that can hold anything, just like a network can transport anything. This is not a network with a memory of messages, but a whole that can answer arbitrary questions about what has been said. The prerequisite is that the questions are phrased in a vocabulary that is compatible with the vocabulary in which the statements themselves were made.&lt;/p&gt; &lt;p&gt;In this setting, the vocabulary takes the place of the application. Of course, there continues to be a procedural element to applications; this has the function of translating statements between the domain vocabulary and a user interface. Examples are data import from existing applications, running predefined reports, composing new reports, and translating between natural language and the domain vocabulary.&lt;/p&gt; &lt;p&gt;The big difference is that the database moves outside of the silo, at least in logical terms. The database will be like the network â horizontal and ubiquitous. The equivalent of TCP/IP will be the RDF/SPARQL combination. The equivalent of routing protocols between ISPs will be gateways between the specific DBMS engines supporting the services.&lt;/p&gt; &lt;h2&gt;The place of the DBMS in the stack changes&lt;/h2&gt; &lt;p&gt;The &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x10082590&quot;&gt;RDBMS&lt;/a&gt; in itself is eternal, or at least as eternal as a culture with heavy reliance on written records is. Any such culture will invent the RDBMS and use it where it best fits. We are not replacing this; we are building an abstracted worldwide data layer. This is to the RDBMS supporting line-of-business applications what the www was to enterprise content management systems.&lt;/p&gt; &lt;p&gt;For transactions, the Web 2.0-style application-specific messages are fine. Also, any transactional system that must be audited must physically reside somewhere, have physical security, etc. It can&amp;#39;t just be somewhere in the DataSphere, managed by some system with which one has no contract, just like Google&amp;#39;s web page cache can&amp;#39;t be relied on as a permanent repository of web content.&lt;/p&gt; &lt;p&gt;Providing space on the Linked Data Web is like providing hosting on the Document Web. This may have varying service levels, pricing models, etc. The value of a queriable DataSphere is that a new application does not have to begin by building its own schema, database infrastructure, service hosting, etc. The application becomes more like a language &lt;a href=&quot;http://dbpedia.org/resource/Meme&quot; id=&quot;link-id0x23c85e68&quot;&gt;meme&lt;/a&gt;, a cultural form of interaction mediated by a relatively lightweight user-facing component, laterally open for unforeseen interaction with other applications from other domains of discourse.&lt;/p&gt; &lt;h2&gt;End User Benefits&lt;/h2&gt; &lt;p&gt;For the end user, the web will still look like a place where one can shop, discuss, date, whatever. These activities will be mediated by user interfaces as they are now. Right now, the end user&amp;#39;s web presence is his/her blog or web site, and their contributions to diverse wikis, social web sites, and so forth. These are scattered. The user&amp;#39;s Data Space is the collection of all these things, now presented in a queriable form. The user&amp;#39;s Data Space is the user&amp;#39;s statement of presence, referencing the diverse contributions of the user on diverse sites.&lt;/p&gt; &lt;p&gt;The personal Data Space being a queriable, structured whole facilitates finding and being found, which is what brings individuals to the web in the first place. The best applications and sites are those which make this the easiest. The Linked Data Web allows saying what one wishes in a structured, queriable manner, across all application domains, independently of domain specific silos. The end user&amp;#39;s interaction with the personal data space is through applications, like now. But these applications are just wrappers on top of self describing data, represented in domain specific vocabularies; one vocabulary is used for social networking, another for C2C commerce, and so on. The user is the master of their personal Data Space, free to take it where he or she wishes.&lt;/p&gt; &lt;p&gt;Further benefits will include more ready referencing between these spaces, more uniform identity management, cross-application operations, and the emergence of &amp;quot;meta-applications,&amp;quot; i.e., unified interfaces for managing many related applications/tasks.&lt;/p&gt; &lt;p&gt;Of course, there is the increase in semantic richness, such as better contextuality derived from &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x23904698&quot;&gt;entity&lt;/a&gt; extraction from text. But this is also possible in a silo. The Linked Data Web angle is the sharing of identifiers for real world entities, which makes extracts of different sources by different parties potentially joinable. The user interaction will hardly ever be with the raw data. But the raw data being still at hand makes for better targeting of advertisements, better offering of related services, easier discovery of related content, and less noise overall.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id0x37342a60&quot;&gt;Kingsley Idehen&lt;/a&gt; has coined the term &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id0x3a56e4e8&quot;&gt;SDQ&lt;/a&gt;, for &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id0x23649b70&quot;&gt;Serendipitous Discovery Quotient&lt;/a&gt;, to denote this. When applications expose explicit semantics, constructing a user experience that combines relevant data from many sources, including applications as well as highly targeted advertising, becomes natural. It is no longer a matter of &amp;quot;mashing up&amp;quot; web service interfaces with procedural code, but of &amp;quot;meshing&amp;quot; data through declarative queries across application spaces.&lt;/p&gt; &lt;h2&gt;Applications in the DataSphere&lt;/h2&gt; &lt;p&gt;The workflows supported by the DataSphere are essentially those taking place on the web now. The DataSphere dimension is expressed by bookmarklets, browser plugins, and the like, with ready access to related data and actions that are relevant for this data. Actions triggered by data can be anything from posting a comment to making an e-commerce purchase. Web 2.0 models fit right in.&lt;/p&gt; &lt;p&gt;Web application development now consists of designing an application-specific database schema and writing web pages to interact with this schema. In the DataSphere, the database is abstracted away, as is a large part of the schema. The application floats on a sea of data instead of being tied to its own specific store and schema. Some local transaction data should still be handled in the old way, though.&lt;/p&gt; &lt;p&gt;For the application developer, the question becomes one of vocabulary choice. How will the application synthesize URIs from the user interaction? Which URIs will be used, since pretty much anything will in practice have many names (e.g., &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x2364eae8&quot;&gt;DBpedia&lt;/a&gt; Vs. Freebase identifiers). The end user will generally have no idea of this choice, nor of the various degrees of normalization, etc., in the vocabularies. Still, usage of such applications will produce data using some identifiers and vocabularies. Benefits of ready joining without translation will drive adoption. A vocabulary with instance data will get more instance data.&lt;/p&gt; &lt;p&gt;The Linked Data Web infrastructure itself must support vocabulary and identifier choice by answering questions about who uses a particular identifier and where. Even now, we offer entity ranks and resolution of synonyms, queries on what graphs mention a certain identifier and so on. This is a means of finding the most commonly used term for each situation. Convergence of terminology cuts down on translation and makes for easier and more efficient querying.&lt;/p&gt; &lt;h2&gt;Advertising&lt;/h2&gt; &lt;p&gt;The application developer is, for purposes of advertising, in the position of the inventory owner, just like a traditional publisher, whether web or other. But with smarter data, it is not a matter of static keywords but of the semantically explicit data behind each individual user impression driving the ads. Data itself carries no ads but the user impression will still go through a display layer that can show ads. If the application relies on reuse of licensed content, such as media, then the content provider may get a cut of the ad revenue even if it is not the direct owner of the inventory. The specifics of implementing and enforcing this are to be worked out.&lt;/p&gt; &lt;h2&gt;Content Providers, License, and Attribution&lt;/h2&gt; &lt;p&gt;For the content provider, the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id0xa9abc2f8&quot;&gt;URI&lt;/a&gt; is the brand carrier. If the data is well linked and queriable, this will drive usage and traffic to the services of the content provider. This is true of any provider, whether a media publisher, e-commerce business, government agency, or anything else.&lt;/p&gt; &lt;p&gt;Intellectual property considerations will make the URI a first class citizen. Just like the URI is a part of the document web experience, it is a part of the Linked Data Web experience. Just like Creative Commons licenses allow the licensor to define what type of attribution is required, a data publisher can mandate that a user experience mediated by whatever application should expose the source as a dereferenceable URI. &lt;/p&gt; &lt;p&gt;One element of data dereferencing must be linking to applications that facilitate human interaction with the data. A generic data browser is a developer tool; the end user experience must still be mediated by interfaces tailored to the domain. This layer can take care of making the brand visible and can show advertising or be monetized on a usage basis.&lt;/p&gt; &lt;p&gt;Next we will look at the service provider and infrastructure side of this.&lt;/p&gt; &lt;h2&gt;Related&lt;/h2&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1442&quot; id=&quot;link-id148ea4e0&quot;&gt;Serendipitous Discovery Quotient (SDQ)&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1534&quot; id=&quot;link-id14b07f88&quot;&gt;How Linked Data will change Advertising&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1519&quot; id=&quot;link-id117c6608&quot;&gt;The Time for RDBMS Primacy Downgrade is Nigh!&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?tag=DataSpace&quot; id=&quot;link-id154e1d58&quot;&gt;Data Spaces&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data &amp; The Year 2009 (updated)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2009-01-02#1511</atom:id>
  <atom:published>2009-01-02T16:17:06Z</atom:published>
  <atom:updated>2009-01-02T13:26:42.000003-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;As is fitting for the season, I will editorialize a bit about what has gone before and what is to come.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/card#i&quot; id=&quot;link-id1119f250&quot;&gt;Sir Tim&lt;/a&gt; said it at WWW08 in &lt;a href=&quot;http://www2008.org/&quot; id=&quot;link-id0x1dcb93a0&quot;&gt;Beijing&lt;/a&gt; â &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x13a3efb8&quot;&gt;linked data&lt;/a&gt; and the linked data &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id0x13a44cd0&quot;&gt;web&lt;/a&gt; is the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x10d25788&quot;&gt;semantic web&lt;/a&gt; and the Web done right.&lt;/p&gt; &lt;p&gt;The grail of &lt;i&gt;ad hoc&lt;/i&gt; analytics on infinite &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xa201d518&quot;&gt;data&lt;/a&gt; has lost none of its appeal. We have seen fresh evidence of this in the realm of data warehousing products, as well as storage in general.&lt;/p&gt; &lt;p&gt;The benefits of a data model more abstract than the relational are being increasingly appreciated also outside the data web circles. Microsoft&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x12fa4e40&quot;&gt;Entity&lt;/a&gt; Frameworks technology is an example. Agility has been a buzzword for a long time. Everything should be offered in a service based business model and should interoperate and integrate with everything else â business needs first; schema last.&lt;/p&gt; &lt;p&gt;Not to forget that when money is tight, reuse of existing assets and paying on a usage basis are naturally emphasized. &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0x175b32e8&quot;&gt;Information&lt;/a&gt;, as the asset it is, is none the less important, on the contrary. But even with information, value should be realized economically, which, among other things, entails not reinventing the wheel.&lt;/p&gt; &lt;p&gt;It is against this backdrop that this year will play out.&lt;/p&gt; &lt;p&gt;As concerns research, I will &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1374&quot; id=&quot;link-id1151b128&quot;&gt;again quote&lt;/a&gt; &lt;a href=&quot;http://www.ibiblio.org/hhalpin/#&quot; id=&quot;link-id141cb740&quot;&gt;Harry Halpin&lt;/a&gt; at &lt;a href=&quot;http://www.eswc2008.org/&quot; id=&quot;link-id0x18a8a858&quot;&gt;ESWC 2008&lt;/a&gt;: &amp;quot;Men will fight in a war, and even lose a war, for what they believe just. And it may come to pass that later, even though the war were lost, the things then fought for will emerge under another name and establish themselves as the prevailing reality&amp;quot; [or words to this effect].&lt;/p&gt; &lt;p&gt;Something like the data web, and even the semantic web, will happen. Harry&amp;#39;s question was whether this would be the descendant of what is today called semantic web research.&lt;/p&gt; &lt;p&gt;I heard in conversation about a project for making a very large metadata store. I also heard that the makers did not particularly insist on this being &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x3c39ed80&quot;&gt;RDF&lt;/a&gt;-based, though.&lt;/p&gt; &lt;p&gt;Why should such a thing be RDF-based? If it is already accepted that there will be &lt;i&gt;ad hoc&lt;/i&gt; schema and that queries ought to be able to view the data from all angles, not be limited by having indices one way and not another way, then why not RDF?&lt;/p&gt; &lt;p&gt;The justification of RDF is in reusing and linking-to data and terminology out there. Another justification is that by using an RDF store, one is spared a lot of work and tons of compromises which attend making an &lt;a href=&quot;http://dbpedia.org/resource/Entity-attribute-value_model&quot; id=&quot;link-id0x14a77880&quot;&gt;entity&lt;/a&gt;-attribute-value (&lt;a href=&quot;http://dbpedia.org/resource/Entity-attribute-value_model&quot; id=&quot;link-id0x5f978e88&quot;&gt;EAV&lt;/a&gt;, i.e., triple) store on a generic &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x391bdcd8&quot;&gt;RDBMS&lt;/a&gt;. The sem-web world has been there, trust me. We came out well because we put all inside the RDBMS, lowest level, which you can&amp;#39;t do unless you own the RDBMS. Source access is not enough; you also need the &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x138a3a00&quot;&gt;knowledge&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Technicalities aside, the question is one of proprietary vs. standards-based. This is not only so with software components, where standards have consistently demonstrated benefits, but now also with the data. &lt;a href=&quot;http://www.zemanta.com/&quot; id=&quot;link-id0x5f92cb38&quot;&gt;Zemanta&lt;/a&gt; and &lt;a href=&quot;http://www.opencalais.com/&quot; id=&quot;link-id0x139c3200&quot;&gt;OpenCalais&lt;/a&gt; serving &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x1731dc78&quot;&gt;DBpedia&lt;/a&gt; URIs are examples. Even in entirely closed applications, there is benefit in reusing open vocabularies and identifiers: One does not need to create a secret language for writing a secret memo.&lt;/p&gt; &lt;p&gt;Where data is a carrier of value, its value is enhanced by it being easy to repurpose (i.e., standard vocabularies) and to discover (i.e., data set metadata). As on the web, so on the enterprise &lt;a href=&quot;http://dbpedia.org/resource/Intranet&quot; id=&quot;link-id0x1324ada8&quot;&gt;intranet&lt;/a&gt;. In this lies the strength of RDF as opposed to proprietary flexible database schemes. This is a qualitative distinction.&lt;/p&gt; &lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData&quot; id=&quot;link-id117178a8&quot;&gt;&lt;img src=&quot;http://www.openlinksw.com/images/logos/LoDLogo.gif&quot; alt=&quot;Linking Open Data project logo&quot; /&gt; &lt;/a&gt; &lt;br /&gt; &lt;a href=&quot;http://dbpedia.org/resource/In_hoc_signo_vinces&quot; id=&quot;link-id115f47e8&quot;&gt;&lt;i&gt;In hoc signo vinces.&lt;/i&gt; &lt;/a&gt; &lt;/p&gt; &lt;p&gt;In this light, we welcome the &lt;a href=&quot;http://semanticweb.org/wiki/VoiD&quot; id=&quot;link-id0x67cf560&quot;&gt;voiD&lt;/a&gt; (&lt;a href=&quot;http://semanticweb.org/wiki/VoiD&quot; id=&quot;link-id0x1898c908&quot;&gt;VOcabulary of Interlinked Data&lt;/a&gt;), which is the first promise of making federatable data discoverable. Now that there is a point of focus for these efforts, the needed expressivity will no doubt accrete around the voiD core.&lt;/p&gt; &lt;p&gt;For data as a service, we clearly see the value of open terminologies as prerequisites for service interchangeability, i.e., creating a marketplace. &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x1588d6a8&quot;&gt;XML&lt;/a&gt; is for the transaction; RDF is for the discovery, query, and analytics. As with databases in general, first there was the transaction; then there was the query. Same here. For monetizing the query, there are models ranging from renting data sets and server capacity in the clouds to hosted services where one pays for processing past a certain quota. For the hosted case, we just removed a major barrier to offering unlimited query against unlimited data when we completed the &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1374&quot; id=&quot;link-id110b8668&quot;&gt;Virtuoso Anytime&lt;/a&gt; feature. With this, the user gets what is found within a set time, which is already something, and in case of needing more, one can pay for the usage. Of course, we do not forget advertising. When data has explicit semantics, contextuality is better than with keywords.&lt;/p&gt; &lt;p&gt;For these visions to materialize on top of the linked data platform, linked data must join the world of data. This means messaging that is geared towards the database public. They know the problem, but the RDF proposition is still not well enough understood for it to connect.&lt;/p&gt; &lt;p&gt;For the relational IT world, we offer passage to the data web and its promise of integration through RDF mapping. We are also bringing out new Microsoft Entity &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET_Entity_Framework&quot; id=&quot;link-id0x13a50fd8&quot;&gt;Framework&lt;/a&gt; components. This goes in the direction of defining a unified database frontier with RDF and non-RDF entity models side by side.&lt;/p&gt; &lt;p&gt;For &lt;a href=&quot;http://www.openlinksw.com/dataspace/organization/openlink#this&quot; id=&quot;link-id0x1d2ea7f0&quot;&gt;OpenLink Software&lt;/a&gt;, 2008 was about developing technology for scale, RDF as well as generic relational. We did show a tiny preview with the &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id0x658fbc8&quot;&gt;Billion Triples Challenge&lt;/a&gt; demo. Now we are set to come out with the real thing, featuring, among other things, faceted search at the billion triple scale. We &lt;a href=&quot;http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?id=1489&quot; id=&quot;link-id150c6090&quot;&gt;started offering ready-to-go Virtuoso-hosted linked open data sets&lt;/a&gt; on Amazon EC2 in December. Now we continue doing this based on our next-generation server, as well as make Virtuoso 6 Cluster commercially available. Technical specifics are amply discussed on this &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x1424ec20&quot;&gt;blog&lt;/a&gt;. There are still some new technology things to be developed this year; first among these are strong &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x14b8ca88&quot;&gt;SPARQL&lt;/a&gt; federation, and on-the-fly resizing of server clusters. On the research partnerships side, we have an EU grant for working with the OntoWiki project from the University of Leipzig, and we are partners in DERI&amp;#39;s &lt;a href=&quot;https://lion.deri.ie/&quot; id=&quot;link-id115c02f8&quot;&gt;LÃ­on project&lt;/a&gt;. These will provide platforms for further demonstrating the &amp;quot;web&amp;quot; in data web, as in web-scale smart databasing.&lt;/p&gt; &lt;p&gt;2009 will see change through scale. The things that exist will start interconnecting and there will be emergent value. Deployments will be larger and scale will be readily available through a services model or by installation at one&amp;#39;s own facilities. We may see the start of Search becoming Find, like &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id14e43050&quot;&gt;Kingsley&lt;/a&gt; says, meaning semantics of data guiding search. Entity extraction will multiply data volumes and bring parts of the data web to real time.&lt;/p&gt; &lt;p&gt;Exciting 2009 to all.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data &amp; The Year 2009 (updated)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2009-01-02#1510</atom:id>
  <atom:published>2009-01-02T16:17:06Z</atom:published>
  <atom:updated>2009-01-02T13:26:35-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;As is fitting for the season, I will editorialize a bit about what has gone before and what is to come.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/card#i&quot; id=&quot;link-id1119f250&quot;&gt;Sir Tim&lt;/a&gt; said it at WWW08 in &lt;a href=&quot;http://www2008.org/&quot; id=&quot;link-id0x14ab66b0&quot;&gt;Beijing&lt;/a&gt; â &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x115a4588&quot;&gt;linked data&lt;/a&gt; and the linked data &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id0xa5c678&quot;&gt;web&lt;/a&gt; is the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x7cbe5540&quot;&gt;semantic web&lt;/a&gt; and the Web done right.&lt;/p&gt; &lt;p&gt;The grail of &lt;i&gt;ad hoc&lt;/i&gt; analytics on infinite &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xa4b25428&quot;&gt;data&lt;/a&gt; has lost none of its appeal. We have seen fresh evidence of this in the realm of data warehousing products, as well as storage in general.&lt;/p&gt; &lt;p&gt;The benefits of a data model more abstract than the relational are being increasingly appreciated also outside the data web circles. Microsoft&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x1c3c72b0&quot;&gt;Entity&lt;/a&gt; Frameworks technology is an example. Agility has been a buzzword for a long time. Everything should be offered in a service based business model and should interoperate and integrate with everything else â business needs first; schema last.&lt;/p&gt; &lt;p&gt;Not to forget that when money is tight, reuse of existing assets and paying on a usage basis are naturally emphasized. &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0xa0743bd8&quot;&gt;Information&lt;/a&gt;, as the asset it is, is none the less important, on the contrary. But even with information, value should be realized economically, which, among other things, entails not reinventing the wheel.&lt;/p&gt; &lt;p&gt;It is against this backdrop that this year will play out.&lt;/p&gt; &lt;p&gt;As concerns research, I will &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1374&quot; id=&quot;link-id1151b128&quot;&gt;again quote&lt;/a&gt; &lt;a href=&quot;http://www.ibiblio.org/hhalpin/#&quot; id=&quot;link-id141cb740&quot;&gt;Harry Halpin&lt;/a&gt; at &lt;a href=&quot;http://www.eswc2008.org/&quot; id=&quot;link-id0x28f68040&quot;&gt;ESWC 2008&lt;/a&gt;: &amp;quot;Men will fight in a war, and even lose a war, for what they believe just. And it may come to pass that later, even though the war were lost, the things then fought for will emerge under another name and establish themselves as the prevailing reality&amp;quot; [or words to this effect].&lt;/p&gt; &lt;p&gt;Something like the data web, and even the semantic web, will happen. Harry&amp;#39;s question was whether this would be the descendant of what is today called semantic web research.&lt;/p&gt; &lt;p&gt;I heard in conversation about a project for making a very large metadata store. I also heard that the makers did not particularly insist on this being &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x13c8af68&quot;&gt;RDF&lt;/a&gt;-based, though.&lt;/p&gt; &lt;p&gt;Why should such a thing be RDF-based? If it is already accepted that there will be &lt;i&gt;ad hoc&lt;/i&gt; schema and that queries ought to be able to view the data from all angles, not be limited by having indices one way and not another way, then why not RDF?&lt;/p&gt; &lt;p&gt;The justification of RDF is in reusing and linking-to data and terminology out there. Another justification is that by using an RDF store, one is spared a lot of work and tons of compromises which attend making an &lt;a href=&quot;http://dbpedia.org/resource/Entity-attribute-value_model&quot; id=&quot;link-id0x1ca17b20&quot;&gt;entity&lt;/a&gt;-attribute-value (&lt;a href=&quot;http://dbpedia.org/resource/Entity-attribute-value_model&quot; id=&quot;link-id0x1c9d6050&quot;&gt;EAV&lt;/a&gt;, i.e., triple) store on a generic &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x557dff0&quot;&gt;RDBMS&lt;/a&gt;. The sem-web world has been there, trust me. We came out well because we put all inside the RDBMS, lowest level, which you can&amp;#39;t do unless you own the RDBMS. Source access is not enough; you also need the &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x1470c748&quot;&gt;knowledge&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Technicalities aside, the question is one of proprietary vs. standards-based. This is not only so with software components, where standards have consistently demonstrated benefits, but now also with the data. &lt;a href=&quot;http://www.zemanta.com/&quot; id=&quot;link-id0x524bea0&quot;&gt;Zemanta&lt;/a&gt; and &lt;a href=&quot;http://www.opencalais.com/&quot; id=&quot;link-id0x46132d38&quot;&gt;OpenCalais&lt;/a&gt; serving &lt;a href=&quot;http://dbpedia.org/resource/DBpedia&quot; id=&quot;link-id0x13624fb8&quot;&gt;DBpedia&lt;/a&gt; URIs are examples. Even in entirely closed applications, there is benefit in reusing open vocabularies and identifiers: One does not need to create a secret language for writing a secret memo.&lt;/p&gt; &lt;p&gt;Where data is a carrier of value, its value is enhanced by it being easy to repurpose (i.e., standard vocabularies) and to discover (i.e., data set metadata). As on the web, so on the enterprise &lt;a href=&quot;http://dbpedia.org/resource/Intranet&quot; id=&quot;link-id0xa1392eb8&quot;&gt;intranet&lt;/a&gt;. In this lies the strength of RDF as opposed to proprietary flexible database schemes. This is a qualitative distinction.&lt;/p&gt; &lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData&quot; id=&quot;link-id117178a8&quot;&gt;&lt;img src=&quot;http://www.openlinksw.com/images/logos/LoDLogo.gif&quot; alt=&quot;Linking Open Data project logo&quot; /&gt; &lt;/a&gt; &lt;br /&gt; &lt;a href=&quot;http://dbpedia.org/resource/In_hoc_signo_vinces&quot; id=&quot;link-id115f47e8&quot;&gt;&lt;i&gt;In hoc signo vinces.&lt;/i&gt; &lt;/a&gt; &lt;/p&gt; &lt;p&gt;In this light, we welcome the &lt;a href=&quot;http://semanticweb.org/wiki/VoiD&quot; id=&quot;link-id0x12352cc0&quot;&gt;voiD&lt;/a&gt; (&lt;a href=&quot;http://semanticweb.org/wiki/VoiD&quot; id=&quot;link-id0x722c18&quot;&gt;VOcabulary of Interlinked Data&lt;/a&gt;), which is the first promise of making federatable data discoverable. Now that there is a point of focus for these efforts, the needed expressivity will no doubt accrete around the voiD core.&lt;/p&gt; &lt;p&gt;For data as a service, we clearly see the value of open terminologies as prerequisites for service interchangeability, i.e., creating a marketplace. &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x2c21c00&quot;&gt;XML&lt;/a&gt; is for the transaction; RDF is for the discovery, query, and analytics. As with databases in general, first there was the transaction; then there was the query. Same here. For monetizing the query, there are models ranging from renting data sets and server capacity in the clouds to hosted services where one pays for processing past a certain quota. For the hosted case, we just removed a major barrier to offering unlimited query against unlimited data when we completed the &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1374&quot; id=&quot;link-id110b8668&quot;&gt;Virtuoso Anytime&lt;/a&gt; feature. With this, the user gets what is found within a set time, which is already something, and in case of needing more, one can pay for the usage. Of course, we do not forget advertising. When data has explicit semantics, contextuality is better than with keywords.&lt;/p&gt; &lt;p&gt;For these visions to materialize on top of the linked data platform, linked data must join the world of data. This means messaging that is geared towards the database public. They know the problem, but the RDF proposition is still not well enough understood for it to connect.&lt;/p&gt; &lt;p&gt;For the relational IT world, we offer passage to the data web and its promise of integration through RDF mapping. We are also bringing out new Microsoft Entity &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET_Entity_Framework&quot; id=&quot;link-id0x723080&quot;&gt;Framework&lt;/a&gt; components. This goes in the direction of defining a unified database frontier with RDF and non-RDF entity models side by side.&lt;/p&gt; &lt;p&gt;For &lt;a href=&quot;http://www.openlinksw.com/dataspace/organization/openlink#this&quot; id=&quot;link-id0x11e1dfc0&quot;&gt;OpenLink Software&lt;/a&gt;, 2008 was about developing technology for scale, RDF as well as generic relational. We did show a tiny preview with the &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id0x722d08&quot;&gt;Billion Triples Challenge&lt;/a&gt; demo. Now we are set to come out with the real thing, featuring, among other things, faceted search at the billion triple scale. We &lt;a href=&quot;http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?id=1489&quot; id=&quot;link-id150c6090&quot;&gt;started offering ready-to-go Virtuoso-hosted linked open data sets&lt;/a&gt; on Amazon EC2 in December. Now we continue doing this based on our next-generation server, as well as make Virtuoso 6 Cluster commercially available. Technical specifics are amply discussed on this &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x10fc1930&quot;&gt;blog&lt;/a&gt;. There are still some new technology things to be developed this year; first among these are strong &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x7fd25590&quot;&gt;SPARQL&lt;/a&gt; federation, and on-the-fly resizing of server clusters. On the research partnerships side, we have an EU grant for working with the OntoWiki project from the University of Leipzig, and we are partners in DERI&amp;#39;s &lt;a href=&quot;https://lion.deri.ie/&quot; id=&quot;link-id115c02f8&quot;&gt;LÃ­on project&lt;/a&gt;. These will provide platforms for further demonstrating the &amp;quot;web&amp;quot; in data web, as in web-scale smart databasing.&lt;/p&gt; &lt;p&gt;2009 will see change through scale. The things that exist will start interconnecting and there will be emergent value. Deployments will be larger and scale will be readily available through a services model or by installation at one&amp;#39;s own facilities. We may see the start of Search becoming Find, like &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id14e43050&quot;&gt;Kingsley&lt;/a&gt; says, meaning semantics of data guiding search. Entity extraction will multiply data volumes and bring parts of the data web to real time.&lt;/p&gt; &lt;p&gt;Exciting 2009 to all.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso RDF: A Getting Started Guide for the Developer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-12-17#1505</atom:id>
  <atom:published>2008-12-17T12:31:34Z</atom:published>
  <atom:updated>2008-12-17T12:41:27.000006-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;It is a long standing promise of mine to dispel the false impression that using &lt;a href=&quot;http://virtuoso.openlinksw.com/&quot; id=&quot;link-id113506d0&quot;&gt;Virtuoso&lt;/a&gt; to work with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id115d9528&quot;&gt;RDF&lt;/a&gt; is complicated.&lt;/p&gt; &lt;p&gt;The purpose of this presentation is to show a programmer how to put RDF into Virtuoso and how to query it. This is done programmatically, with no confusing user interfaces.&lt;/p&gt; &lt;p&gt;You should have a Virtuoso Open Source tree built and installed. We will look at the LUBM benchmark demo that comes with the package. All you need is a Unix shell. Running the shell under emacs (&lt;code&gt;m-x shell&lt;/code&gt;) is the best. But the open source &lt;code&gt;isql&lt;/code&gt; utility should have command line editing also. The emacs shell is however convenient for cutting and pasting things between shell and files.&lt;/p&gt; &lt;p&gt;To get started, cd into &lt;code&gt;binsrc/tests/lubm&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;To verify that this works, you can do &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;./test_server.sh virtuoso-t&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This will test the server with the LUBM queries. This should report 45 tests passed. After this we will do the tests step-by-step.&lt;/p&gt; &lt;h2&gt;Loading the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id10f7bd90&quot;&gt;Data&lt;/a&gt; &lt;/h2&gt; &lt;p&gt;The file &lt;code&gt;lubm-load.sql&lt;/code&gt; contains the commands for loading the LUBM single university qualification database.&lt;/p&gt; &lt;p&gt;The data files themselves are in &lt;code&gt;lubm_8000&lt;/code&gt;, 15 files in RDFXML.&lt;/p&gt; &lt;p&gt;There is also a little ontology called &lt;code&gt;inf.nt&lt;/code&gt;. This declares the subclass and subproperty relations used in the benchmark.&lt;/p&gt; &lt;p&gt;So now let&amp;#39;s go through this procedure.&lt;/p&gt; &lt;p&gt;Start the server:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;$ virtuoso-t -f &amp;amp; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This starts the server in foreground mode, and puts it in the background of the shell.&lt;/p&gt; &lt;p&gt;Now we connect to it with the isql utility.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;$ isql 1111 dba dba &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This gives a &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt. The default username and password are both &lt;code&gt;dba&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;When a command is &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id1176ce70&quot;&gt;SQL&lt;/a&gt;, it is entered directly. If it is &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id156df468&quot;&gt;SPARQL&lt;/a&gt;, it is prefixed with the keyword &lt;code&gt;sparql&lt;/code&gt;. This is how all the SQL clients work. Any SQL client, such as any &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id152d0a00&quot;&gt;ODBC&lt;/a&gt; or &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id157ad6a0&quot;&gt;JDBC&lt;/a&gt; application, can use SPARQL if the SQL string starts with this keyword.&lt;/p&gt; &lt;p&gt;The &lt;code&gt;lubm-load.sql&lt;/code&gt; file is quite self-explanatory. It begins with defining an SQL procedure that calls the RDF/XML load function, &lt;code&gt;DB..RDF_LOAD_RDFXML&lt;/code&gt;, for each file in a directory.&lt;/p&gt; &lt;p&gt;Next it calls this function for the &lt;code&gt;lubm_8000&lt;/code&gt; directory under the server&amp;#39;s working directory.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql CLEAR GRAPH &amp;lt;lubm&amp;gt;; sparql CLEAR GRAPH &amp;lt;inf&amp;gt;; load_lubm ( server_root() || &amp;#39;/lubm_8000/&amp;#39; ); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then it verifies that the right number of triples is found in the &amp;lt;lubm&amp;gt; graph.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT(*) FROM &amp;lt;lubm&amp;gt; WHERE { ?x ?y ?z } ; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;The echo commands below this are interpreted by the isql utility, and produce output to show whether the test was passed. They can be ignored for now.&lt;/p&gt; &lt;p&gt;Then it adds some implied &lt;code&gt;subOrganizationOf&lt;/code&gt; triples. This is part of setting up the LUBM test database.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql PREFIX ub: &amp;lt;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#&amp;gt; INSERT INTO GRAPH &amp;lt;lubm&amp;gt; { ?x ub:subOrganizationOf ?z } FROM &amp;lt;lubm&amp;gt; WHERE { ?x ub:subOrganizationOf ?y . ?y ub:subOrganizationOf ?z . }; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then it loads the ontology file, &lt;code&gt;inf.nt&lt;/code&gt;, using the Turtle load function, &lt;code&gt;DB.DBA.TTLP&lt;/code&gt;. The arguments of the function are the text to load, the default namespace prefix, and the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id15835550&quot;&gt;URI&lt;/a&gt; of the target graph.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;DB.DBA.TTLP ( file_to_string ( &amp;#39;inf.nt&amp;#39; ), &amp;#39;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl&amp;#39;, &amp;#39;inf&amp;#39; ) ; sparql SELECT COUNT(*) FROM &amp;lt;inf&amp;gt; WHERE { ?x ?y ?z } ; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then we declare that the triples in the &lt;code&gt;&amp;lt;inf&amp;gt;&lt;/code&gt; graph can be used for inference at run time. To enable this, a SPARQL query will declare that it uses the &lt;code&gt;&amp;#39;inft&amp;#39;&lt;/code&gt; rule set. Otherwise this has no effect.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;rdfs_rule_set (&amp;#39;inft&amp;#39;, &amp;#39;inf&amp;#39;); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This is just a log checkpoint to finalize the work and truncate the transaction log. The server would also eventually do this in its own time.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;checkpoint; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Now we are ready for querying.&lt;/p&gt; &lt;h2&gt;Querying the Data&lt;/h2&gt; &lt;p&gt;The queries are given in 3 different versions: The first file, &lt;code&gt;lubm.sql&lt;/code&gt;, has the queries with most inference open coded as &lt;code&gt;UNIONs&lt;/code&gt;. The second file, &lt;code&gt;lubm-inf.sql&lt;/code&gt;, has the inference performed at run time using the ontology &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id1109faf0&quot;&gt;information&lt;/a&gt; in the &lt;code&gt;&amp;lt;inf&amp;gt;&lt;/code&gt; graph we just loaded. The last, &lt;code&gt;lubm-phys.sql&lt;/code&gt;, relies on having the entailed triples physically present in the &lt;code&gt;&amp;lt;lubm&amp;gt;&lt;/code&gt; graph. These entailed triples are inserted by the SPARUL commands in the &lt;code&gt;lubm-cp.sql&lt;/code&gt; file.&lt;/p&gt; &lt;p&gt;If you wish to run all the commands in a SQL file, you can type &lt;code&gt;load &amp;lt;filename&amp;gt;;&lt;/code&gt; (e.g., &lt;code&gt;load lubm-cp.sql;&lt;/code&gt;) at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt. If you wish to try individual statements, you can paste them to the command line.&lt;/p&gt; &lt;p&gt;For example: &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;SQL&amp;gt; sparql PREFIX ub: &amp;lt;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#&amp;gt; SELECT * FROM &amp;lt;lubm&amp;gt; WHERE { ?x a ub:Publication . ?x ub:publicationAuthor &amp;lt;http://www.Department0.University0.edu/AssistantProfessor0&amp;gt; }; VARCHAR _______________________________________________________________________ http://www.Department0.University0.edu/AssistantProfessor0/Publication0 http://www.Department0.University0.edu/AssistantProfessor0/Publication1 http://www.Department0.University0.edu/AssistantProfessor0/Publication2 http://www.Department0.University0.edu/AssistantProfessor0/Publication3 http://www.Department0.University0.edu/AssistantProfessor0/Publication4 http://www.Department0.University0.edu/AssistantProfessor0/Publication5 6 Rows. -- 4 msec. &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;To stop the server, simply type &lt;code&gt;shutdown;&lt;/code&gt; at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt.&lt;/p&gt; &lt;p&gt;If you wish to use a &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id11384668&quot;&gt;SPARQL protocol&lt;/a&gt; end point, just enable the HTTP listener. This is done by adding a stanza like â&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;[HTTPServer] ServerPort = 8421 ServerRoot = . ServerThreads = 2 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;â to the end of the &lt;code&gt;virtuoso.ini&lt;/code&gt; file in the &lt;code&gt;lubm&lt;/code&gt; directory. Then shutdown and restart (type &lt;code&gt;shutdown;&lt;/code&gt; at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt and then &lt;code&gt;virtuoso-t -f &amp;amp;&lt;/code&gt; at the shell prompt).&lt;/p&gt; &lt;p&gt;Now you can connect to the end point with a web browser. The &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Locator&quot; id=&quot;link-id113d02d8&quot;&gt;URL&lt;/a&gt; is &lt;code&gt;http://localhost:8421/sparql&lt;/code&gt;. Without parameters, this will show a human readable form. With parameters, this will execute SPARQL.&lt;/p&gt; &lt;p&gt;We have shown how to load and query RDF with Virtuoso using the most basic SQL tools. Next you can access RDF from, for example, &lt;a href=&quot;http://dbpedia.org/resource/PHP&quot; id=&quot;link-id142d0ba0&quot;&gt;PHP&lt;/a&gt;, using the PHP ODBC interface.&lt;/p&gt; &lt;p&gt;To see how to use &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id117074f0&quot;&gt;Jena&lt;/a&gt; or &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id1103c9b0&quot;&gt;Sesame&lt;/a&gt; with Virtuoso, look at &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/rdfnativestorageproviders.html&quot; id=&quot;link-id15488ce8&quot;&gt;Native RDF Storage Providers&lt;/a&gt;. To see how RDF data types are supported, see &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/VirtuosoDriverJDBC.html#jdbcrdf&quot; id=&quot;link-id15784a40&quot;&gt;Extension datatype for RDF&lt;/a&gt; &lt;/p&gt; &lt;p&gt;To work with large volumes of data, you must add memory to the configuration file and use the row-autocommit mode, i.e., do &lt;code&gt;log_enableÂ (2);&lt;/code&gt; before the load command. Otherwise Virtuoso will do the entire load as a single transaction, and will run out of rollback space. See &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/&quot; id=&quot;link-id111410f0&quot;&gt;documentation&lt;/a&gt; for more.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso RDF: A Getting Started Guide for the Developer</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-12-17#1504</atom:id>
  <atom:published>2008-12-17T12:31:34Z</atom:published>
  <atom:updated>2008-12-17T12:41:21.000001-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;It is a long standing promise of mine to dispel the false impression that using &lt;a href=&quot;http://virtuoso.openlinksw.com/&quot; id=&quot;link-id113506d0&quot;&gt;Virtuoso&lt;/a&gt; to work with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id115d9528&quot;&gt;RDF&lt;/a&gt; is complicated.&lt;/p&gt; &lt;p&gt;The purpose of this presentation is to show a programmer how to put RDF into Virtuoso and how to query it. This is done programmatically, with no confusing user interfaces.&lt;/p&gt; &lt;p&gt;You should have a Virtuoso Open Source tree built and installed. We will look at the LUBM benchmark demo that comes with the package. All you need is a Unix shell. Running the shell under emacs (&lt;code&gt;m-x shell&lt;/code&gt;) is the best. But the open source &lt;code&gt;isql&lt;/code&gt; utility should have command line editing also. The emacs shell is however convenient for cutting and pasting things between shell and files.&lt;/p&gt; &lt;p&gt;To get started, cd into &lt;code&gt;binsrc/tests/lubm&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;To verify that this works, you can do &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;./test_server.sh virtuoso-t&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This will test the server with the LUBM queries. This should report 45 tests passed. After this we will do the tests step-by-step.&lt;/p&gt; &lt;h2&gt;Loading the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id10f7bd90&quot;&gt;Data&lt;/a&gt; &lt;/h2&gt; &lt;p&gt;The file &lt;code&gt;lubm-load.sql&lt;/code&gt; contains the commands for loading the LUBM single university qualification database.&lt;/p&gt; &lt;p&gt;The data files themselves are in &lt;code&gt;lubm_8000&lt;/code&gt;, 15 files in RDFXML.&lt;/p&gt; &lt;p&gt;There is also a little ontology called &lt;code&gt;inf.nt&lt;/code&gt;. This declares the subclass and subproperty relations used in the benchmark.&lt;/p&gt; &lt;p&gt;So now let&amp;#39;s go through this procedure.&lt;/p&gt; &lt;p&gt;Start the server:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;$ virtuoso-t -f &amp;amp; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This starts the server in foreground mode, and puts it in the background of the shell.&lt;/p&gt; &lt;p&gt;Now we connect to it with the isql utility.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;$ isql 1111 dba dba &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This gives a &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt. The default username and password are both &lt;code&gt;dba&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;When a command is &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id1176ce70&quot;&gt;SQL&lt;/a&gt;, it is entered directly. If it is &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id156df468&quot;&gt;SPARQL&lt;/a&gt;, it is prefixed with the keyword &lt;code&gt;sparql&lt;/code&gt;. This is how all the SQL clients work. Any SQL client, such as any &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id152d0a00&quot;&gt;ODBC&lt;/a&gt; or &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id157ad6a0&quot;&gt;JDBC&lt;/a&gt; application, can use SPARQL if the SQL string starts with this keyword.&lt;/p&gt; &lt;p&gt;The &lt;code&gt;lubm-load.sql&lt;/code&gt; file is quite self-explanatory. It begins with defining an SQL procedure that calls the RDF/XML load function, &lt;code&gt;DB..RDF_LOAD_RDFXML&lt;/code&gt;, for each file in a directory.&lt;/p&gt; &lt;p&gt;Next it calls this function for the &lt;code&gt;lubm_8000&lt;/code&gt; directory under the server&amp;#39;s working directory.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql CLEAR GRAPH &amp;lt;lubm&amp;gt;; sparql CLEAR GRAPH &amp;lt;inf&amp;gt;; load_lubm ( server_root() || &amp;#39;/lubm_8000/&amp;#39; ); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then it verifies that the right number of triples is found in the &amp;lt;lubm&amp;gt; graph.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT(*) FROM &amp;lt;lubm&amp;gt; WHERE { ?x ?y ?z } ; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;The echo commands below this are interpreted by the isql utility, and produce output to show whether the test was passed. They can be ignored for now.&lt;/p&gt; &lt;p&gt;Then it adds some implied &lt;code&gt;subOrganizationOf&lt;/code&gt; triples. This is part of setting up the LUBM test database.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql PREFIX ub: &amp;lt;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#&amp;gt; INSERT INTO GRAPH &amp;lt;lubm&amp;gt; { ?x ub:subOrganizationOf ?z } FROM &amp;lt;lubm&amp;gt; WHERE { ?x ub:subOrganizationOf ?y . ?y ub:subOrganizationOf ?z . }; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then it loads the ontology file, &lt;code&gt;inf.nt&lt;/code&gt;, using the Turtle load function, &lt;code&gt;DB.DBA.TTLP&lt;/code&gt;. The arguments of the function are the text to load, the default namespace prefix, and the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id15835550&quot;&gt;URI&lt;/a&gt; of the target graph.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;DB.DBA.TTLP ( file_to_string ( &amp;#39;inf.nt&amp;#39; ), &amp;#39;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl&amp;#39;, &amp;#39;inf&amp;#39; ) ; sparql SELECT COUNT(*) FROM &amp;lt;inf&amp;gt; WHERE { ?x ?y ?z } ; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then we declare that the triples in the &lt;code&gt;&amp;lt;inf&amp;gt;&lt;/code&gt; graph can be used for inference at run time. To enable this, a SPARQL query will declare that it uses the &lt;code&gt;&amp;#39;inft&amp;#39;&lt;/code&gt; rule set. Otherwise this has no effect.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;rdfs_rule_set (&amp;#39;inft&amp;#39;, &amp;#39;inf&amp;#39;); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;This is just a log checkpoint to finalize the work and truncate the transaction log. The server would also eventually do this in its own time.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;checkpoint; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Now we are ready for querying.&lt;/p&gt; &lt;h2&gt;Querying the Data&lt;/h2&gt; &lt;p&gt;The queries are given in 3 different versions: The first file, &lt;code&gt;lubm.sql&lt;/code&gt;, has the queries with most inference open coded as &lt;code&gt;UNIONs&lt;/code&gt;. The second file, &lt;code&gt;lubm-inf.sql&lt;/code&gt;, has the inference performed at run time using the ontology &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id1109faf0&quot;&gt;information&lt;/a&gt; in the &lt;code&gt;&amp;lt;inf&amp;gt;&lt;/code&gt; graph we just loaded. The last, &lt;code&gt;lubm-phys.sql&lt;/code&gt;, relies on having the entailed triples physically present in the &lt;code&gt;&amp;lt;lubm&amp;gt;&lt;/code&gt; graph. These entailed triples are inserted by the SPARUL commands in the &lt;code&gt;lubm-cp.sql&lt;/code&gt; file.&lt;/p&gt; &lt;p&gt;If you wish to run all the commands in a SQL file, you can type &lt;code&gt;load &amp;lt;filename&amp;gt;;&lt;/code&gt; (e.g., &lt;code&gt;load lubm-cp.sql;&lt;/code&gt;) at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt. If you wish to try individual statements, you can paste them to the command line.&lt;/p&gt; &lt;p&gt;For example: &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;SQL&amp;gt; sparql PREFIX ub: &amp;lt;http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#&amp;gt; SELECT * FROM &amp;lt;lubm&amp;gt; WHERE { ?x a ub:Publication . ?x ub:publicationAuthor &amp;lt;http://www.Department0.University0.edu/AssistantProfessor0&amp;gt; }; VARCHAR _______________________________________________________________________ http://www.Department0.University0.edu/AssistantProfessor0/Publication0 http://www.Department0.University0.edu/AssistantProfessor0/Publication1 http://www.Department0.University0.edu/AssistantProfessor0/Publication2 http://www.Department0.University0.edu/AssistantProfessor0/Publication3 http://www.Department0.University0.edu/AssistantProfessor0/Publication4 http://www.Department0.University0.edu/AssistantProfessor0/Publication5 6 Rows. -- 4 msec. &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;To stop the server, simply type &lt;code&gt;shutdown;&lt;/code&gt; at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt.&lt;/p&gt; &lt;p&gt;If you wish to use a &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id11384668&quot;&gt;SPARQL protocol&lt;/a&gt; end point, just enable the HTTP listener. This is done by adding a stanza like â&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;[HTTPServer] ServerPort = 8421 ServerRoot = . ServerThreads = 2 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;â to the end of the &lt;code&gt;virtuoso.ini&lt;/code&gt; file in the &lt;code&gt;lubm&lt;/code&gt; directory. Then shutdown and restart (type &lt;code&gt;shutdown;&lt;/code&gt; at the &lt;code&gt;SQL&amp;gt;&lt;/code&gt; prompt and then &lt;code&gt;virtuoso-t -f &amp;amp;&lt;/code&gt; at the shell prompt).&lt;/p&gt; &lt;p&gt;Now you can connect to the end point with a web browser. The &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Locator&quot; id=&quot;link-id113d02d8&quot;&gt;URL&lt;/a&gt; is &lt;code&gt;http://localhost:8421/sparql&lt;/code&gt;. Without parameters, this will show a human readable form. With parameters, this will execute SPARQL.&lt;/p&gt; &lt;p&gt;We have shown how to load and query RDF with Virtuoso using the most basic SQL tools. Next you can access RDF from, for example, &lt;a href=&quot;http://dbpedia.org/resource/PHP&quot; id=&quot;link-id142d0ba0&quot;&gt;PHP&lt;/a&gt;, using the PHP ODBC interface.&lt;/p&gt; &lt;p&gt;To see how to use &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id117074f0&quot;&gt;Jena&lt;/a&gt; or &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id1103c9b0&quot;&gt;Sesame&lt;/a&gt; with Virtuoso, look at &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/rdfnativestorageproviders.html&quot; id=&quot;link-id15488ce8&quot;&gt;Native RDF Storage Providers&lt;/a&gt;. To see how RDF data types are supported, see &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/VirtuosoDriverJDBC.html#jdbcrdf&quot; id=&quot;link-id15784a40&quot;&gt;Extension datatype for RDF&lt;/a&gt; &lt;/p&gt; &lt;p&gt;To work with large volumes of data, you must add memory to the configuration file and use the row-autocommit mode, i.e., do &lt;code&gt;log_enableÂ (2);&lt;/code&gt; before the load command. Otherwise Virtuoso will do the entire load as a single transaction, and will run out of rollback space. See &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/&quot; id=&quot;link-id111410f0&quot;&gt;documentation&lt;/a&gt; for more.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>See the Lite: Embeddable/Background Virtuoso starts at 25MB</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-12-17#1503</atom:id>
  <atom:published>2008-12-17T09:34:12Z</atom:published>
  <atom:updated>2008-12-17T12:03:49-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;We have received many requests for an embeddable-scale &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x1cd69650&quot;&gt;Virtuoso&lt;/a&gt;. In response to this, we have added a Lite mode, where the initial size of a server process is a tiny fraction of what the initial size would be with default settings. With 2MB of disk cache buffers (ini file setting, &lt;code&gt;NumberOfBuffers = 256&lt;/code&gt;), the process size stays under 30MB on 32-bit Linux.&lt;/p&gt; &lt;p&gt;The value of this is that one can now have &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1ce89340&quot;&gt;RDF&lt;/a&gt; and full text indexing on the desktop without running a Java VM or any other memory-intensive software. And of course, all of &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1cfc9288&quot;&gt;SQL&lt;/a&gt; (transactions, stored procedures, etc.) is in the same embeddably-sized container.&lt;/p&gt; &lt;p&gt;The Lite executable is a full Virtuoso executable; the Lite mode is controlled by a switch in the configuration file. The executable size is about 10MB for 32-bit Linux. A database created in the Lite mode will be converted into a fully-featured database (tables and indexes are added, among other things) if the server is started with the Lite setting &amp;quot;off&amp;quot;; functionality can be reverted to Lite mode, though it will now consume somewhat more memory, etc.&lt;/p&gt; &lt;p&gt;Lite mode offers full SQL and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1c511da8&quot;&gt;SPARQL&lt;/a&gt;/SPARUL (via SPASQL), but disables all &lt;a href=&quot;http://dbpedia.org/resource/Hypertext_Transfer_Protocol&quot; id=&quot;link-id0x1dac1950&quot;&gt;HTTP&lt;/a&gt;-based services (WebDAV, application hosting, etc.). Clients can still use all typical database access mechanisms (i.e., &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0xb19a488&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x1d93ee40&quot;&gt;JDBC&lt;/a&gt;, OLE-DB, &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x1ce391c0&quot;&gt;ADO&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0xacf1168&quot;&gt;NET&lt;/a&gt;, and XMLA) to connect, including the &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0xaaf5b58&quot;&gt;Jena&lt;/a&gt; and &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x1b1e4328&quot;&gt;Sesame&lt;/a&gt; frameworks for RDF. ODBC now offers full support of RDF &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x1cfc9f78&quot;&gt;data&lt;/a&gt; types for &lt;a href=&quot;http://dbpedia.org/resource/C%2B%2B&quot; id=&quot;link-id0xa6059d8&quot;&gt;C&lt;/a&gt;-based clients. A Redland-compatible API also exists, for use with Redland v1.0.8 and later. &lt;/p&gt; &lt;p&gt;Especially for embedded use, we now allow restricting the listener to be a Unix socket, which allows client connections only from the localhost.&lt;/p&gt; &lt;p&gt;Shipping an embedded Virtuoso is easy. It just takes one executable and one configuration file. Performance is generally comparable to &amp;quot;normal&amp;quot; mode, except that Lite will be somewhat less scalable on multicore systems.&lt;/p&gt; &lt;p&gt;The Lite mode will be included in the next Virtuoso 5 Open Source release.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>See the Lite: Embeddable/Background Virtuoso starts at 25MB</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-12-17#1502</atom:id>
  <atom:published>2008-12-17T09:34:12Z</atom:published>
  <atom:updated>2008-12-17T12:03:43-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;We have received many requests for an embeddable-scale &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0xa5aa1b38&quot;&gt;Virtuoso&lt;/a&gt;. In response to this, we have added a Lite mode, where the initial size of a server process is a tiny fraction of what the initial size would be with default settings. With 2MB of disk cache buffers (ini file setting, &lt;code&gt;NumberOfBuffers = 256&lt;/code&gt;), the process size stays under 30MB on 32-bit Linux.&lt;/p&gt; &lt;p&gt;The value of this is that one can now have &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1db79ac8&quot;&gt;RDF&lt;/a&gt; and full text indexing on the desktop without running a Java VM or any other memory-intensive software. And of course, all of &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0xa923298&quot;&gt;SQL&lt;/a&gt; (transactions, stored procedures, etc.) is in the same embeddably-sized container.&lt;/p&gt; &lt;p&gt;The Lite executable is a full Virtuoso executable; the Lite mode is controlled by a switch in the configuration file. The executable size is about 10MB for 32-bit Linux. A database created in the Lite mode will be converted into a fully-featured database (tables and indexes are added, among other things) if the server is started with the Lite setting &amp;quot;off&amp;quot;; functionality can be reverted to Lite mode, though it will now consume somewhat more memory, etc.&lt;/p&gt; &lt;p&gt;Lite mode offers full SQL and &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1b388830&quot;&gt;SPARQL&lt;/a&gt;/SPARUL (via SPASQL), but disables all &lt;a href=&quot;http://dbpedia.org/resource/Hypertext_Transfer_Protocol&quot; id=&quot;link-id0x1d56b618&quot;&gt;HTTP&lt;/a&gt;-based services (WebDAV, application hosting, etc.). Clients can still use all typical database access mechanisms (i.e., &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0x1c5abc38&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x1dade1f8&quot;&gt;JDBC&lt;/a&gt;, OLE-DB, &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x25d8e0f0&quot;&gt;ADO&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x1d7a1a28&quot;&gt;NET&lt;/a&gt;, and XMLA) to connect, including the &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0x1d929b98&quot;&gt;Jena&lt;/a&gt; and &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x1b7a9088&quot;&gt;Sesame&lt;/a&gt; frameworks for RDF. ODBC now offers full support of RDF &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xaf62aa0&quot;&gt;data&lt;/a&gt; types for &lt;a href=&quot;http://dbpedia.org/resource/C%2B%2B&quot; id=&quot;link-id0xa8784b0&quot;&gt;C&lt;/a&gt;-based clients. A Redland-compatible API also exists, for use with Redland v1.0.8 and later. &lt;/p&gt; &lt;p&gt;Especially for embedded use, we now allow restricting the listener to be a Unix socket, which allows client connections only from the localhost.&lt;/p&gt; &lt;p&gt;Shipping an embedded Virtuoso is easy. It just takes one executable and one configuration file. Performance is generally comparable to &amp;quot;normal&amp;quot; mode, except that Lite will be somewhat less scalable on multicore systems.&lt;/p&gt; &lt;p&gt;The Lite mode will be included in the next Virtuoso 5 Open Source release.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&quot;E Pluribus Unum&quot;, or &quot;Inversely Functional Identity&quot;, or &quot;Smooshing Without the Stickiness&quot; (re-updated)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-12-16#1499</atom:id>
  <atom:published>2008-12-16T14:14:43Z</atom:published>
  <atom:updated>2008-12-16T15:01:36.000003-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;What a terrible word, smooshing... I have understood it to mean that when you have two names for one thing, you give each all the attributes of the other. This smooshes them together, makes them interchangeable.&lt;/p&gt; &lt;p&gt;This is complex, so I will begin with the point and the interested may read on for the details and implications. Starting with soon to be released version 6, &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id15718cb8&quot;&gt;Virtuoso&lt;/a&gt; allows you to say that two things, if they share a uniquely identifying property, are the same. Examples of uniquely identifying properties would be a book&amp;#39;s ISBN number, or a person&amp;#39;s social security plus full name. In relational language this is a &lt;i&gt;unique key&lt;/i&gt;, and in &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id145ed998&quot;&gt;RDF&lt;/a&gt; parlance, an &lt;i&gt;inverse functional property&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;In most systems, such problems are dealt with as a preprocessing step before querying. For example, all the items that are considered the same will get the same properties or at load time all identifiers will be normalized according to some application rules. This is good if the rules are clear and understood. This is so in closed situations, where things tend to have standard identifiers to begin with. But on the open web this is not so clear cut.&lt;/p&gt; &lt;p&gt;In this post, we show how to do these things &lt;i&gt;ad hoc&lt;/i&gt;, without materializing anything. At the end, we also show how to materialize identity and what the consequences of this are with open web &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id11726358&quot;&gt;data&lt;/a&gt;. We use real live web crawls from the &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id14f40448&quot;&gt;Billion Triples Challenge&lt;/a&gt; data set.&lt;/p&gt; &lt;p&gt;On the &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id156e2b10&quot;&gt;linked data&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id1106ce08&quot;&gt;web&lt;/a&gt;, there are independently arising descriptions of the same thing and thus arises the need to smoosh, if these are to be somehow integrated. But this is only the beginning of the problems.&lt;/p&gt; &lt;p&gt;To address these, we have added the option of specifying that some property will be considered inversely functional in a query. This is done at run time and the property does not really have to be inversely functional in the pure sense. &lt;code&gt;foaf:name&lt;/code&gt; will do for an example. This simply means that for purposes of the query concerned, two subjects which have at least one &lt;code&gt;foaf:name&lt;/code&gt; in common are considered the same. In this way, we can join between FOAF files. With the same database, a query about music preferences might consider having the same name as &amp;quot;same enough,&amp;quot; but a query about criminal prosecution would obviously need to be more precise about sameness.&lt;/p&gt; &lt;p&gt;Our ontology is defined like this:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- Populate a named graph with the triples you want to use in query time inferencing&lt;br /&gt; ttlp ( &amp;#39; @prefix foaf: &amp;lt;xmlns=&amp;quot;http&amp;quot; xmlns.com=&amp;quot;xmlns.com&amp;quot; foaf=&amp;quot;foaf&amp;quot;&amp;gt; &amp;lt;/&amp;gt; @prefix owl: &amp;lt;xmlns=&amp;quot;http&amp;quot; www.w3.org=&amp;quot;www.w3.org&amp;quot; owl=&amp;quot;owl&amp;quot;&amp;gt; &amp;lt;/&amp;gt; foaf:mbox_sha1sum a owl:InverseFunctionalProperty . foaf:name a owl:InverseFunctionalProperty . &amp;#39;, &amp;#39;xx&amp;#39;, &amp;#39;b3sifp&amp;#39; );&lt;br /&gt; -- Declare that the graph contains an ontology for use in query time inferencing &lt;br /&gt; rdfs_rule_set ( &amp;#39;http://example.com/rules/b3sifp#&amp;#39;, &amp;#39;b3sifp&amp;#39; ); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then use it:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql DEFINE input:inference &amp;quot;http://example.com/rules/b3sifp#&amp;quot; SELECT DISTINCT ?k ?f1 ?f2 WHERE { ?k foaf:name ?n . ?n bif:contains &amp;quot;&amp;#39;Kjetil Kjernsmo&amp;#39;&amp;quot; . ?k foaf:knows ?f1 . ?f1 foaf:knows ?f2 };&lt;br /&gt; VARCHAR VARCHAR VARCHAR ______________________________________ _______________________________________________ ______________________________&lt;br /&gt; http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/dajobe http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/net_twitter http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/amyvdh http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/pom http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/mattb http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/davorg http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/distobj http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/perigrin .... &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Without the inference, we get no matches. This is because the data in question has one graph per FOAF file, and blank nodes for persons. No graph references any person outside the ones in the graph. So if somebody is mentioned as known, then without the inference there is no way to get to what that person&amp;#39;s FOAF file says, since the same individual will be a different blank node there. The declaration in the context named &lt;code&gt;b3sifp&lt;/code&gt; just means that all things with a matching &lt;code&gt;foaf:name&lt;/code&gt; or &lt;code&gt;foaf:mbox_sha1sum&lt;/code&gt; are the same.&lt;/p&gt; &lt;p&gt;Sameness means that two are the same for purposes of &lt;code&gt;DISTINCT&lt;/code&gt; or &lt;code&gt;GROUP BY&lt;/code&gt;, and if two are the same, then both have the &lt;code&gt;UNION&lt;/code&gt; of all of the properties of both.&lt;/p&gt; &lt;p&gt;If this were a naive smoosh, then the individuals would have all the same properties but would not be the same for &lt;code&gt;DISTINCT&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;If we have complex application rules for determining whether individuals are the same, then one can materialize &lt;code&gt;owl:sameAs&lt;/code&gt; triples and keep them in a separate graph. In this way, the original data is not contaminated and the materialized volume stays reasonable â nothing like the blow-up of duplicating properties across instances.&lt;/p&gt; &lt;p&gt;The pro-smoosh argument is that if every duplicate makes exactly the same statements, then there is no great blow-up. Best and worst cases will always depend on the data. In rough terms, the more &lt;i&gt;ad hoc&lt;/i&gt; the use, the less desirable the materialization. If the usage pattern is really set, then a relational-style application-specific representation with identity resolved at load time will perform best. We can do that too, but so can others.&lt;/p&gt; &lt;p&gt;The principal point is about agility as concerns the inference. Run time is more agile than materialization, and if the rules change or if different users have different needs, then materialization runs into trouble. When talking web scale, having multiple users is a given; it is very uneconomical to give everybody their own copy, and the likelihood of a user accessing any significant part of the corpus is minimal. Even if the queries were not limited, the user would typically not wait for the answer of a query doing a scan or aggregation over 1 billion &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id1156a550&quot;&gt;blog&lt;/a&gt; posts or something of the sort. So queries will typically be selective. Selective means that they do not access all of the data, hence do not benefit from ready-made materialization for things they do not even look at. &lt;/p&gt; &lt;p&gt;The exception is corpus-wide statistics queries. But these will not be done in interactive time anyway, and will not be done very often. Plus, since these do not typically run all in memory, these are disk bound. And when things are disk bound, size matters. Reading extra entailment on the way is just a performance penalty.&lt;/p&gt; &lt;p&gt;Enough talk. Time for an experiment. We take the Yahoo and Falcon web crawls from the Billion Triples Challenge set, and do two things with the FOAF data in them:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Resolve identity at insert time. We remove duplicate person URIs, and give the single &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id11317008&quot;&gt;URI&lt;/a&gt; all the properties of all the duplicate URIs. We expect these to be most often repeats. If a person references another person, we normalize this reference to go to the single URI of the referenced person.&lt;/li&gt; &lt;li&gt;Give every duplicate URI of a person all the properties of all the duplicates. If these are the same value, the data should not get much bigger, or so we think.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;For the experiment, we will consider two people the same if they have the same &lt;code&gt;foaf:name&lt;/code&gt; and are both instances of &lt;code&gt;foaf:Person&lt;/code&gt;. This gets some extra hits but should not be statistically significant.&lt;/p&gt; &lt;p&gt;The following is a commented &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id110945b0&quot;&gt;SQL&lt;/a&gt; script performing the smoosh. We play with internal IDs of things, thus some of these operations cannot be done in SPARQL alone. We use SPARQL where possible for readability. As the documentation states, &lt;code&gt;iri_to_id&lt;/code&gt; converts from the qualified name of an IRI to its ID and &lt;code&gt;id_to_iri&lt;/code&gt; does the reverse.&lt;/p&gt; &lt;p&gt;We count the triples that enter into the smoosh:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- the name is an existence because else we&amp;#39;d get several times more due to -- the names occurring in many graphs &lt;br /&gt; sparql SELECT COUNT(*) WHERE { { SELECT DISTINCT ?person WHERE { ?person a foaf:Person } } . FILTER ( bif:exists ( SELECT (1) WHERE { ?person foaf:name ?nn } ) ) . ?person ?p ?o };&lt;br /&gt; -- We get 3284674 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;We make a few tables for intermediate results.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- For each distinct name, gather the properties and objects from -- all subjects with this name &lt;br /&gt; CREATE TABLE name_prop ( np_name ANY, np_p IRI_ID_8, np_o ANY, PRIMARY KEY ( np_name, np_p, np_o ) ); ALTER INDEX name_prop ON name_prop PARTITION ( np_name VARCHAR (-1, 0hexffff) );&lt;br /&gt; -- Map from name to canonical IRI used for the name &lt;br /&gt; CREATE TABLE name_iri ( ni_name ANY PRIMARY KEY, ni_s IRI_ID_8 ); ALTER INDEX name_iri ON name_iri PARTITION ( ni_name VARCHAR (-1, 0hexffff) );&lt;br /&gt; -- Map from person IRI to canonical person IRI&lt;br /&gt; CREATE TABLE pref_iri ( i IRI_ID_8, pref IRI_ID_8, PRIMARY KEY ( i ) ); ALTER INDEX pref_iri ON pref_iri PARTITION ( i INT (0hexffff00) );&lt;br /&gt; -- a table for the materialization where all aliases get all properties of every other &lt;br /&gt; CREATE TABLE smoosh_ct ( s IRI_ID_8, p IRI_ID_8, o ANY, PRIMARY KEY ( s, p, o ) ); ALTER INDEX smoosh_ct ON smoosh_ct PARTITION ( s INT (0hexffff00) );&lt;br /&gt; -- disable transaction log and enable row auto-commit. This is necessary, otherwise -- bulk operations are done transactionally and they will run out of rollback space.&lt;br /&gt; LOG_ENABLE (2);&lt;br /&gt; -- Gather all the properties of all persons with a name under that name. -- INSERT SOFT means that duplicates are ignored &lt;br /&gt; INSERT SOFT name_prop SELECT &amp;quot;n&amp;quot;, &amp;quot;p&amp;quot;, &amp;quot;o&amp;quot; FROM ( sparql DEFINE output:valmode &amp;quot;LONG&amp;quot; SELECT ?n ?p ?o WHERE { ?x a foaf:Person . ?x foaf:name ?n . ?x ?p ?o } ) xx ;&lt;br /&gt; -- Now choose for each name the canonical IRI &lt;br /&gt; INSERT INTO name_iri SELECT np_name, ( SELECT MIN (s) FROM rdf_quad WHERE o = np_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ) AS mini FROM name_prop WHERE np_p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- For each person IRI, map to the canonical IRI of that person &lt;br /&gt; INSERT SOFT pref_iri (i, pref) SELECT s, ni_s FROM name_iri, rdf_quad WHERE o = ni_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- Make a graph where all persons have one iri with all the properties of all aliases -- and where person-to-person refs are canonicalized&lt;br /&gt; INSERT SOFT rdf_quad (g,s,p,o) SELECT IRI_TO_ID (&amp;#39;psmoosh&amp;#39;), ni_s, np_p, COALESCE ( ( SELECT pref FROM pref_iri WHERE i = np_o ), np_o ) FROM name_prop, name_iri WHERE ni_name = np_name OPTION ( loop, quietcast ) ;&lt;br /&gt; -- A little explanation: The properties of names are copied into rdf_quad with the name -- replaced with its canonical IRI. If the object has a canonical IRI, this is used as -- the object, else the object is unmodified. This is the COALESCE with the sub-query.&lt;br /&gt; -- This takes a little time. To check on the progress, take another connection to the -- server and do &lt;br /&gt; STATUS (&amp;#39;cluster&amp;#39;);&lt;br /&gt; -- It will return something like -- Cluster 4 nodes, 35 s. 108 m/s 1001 KB/s 75% cpu 186% read 12% clw threads 5r 0w 0i -- buffers 549481 253929 d 8 w 0 pfs&lt;br /&gt; -- Now finalize the state; this makes it permanent. Else the work will be lost on server -- failure, since there was no transaction log &lt;br /&gt; CL_EXEC (&amp;#39;checkpoint&amp;#39;);&lt;br /&gt; -- See what we got&lt;br /&gt; sparql SELECT COUNT (*) FROM &amp;lt;psmoosh&amp;gt; WHERE {?s ?p ?o};&lt;br /&gt; -- This is 2253102&lt;br /&gt; -- Now make the copy where all have the properties of all synonyms. This takes so much -- space we do not insert it as RDF quads, but make a special table for it so that we can -- run some statistics. This saves time.&lt;br /&gt; INSERT SOFT smoosh_ct (s, p, o) SELECT s, np_p, np_o FROM name_prop, rdf_quad WHERE o = np_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- as above, INSERT SOFT so as to ignore duplicates &lt;br /&gt; SELECT COUNT (*) FROM smoosh_ct;&lt;br /&gt; -- This is 167360324&lt;br /&gt; -- Find out where the bloat comes from &lt;br /&gt; SELECT TOP 20 COUNT (*), ID_TO_IRI (p) FROM smoosh_ct GROUP BY p ORDER BY 1 DESC; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;The results are:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;54728777 http://www.w3.org/2002/07/owl#sameAs 48543153 http://xmlns.com/foaf/0.1/knows 13930234 http://www.w3.org/2000/01/rdf-schema#seeAlso 12268512 http://xmlns.com/foaf/0.1/interest 11415867 http://xmlns.com/foaf/0.1/nick 6683963 http://xmlns.com/foaf/0.1/weblog 6650093 http://xmlns.com/foaf/0.1/depiction 4231946 http://xmlns.com/foaf/0.1/mbox_sha1sum 4129629 http://xmlns.com/foaf/0.1/homepage 1776555 http://xmlns.com/foaf/0.1/holdsAccount 1219525 http://xmlns.com/foaf/0.1/based_near 305522 http://www.w3.org/1999/02/22-rdf-syntax-ns#type 274965 http://xmlns.com/foaf/0.1/name 155131 http://xmlns.com/foaf/0.1/dateOfBirth 153001 http://xmlns.com/foaf/0.1/img 111130 http://www.w3.org/2001/vcard-rdf/3.0#ADR 52930 http://xmlns.com/foaf/0.1/gender 48517 http://www.w3.org/2004/02/skos/core#subject 45697 http://www.w3.org/2000/01/rdf-schema#label 44860 http://purl.org/vocab/bio/0.1/olb &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Now compare with the predicate distribution of the smoosh with identities canonicalized &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT (*) ?p FROM &amp;lt;psmoosh&amp;gt; WHERE { ?s ?p ?o } GROUP BY ?p ORDER BY 1 DESC LIMIT 20;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Results are:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;748311 http://xmlns.com/foaf/0.1/knows 548391 http://xmlns.com/foaf/0.1/interest 140531 http://www.w3.org/2000/01/rdf-schema#seeAlso 105273 http://www.w3.org/1999/02/22-rdf-syntax-ns#type 78497 http://xmlns.com/foaf/0.1/name 48099 http://www.w3.org/2004/02/skos/core#subject 45179 http://xmlns.com/foaf/0.1/depiction 40229 http://www.w3.org/2000/01/rdf-schema#comment 38272 http://www.w3.org/2000/01/rdf-schema#label 37378 http://xmlns.com/foaf/0.1/nick 37186 http://dbpedia.org/property/abstract 34003 http://xmlns.com/foaf/0.1/img 26182 http://xmlns.com/foaf/0.1/homepage 23795 http://www.w3.org/2002/07/owl#sameAs 17651 http://xmlns.com/foaf/0.1/mbox_sha1sum 17430 http://xmlns.com/foaf/0.1/dateOfBirth 15586 http://xmlns.com/foaf/0.1/page 12869 http://dbpedia.org/property/reference 12497 http://xmlns.com/foaf/0.1/weblog 12329 http://blogs.yandex.ru/schema/foaf/school &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;We can drop the &lt;code&gt;owl:sameAs&lt;/code&gt; triples from the count, so the bloat is a bit less by that but it still is tens of times larger than the canonicalized copy or the initial state.&lt;/p&gt; &lt;p&gt;Now, when we try using the psmoosh graph, we still get different results from the results with the original data. This is because &lt;code&gt;foaf:knows&lt;/code&gt; relations to things with no &lt;code&gt;foaf:name&lt;/code&gt; are not represented in the smoosh. The exist:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT (*) WHERE { ?s foaf:knows ?thing . FILTER ( !bif:exists ( SELECT (1) WHERE { ?thing foaf:name ?nn } ) ) };&lt;br /&gt; -- 1393940 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;So the smoosh graph is not an accurate rendition of the social network. It would have to be smooshed further to be that, since the data in the sample is quite irregular. But we do not go that far here.&lt;/p&gt; &lt;p&gt;Finally, we calculate the smoosh blow up factors. We do not include &lt;code&gt;owl:sameAs&lt;/code&gt; triples in the counts.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;select (167360324 - 54728777) / 3284674.0; 34.290022997716059&lt;br /&gt; select 2229307 / 3284674.0; = 0.678699621332284 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;So, to get a smoosh that is not really the equivalent of the original, either multiply the original triple count by 34 or 0.68, depending on whether synonyms are collapsed or not.&lt;/p&gt; &lt;p&gt;Making the smooshes does not take very long, some minutes for the small one. Inserting the big one would be longer, a couple of hours maybe. It was 33 minutes for filling the &lt;code&gt;smoosh_ct&lt;/code&gt; table. The metrics were not with optimal tuning so the performance numbers just serve to show that smooshing takes time. Probably more time than allowable in an interactive situation, no matter how the process is optimized.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&quot;E Pluribus Unum&quot;, or &quot;Inversely Functional Identity&quot;, or &quot;Smooshing Without the Stickiness&quot; (re-updated)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-12-16#1498</atom:id>
  <atom:published>2008-12-16T14:14:43Z</atom:published>
  <atom:updated>2008-12-16T15:01:30-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;What a terrible word, smooshing... I have understood it to mean that when you have two names for one thing, you give each all the attributes of the other. This smooshes them together, makes them interchangeable.&lt;/p&gt; &lt;p&gt;This is complex, so I will begin with the point and the interested may read on for the details and implications. Starting with soon to be released version 6, &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id15718cb8&quot;&gt;Virtuoso&lt;/a&gt; allows you to say that two things, if they share a uniquely identifying property, are the same. Examples of uniquely identifying properties would be a book&amp;#39;s ISBN number, or a person&amp;#39;s social security plus full name. In relational language this is a &lt;i&gt;unique key&lt;/i&gt;, and in &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id145ed998&quot;&gt;RDF&lt;/a&gt; parlance, an &lt;i&gt;inverse functional property&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;In most systems, such problems are dealt with as a preprocessing step before querying. For example, all the items that are considered the same will get the same properties or at load time all identifiers will be normalized according to some application rules. This is good if the rules are clear and understood. This is so in closed situations, where things tend to have standard identifiers to begin with. But on the open web this is not so clear cut.&lt;/p&gt; &lt;p&gt;In this post, we show how to do these things &lt;i&gt;ad hoc&lt;/i&gt;, without materializing anything. At the end, we also show how to materialize identity and what the consequences of this are with open web &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id11726358&quot;&gt;data&lt;/a&gt;. We use real live web crawls from the &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id14f40448&quot;&gt;Billion Triples Challenge&lt;/a&gt; data set.&lt;/p&gt; &lt;p&gt;On the &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id156e2b10&quot;&gt;linked data&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Giant_Global_Graph&quot; id=&quot;link-id1106ce08&quot;&gt;web&lt;/a&gt;, there are independently arising descriptions of the same thing and thus arises the need to smoosh, if these are to be somehow integrated. But this is only the beginning of the problems.&lt;/p&gt; &lt;p&gt;To address these, we have added the option of specifying that some property will be considered inversely functional in a query. This is done at run time and the property does not really have to be inversely functional in the pure sense. &lt;code&gt;foaf:name&lt;/code&gt; will do for an example. This simply means that for purposes of the query concerned, two subjects which have at least one &lt;code&gt;foaf:name&lt;/code&gt; in common are considered the same. In this way, we can join between FOAF files. With the same database, a query about music preferences might consider having the same name as &amp;quot;same enough,&amp;quot; but a query about criminal prosecution would obviously need to be more precise about sameness.&lt;/p&gt; &lt;p&gt;Our ontology is defined like this:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- Populate a named graph with the triples you want to use in query time inferencing&lt;br /&gt; ttlp ( &amp;#39; @prefix foaf: &amp;lt;xmlns=&amp;quot;http&amp;quot; xmlns.com=&amp;quot;xmlns.com&amp;quot; foaf=&amp;quot;foaf&amp;quot;&amp;gt; &amp;lt;/&amp;gt; @prefix owl: &amp;lt;xmlns=&amp;quot;http&amp;quot; www.w3.org=&amp;quot;www.w3.org&amp;quot; owl=&amp;quot;owl&amp;quot;&amp;gt; &amp;lt;/&amp;gt; foaf:mbox_sha1sum a owl:InverseFunctionalProperty . foaf:name a owl:InverseFunctionalProperty . &amp;#39;, &amp;#39;xx&amp;#39;, &amp;#39;b3sifp&amp;#39; );&lt;br /&gt; -- Declare that the graph contains an ontology for use in query time inferencing &lt;br /&gt; rdfs_rule_set ( &amp;#39;http://example.com/rules/b3sifp#&amp;#39;, &amp;#39;b3sifp&amp;#39; ); &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Then use it:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql DEFINE input:inference &amp;quot;http://example.com/rules/b3sifp#&amp;quot; SELECT DISTINCT ?k ?f1 ?f2 WHERE { ?k foaf:name ?n . ?n bif:contains &amp;quot;&amp;#39;Kjetil Kjernsmo&amp;#39;&amp;quot; . ?k foaf:knows ?f1 . ?f1 foaf:knows ?f2 };&lt;br /&gt; VARCHAR VARCHAR VARCHAR ______________________________________ _______________________________________________ ______________________________&lt;br /&gt; http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/dajobe http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/net_twitter http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/amyvdh http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/pom http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/mattb http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/davorg http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/distobj http://www.kjetil.kjernsmo.net/foaf#me http://norman.walsh.name/knows/who/robin-berjon http://twitter.com/perigrin .... &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Without the inference, we get no matches. This is because the data in question has one graph per FOAF file, and blank nodes for persons. No graph references any person outside the ones in the graph. So if somebody is mentioned as known, then without the inference there is no way to get to what that person&amp;#39;s FOAF file says, since the same individual will be a different blank node there. The declaration in the context named &lt;code&gt;b3sifp&lt;/code&gt; just means that all things with a matching &lt;code&gt;foaf:name&lt;/code&gt; or &lt;code&gt;foaf:mbox_sha1sum&lt;/code&gt; are the same.&lt;/p&gt; &lt;p&gt;Sameness means that two are the same for purposes of &lt;code&gt;DISTINCT&lt;/code&gt; or &lt;code&gt;GROUP BY&lt;/code&gt;, and if two are the same, then both have the &lt;code&gt;UNION&lt;/code&gt; of all of the properties of both.&lt;/p&gt; &lt;p&gt;If this were a naive smoosh, then the individuals would have all the same properties but would not be the same for &lt;code&gt;DISTINCT&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;If we have complex application rules for determining whether individuals are the same, then one can materialize &lt;code&gt;owl:sameAs&lt;/code&gt; triples and keep them in a separate graph. In this way, the original data is not contaminated and the materialized volume stays reasonable â nothing like the blow-up of duplicating properties across instances.&lt;/p&gt; &lt;p&gt;The pro-smoosh argument is that if every duplicate makes exactly the same statements, then there is no great blow-up. Best and worst cases will always depend on the data. In rough terms, the more &lt;i&gt;ad hoc&lt;/i&gt; the use, the less desirable the materialization. If the usage pattern is really set, then a relational-style application-specific representation with identity resolved at load time will perform best. We can do that too, but so can others.&lt;/p&gt; &lt;p&gt;The principal point is about agility as concerns the inference. Run time is more agile than materialization, and if the rules change or if different users have different needs, then materialization runs into trouble. When talking web scale, having multiple users is a given; it is very uneconomical to give everybody their own copy, and the likelihood of a user accessing any significant part of the corpus is minimal. Even if the queries were not limited, the user would typically not wait for the answer of a query doing a scan or aggregation over 1 billion &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id1156a550&quot;&gt;blog&lt;/a&gt; posts or something of the sort. So queries will typically be selective. Selective means that they do not access all of the data, hence do not benefit from ready-made materialization for things they do not even look at. &lt;/p&gt; &lt;p&gt;The exception is corpus-wide statistics queries. But these will not be done in interactive time anyway, and will not be done very often. Plus, since these do not typically run all in memory, these are disk bound. And when things are disk bound, size matters. Reading extra entailment on the way is just a performance penalty.&lt;/p&gt; &lt;p&gt;Enough talk. Time for an experiment. We take the Yahoo and Falcon web crawls from the Billion Triples Challenge set, and do two things with the FOAF data in them:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Resolve identity at insert time. We remove duplicate person URIs, and give the single &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id11317008&quot;&gt;URI&lt;/a&gt; all the properties of all the duplicate URIs. We expect these to be most often repeats. If a person references another person, we normalize this reference to go to the single URI of the referenced person.&lt;/li&gt; &lt;li&gt;Give every duplicate URI of a person all the properties of all the duplicates. If these are the same value, the data should not get much bigger, or so we think.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;For the experiment, we will consider two people the same if they have the same &lt;code&gt;foaf:name&lt;/code&gt; and are both instances of &lt;code&gt;foaf:Person&lt;/code&gt;. This gets some extra hits but should not be statistically significant.&lt;/p&gt; &lt;p&gt;The following is a commented &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id110945b0&quot;&gt;SQL&lt;/a&gt; script performing the smoosh. We play with internal IDs of things, thus some of these operations cannot be done in SPARQL alone. We use SPARQL where possible for readability. As the documentation states, &lt;code&gt;iri_to_id&lt;/code&gt; converts from the qualified name of an IRI to its ID and &lt;code&gt;id_to_iri&lt;/code&gt; does the reverse.&lt;/p&gt; &lt;p&gt;We count the triples that enter into the smoosh:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- the name is an existence because else we&amp;#39;d get several times more due to -- the names occurring in many graphs &lt;br /&gt; sparql SELECT COUNT(*) WHERE { { SELECT DISTINCT ?person WHERE { ?person a foaf:Person } } . FILTER ( bif:exists ( SELECT (1) WHERE { ?person foaf:name ?nn } ) ) . ?person ?p ?o };&lt;br /&gt; -- We get 3284674 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;We make a few tables for intermediate results.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;-- For each distinct name, gather the properties and objects from -- all subjects with this name &lt;br /&gt; CREATE TABLE name_prop ( np_name ANY, np_p IRI_ID_8, np_o ANY, PRIMARY KEY ( np_name, np_p, np_o ) ); ALTER INDEX name_prop ON name_prop PARTITION ( np_name VARCHAR (-1, 0hexffff) );&lt;br /&gt; -- Map from name to canonical IRI used for the name &lt;br /&gt; CREATE TABLE name_iri ( ni_name ANY PRIMARY KEY, ni_s IRI_ID_8 ); ALTER INDEX name_iri ON name_iri PARTITION ( ni_name VARCHAR (-1, 0hexffff) );&lt;br /&gt; -- Map from person IRI to canonical person IRI&lt;br /&gt; CREATE TABLE pref_iri ( i IRI_ID_8, pref IRI_ID_8, PRIMARY KEY ( i ) ); ALTER INDEX pref_iri ON pref_iri PARTITION ( i INT (0hexffff00) );&lt;br /&gt; -- a table for the materialization where all aliases get all properties of every other &lt;br /&gt; CREATE TABLE smoosh_ct ( s IRI_ID_8, p IRI_ID_8, o ANY, PRIMARY KEY ( s, p, o ) ); ALTER INDEX smoosh_ct ON smoosh_ct PARTITION ( s INT (0hexffff00) );&lt;br /&gt; -- disable transaction log and enable row auto-commit. This is necessary, otherwise -- bulk operations are done transactionally and they will run out of rollback space.&lt;br /&gt; LOG_ENABLE (2);&lt;br /&gt; -- Gather all the properties of all persons with a name under that name. -- INSERT SOFT means that duplicates are ignored &lt;br /&gt; INSERT SOFT name_prop SELECT &amp;quot;n&amp;quot;, &amp;quot;p&amp;quot;, &amp;quot;o&amp;quot; FROM ( sparql DEFINE output:valmode &amp;quot;LONG&amp;quot; SELECT ?n ?p ?o WHERE { ?x a foaf:Person . ?x foaf:name ?n . ?x ?p ?o } ) xx ;&lt;br /&gt; -- Now choose for each name the canonical IRI &lt;br /&gt; INSERT INTO name_iri SELECT np_name, ( SELECT MIN (s) FROM rdf_quad WHERE o = np_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ) AS mini FROM name_prop WHERE np_p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- For each person IRI, map to the canonical IRI of that person &lt;br /&gt; INSERT SOFT pref_iri (i, pref) SELECT s, ni_s FROM name_iri, rdf_quad WHERE o = ni_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- Make a graph where all persons have one iri with all the properties of all aliases -- and where person-to-person refs are canonicalized&lt;br /&gt; INSERT SOFT rdf_quad (g,s,p,o) SELECT IRI_TO_ID (&amp;#39;psmoosh&amp;#39;), ni_s, np_p, COALESCE ( ( SELECT pref FROM pref_iri WHERE i = np_o ), np_o ) FROM name_prop, name_iri WHERE ni_name = np_name OPTION ( loop, quietcast ) ;&lt;br /&gt; -- A little explanation: The properties of names are copied into rdf_quad with the name -- replaced with its canonical IRI. If the object has a canonical IRI, this is used as -- the object, else the object is unmodified. This is the COALESCE with the sub-query.&lt;br /&gt; -- This takes a little time. To check on the progress, take another connection to the -- server and do &lt;br /&gt; STATUS (&amp;#39;cluster&amp;#39;);&lt;br /&gt; -- It will return something like -- Cluster 4 nodes, 35 s. 108 m/s 1001 KB/s 75% cpu 186% read 12% clw threads 5r 0w 0i -- buffers 549481 253929 d 8 w 0 pfs&lt;br /&gt; -- Now finalize the state; this makes it permanent. Else the work will be lost on server -- failure, since there was no transaction log &lt;br /&gt; CL_EXEC (&amp;#39;checkpoint&amp;#39;);&lt;br /&gt; -- See what we got&lt;br /&gt; sparql SELECT COUNT (*) FROM &amp;lt;psmoosh&amp;gt; WHERE {?s ?p ?o};&lt;br /&gt; -- This is 2253102&lt;br /&gt; -- Now make the copy where all have the properties of all synonyms. This takes so much -- space we do not insert it as RDF quads, but make a special table for it so that we can -- run some statistics. This saves time.&lt;br /&gt; INSERT SOFT smoosh_ct (s, p, o) SELECT s, np_p, np_o FROM name_prop, rdf_quad WHERE o = np_name AND p = IRI_TO_ID (&amp;#39;http://xmlns.com/foaf/0.1/name&amp;#39;) ;&lt;br /&gt; -- as above, INSERT SOFT so as to ignore duplicates &lt;br /&gt; SELECT COUNT (*) FROM smoosh_ct;&lt;br /&gt; -- This is 167360324&lt;br /&gt; -- Find out where the bloat comes from &lt;br /&gt; SELECT TOP 20 COUNT (*), ID_TO_IRI (p) FROM smoosh_ct GROUP BY p ORDER BY 1 DESC; &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;The results are:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;54728777 http://www.w3.org/2002/07/owl#sameAs 48543153 http://xmlns.com/foaf/0.1/knows 13930234 http://www.w3.org/2000/01/rdf-schema#seeAlso 12268512 http://xmlns.com/foaf/0.1/interest 11415867 http://xmlns.com/foaf/0.1/nick 6683963 http://xmlns.com/foaf/0.1/weblog 6650093 http://xmlns.com/foaf/0.1/depiction 4231946 http://xmlns.com/foaf/0.1/mbox_sha1sum 4129629 http://xmlns.com/foaf/0.1/homepage 1776555 http://xmlns.com/foaf/0.1/holdsAccount 1219525 http://xmlns.com/foaf/0.1/based_near 305522 http://www.w3.org/1999/02/22-rdf-syntax-ns#type 274965 http://xmlns.com/foaf/0.1/name 155131 http://xmlns.com/foaf/0.1/dateOfBirth 153001 http://xmlns.com/foaf/0.1/img 111130 http://www.w3.org/2001/vcard-rdf/3.0#ADR 52930 http://xmlns.com/foaf/0.1/gender 48517 http://www.w3.org/2004/02/skos/core#subject 45697 http://www.w3.org/2000/01/rdf-schema#label 44860 http://purl.org/vocab/bio/0.1/olb &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Now compare with the predicate distribution of the smoosh with identities canonicalized &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT (*) ?p FROM &amp;lt;psmoosh&amp;gt; WHERE { ?s ?p ?o } GROUP BY ?p ORDER BY 1 DESC LIMIT 20;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;Results are:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;748311 http://xmlns.com/foaf/0.1/knows 548391 http://xmlns.com/foaf/0.1/interest 140531 http://www.w3.org/2000/01/rdf-schema#seeAlso 105273 http://www.w3.org/1999/02/22-rdf-syntax-ns#type 78497 http://xmlns.com/foaf/0.1/name 48099 http://www.w3.org/2004/02/skos/core#subject 45179 http://xmlns.com/foaf/0.1/depiction 40229 http://www.w3.org/2000/01/rdf-schema#comment 38272 http://www.w3.org/2000/01/rdf-schema#label 37378 http://xmlns.com/foaf/0.1/nick 37186 http://dbpedia.org/property/abstract 34003 http://xmlns.com/foaf/0.1/img 26182 http://xmlns.com/foaf/0.1/homepage 23795 http://www.w3.org/2002/07/owl#sameAs 17651 http://xmlns.com/foaf/0.1/mbox_sha1sum 17430 http://xmlns.com/foaf/0.1/dateOfBirth 15586 http://xmlns.com/foaf/0.1/page 12869 http://dbpedia.org/property/reference 12497 http://xmlns.com/foaf/0.1/weblog 12329 http://blogs.yandex.ru/schema/foaf/school &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;We can drop the &lt;code&gt;owl:sameAs&lt;/code&gt; triples from the count, so the bloat is a bit less by that but it still is tens of times larger than the canonicalized copy or the initial state.&lt;/p&gt; &lt;p&gt;Now, when we try using the psmoosh graph, we still get different results from the results with the original data. This is because &lt;code&gt;foaf:knows&lt;/code&gt; relations to things with no &lt;code&gt;foaf:name&lt;/code&gt; are not represented in the smoosh. The exist:&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;sparql SELECT COUNT (*) WHERE { ?s foaf:knows ?thing . FILTER ( !bif:exists ( SELECT (1) WHERE { ?thing foaf:name ?nn } ) ) };&lt;br /&gt; -- 1393940 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;So the smoosh graph is not an accurate rendition of the social network. It would have to be smooshed further to be that, since the data in the sample is quite irregular. But we do not go that far here.&lt;/p&gt; &lt;p&gt;Finally, we calculate the smoosh blow up factors. We do not include &lt;code&gt;owl:sameAs&lt;/code&gt; triples in the counts.&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;select (167360324 - 54728777) / 3284674.0; 34.290022997716059&lt;br /&gt; select 2229307 / 3284674.0; = 0.678699621332284 &lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt;So, to get a smoosh that is not really the equivalent of the original, either multiply the original triple count by 34 or 0.68, depending on whether synonyms are collapsed or not.&lt;/p&gt; &lt;p&gt;Making the smooshes does not take very long, some minutes for the small one. Inserting the big one would be longer, a couple of hours maybe. It was 33 minutes for filling the &lt;code&gt;smoosh_ct&lt;/code&gt; table. The metrics were not with optimal tuning so the performance numbers just serve to show that smooshing takes time. Probably more time than allowable in an interactive situation, no matter how the process is optimized.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso - Are We Too Clever for Our Own Good? (updated)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-10-26#1467</atom:id>
  <atom:published>2008-10-26T12:15:35Z</atom:published>
  <atom:updated>2008-10-27T12:07:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&amp;quot;Physician, heal thyself,&amp;quot; it is said. We profess to say what the messaging of the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x1b4a25f0&quot;&gt;semantic web&lt;/a&gt; ought to be, but is our own perfect?&lt;/p&gt; &lt;p&gt;I will here engage in some critical introspection as well as amplify on some answers given to &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x1e4f9928&quot;&gt;Virtuoso&lt;/a&gt;-related questions in recent times.&lt;/p&gt; &lt;p&gt;I use some conversations from the &lt;a href=&quot;http://dbpedia.org/resource/Vienna&quot; id=&quot;link-id0x1e6c0ca8&quot;&gt;Vienna&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x1e56df88&quot;&gt;Linked Data&lt;/a&gt; Practitioners meeting as a starting point. These views are mine and are limited to the Virtuoso server. These do not apply to the &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0x1e680440&quot;&gt;ODS&lt;/a&gt; (&lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0x1e140068&quot;&gt;OpenLink Data Spaces&lt;/a&gt;) applications line, &lt;a href=&quot;http://oat.openlinksw.com/&quot; id=&quot;link-id0x1f4ba630&quot;&gt;OAT&lt;/a&gt; (&lt;a href=&quot;http://oat.openlinksw.com/&quot; id=&quot;link-id0x1ba4bac8&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;), or &lt;a href=&quot;http://ode.openlinksw.com/&quot; id=&quot;link-id0x1d4159b0&quot;&gt;ODE&lt;/a&gt; (&lt;a href=&quot;http://ode.openlinksw.com/&quot; id=&quot;link-id0x1e973c80&quot;&gt;OpenLink Data Explorer&lt;/a&gt;).&lt;/p&gt; &lt;h3&gt;&amp;quot;It is not always clear what the main thrust is, we get the impression that you are spread too thin,&amp;quot; said &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~auer/foaf.rdf#me&quot; id=&quot;link-id0x1f8bafe0&quot;&gt;SÃ¶ren Auer&lt;/a&gt;.&lt;/h3&gt; &lt;p&gt;Well, personally, I am all for core competence. This is why I do not participate in all the online conversations and groups as much as I could, for example. Time and energy are critical resources and must be invested where they make a difference. In this case, the real core competence is running in the database race. This in itself, come to think of it, is a pretty broad concept.&lt;/p&gt; &lt;p&gt;This is why we put a lot of emphasis on Linked Data and the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x200bd1f0&quot;&gt;Data&lt;/a&gt; Web for now, as this is the emerging game. This is a deliberate choice, not an outside imperative or built-in limitation. More specifically, this means exposing any pre-existing relational data as linked data plus being the definitive &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1fb03528&quot;&gt;RDF&lt;/a&gt; store.&lt;/p&gt; &lt;p&gt;We can do this because we own our database and &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1e7dcc70&quot;&gt;SQL&lt;/a&gt; and data access middleware and have a history of connecting to any &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x1e9baf18&quot;&gt;RDBMS&lt;/a&gt; out there.&lt;/p&gt; &lt;p&gt;The principal message we have been hearing from the RDF field is the call for scale of triple storage. This is even louder than the call for relational mapping. We believe that in time mapping will exceed triple storage as such, once we get some real production strength mappings deployed, enough to outperform RDF warehousing.&lt;/p&gt; &lt;p&gt;There are also RDF middleware things like RDF-ization and demand-driven web harvesting (i.e, the so-called Sponger). These are &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1f5f6b78&quot;&gt;SPARQL&lt;/a&gt; options, thus accessed via standard interfaces. We have little desire to create our own languages or APIs, or to tell people how to program. This is why we recently introduced &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x206818c8&quot;&gt;Sesame&lt;/a&gt;- and &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0x202b3348&quot;&gt;Jena&lt;/a&gt;-compatible APIs to our RDF store. From what we hear, these work. On the other hand, we do not hesitate to move beyond the standards when there is obvious value or necessity. This is why we brought SPARQL up to and beyond SQL expressivity. It is not a case of E3 (Embrace, Extend, Extinguish).&lt;/p&gt; &lt;p&gt;Now, this message could be better reflected in our material on the web. This &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x1c82e508&quot;&gt;blog&lt;/a&gt; is a rather informal step in this direction; more is to come. For now we concentrate on delivering.&lt;/p&gt; &lt;p&gt;The conventional communications wisdom is to split the message by target audience. For this, we should split the RDF, relational, and web services messages from each other. We believe that a challenger, like the semantic web technology stack, must have a compelling message to tell for it to be interesting. This is not a question of research prototypes. The new technology cannot lack something the installed technology takes for granted.&lt;/p&gt; &lt;p&gt;This is why we do not tend to show things like how to insert and query a few triples: No business out there will insert and query triples for the sake of triples. There must be a more compelling story â for example, turning the whole world into a database. This is why our examples start with things like turning the &lt;a href=&quot;http://dbpedia.org/resource/TPC-H&quot; id=&quot;link-id0x20832510&quot;&gt;TPC-H&lt;/a&gt; database into RDF, queries and all. Anything less is not interesting. Why would an enterprise that has business intelligence and integration issues way more complex than the rather stereotypical TPC-H even look at a technology that pretends to be all for integration and all for expressivity of queries, yet cannot answer the first question of the entry exam?&lt;/p&gt; &lt;p&gt;The world out there is complex. But maybe we ought to make some simple tutorials? So, as a call to the people out there, tell us what a good tutorial would be. The question is more about figuring out what is out there and adapting these and making a sort of compatibility list. Jena and Sesame stuff ought to run as is. We could offer a webinar to all the data web luminaries showing how to promote the data web message with Virtuoso. After all, why not show it on the best platform?&lt;/p&gt; &lt;h3&gt;&amp;quot;You are arrogant. When I read your papers or documentation, the impression I get is that you say you are smart and the reader is stupid.&amp;quot;&lt;/h3&gt; &lt;p&gt;We should answer in multiple parts.&lt;/p&gt; &lt;p&gt;For general collateral, like web sites and documentation:&lt;/p&gt; &lt;p&gt;The web site gives a confused product image. For the Virtuoso product, we should divide at the top into&lt;/p&gt; &lt;ul&gt; &lt;li&gt; Data web and RDF - Host linked data, expose relational assets as linked data;&lt;/li&gt; &lt;li&gt; Relational Database - Full function, high performance, open source, Federated/Virtual Relational DBMS, expose heterogeneous RDB assets through one point of contact for integration;&lt;/li&gt; &lt;li&gt; Web Services - access all the above over standard protocols, dynamic web pages, web hosting.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;For each point, one simple statement. We all know what the above things mean?&lt;/p&gt; &lt;p&gt;Then we add a new point about scalability that impacts all the above, namely the Virtuoso version 6 Cluster, meaning that you can do all these things at 10 to 1000 times the scale. This means this much more data or in some cases this much more requests per second. This too is clear.&lt;/p&gt; &lt;p&gt;Far as I am concerned, hosting Java or .&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x20283a88&quot;&gt;NET&lt;/a&gt; does not have to be on the front page. Also, we have no great interest in going against &lt;a href=&quot;http://dbpedia.org/resource/Apache&quot; id=&quot;link-id0x2024a068&quot;&gt;Apache&lt;/a&gt; when it comes to a web server only situation. The fact that we have a web listener is important for some things but our claim to fame does not rest on this.&lt;/p&gt; &lt;p&gt;Then for documentation and training materials: The documentation should be better. Specifically it should have more of a how-to dimension since nobody reads the whole thing anyhow. About online tutorials, the order of presentation should be different. They do not really reflect what is important at the present moment either.&lt;/p&gt; &lt;p&gt;Now for conference papers: Since taking the data web as a focus area, we have submitted some papers and had some rejected because these do not have enough references and do not explain what is obvious to ourselves.&lt;/p&gt; &lt;p&gt;I think that the communications failure in this case is that we want to talk about end to end solutions and the reviewers expect research. For us, the solution is interesting and exists only if there is an adequate functionality mix for addressing a specific use case. This is why we do not make a paper about query cost model alone because the cost model, while indispensable, is a thing that is taken for granted where we come from. So we mention RDF adaptations to cost model, as these are important to the whole but do not find these to be the justification for a whole paper. If we made papers on this basis, we would have to make five times as many. Maybe we ought to.&lt;/p&gt; &lt;h3&gt;&amp;quot;Virtuoso is very big and very difficult&amp;quot;&lt;/h3&gt; &lt;p&gt;One thing that is not obvious from the Virtuoso packaging is that the minimum installation is an executable under 10MB and a config file. Two files.&lt;/p&gt; &lt;p&gt;This gives you SQL and SPARQL out of the box. Adding &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0x1ee61058&quot;&gt;ODBC&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x1b8c31c0&quot;&gt;JDBC&lt;/a&gt; clients is as simple as it gets. After this, there is basic database functionality. Tuning is a matter of a few parameters that are explained on this blog and elsewhere. Also, the full scale installation is available as an Amazon EC2 image, so no installation required.&lt;/p&gt; &lt;p&gt;Now for the difficult side:&lt;/p&gt; &lt;p&gt;Use SQL and SPARQL; use stored procedures whenever there is server side business logic. For some time critical web pages, use VSP. Do not use VSPX. Otherwise, use whatever you are used to â &lt;a href=&quot;http://dbpedia.org/resource/PHP&quot; id=&quot;link-id0x20a13c00&quot;&gt;PHP&lt;/a&gt; or Java or anything else. For web services, simple is best. Stick to basics. &amp;quot;The engineer is one who can invent a simple thing.&amp;quot; Use SQL statements rather than admin UI.&lt;/p&gt; &lt;p&gt;Know that you can start a server with no database file and you get an initial database with nothing extra. The demo database, the way it is produced by installers is cluttered.&lt;/p&gt; &lt;p&gt;We should put this into a couple of use case oriented how-tos.&lt;/p&gt; &lt;p&gt;Also, we should create a network of &amp;quot;friendly local virtuoso geeks&amp;quot; for providing basic training and services so we do not have to explain these things all the time. To all you data-web-ers out there â please sign up and we will provide instructions, etc. Contact YrjÃ¤nÃ¤ Rankka (ghard[at-sign]openlinksw.com), or go through the mailing lists; do not contact me directly.&lt;/p&gt; &lt;h3&gt;&amp;quot;OK, we understand that you may be good at the large end of the spectrum but how do you reconcile this with the lightweight or embedded end, like the semantic desktop?&amp;quot;&lt;/h3&gt; &lt;p&gt;Now, what is good for one end is usually good for the other. Namely, a database, no matter the scale, needs to have space efficient storage, fast index lookup, and correct query plans. Then there are things that occur only at the high-end, like clustering, but these are separate things. For embedding, the initial memory footprint needs to be small. With Virtuoso, this is accomplished by leaving out some 200 built-in tables and 100,000 lines of SQL procedures that are normally in by default, supporting things such as DAV and diverse other protocols. After all, if SPARQL is all one wants these are not needed.&lt;/p&gt; &lt;p&gt;If one really wants to do one&amp;#39;s server logic (like web listener and thread dispatching) oneself, this is not impossible but requires some advice from us. On the other hand, if one wants to have logic for security close to the data, then using stored procedures is recommended; these execute right next to the data, and support inline SPARQL and SQL. Depending on the license status of the other code, some special licensing arrangements may apply.&lt;/p&gt; &lt;p&gt;We are talking about such things with different parties at present.&lt;/p&gt; &lt;h3&gt;&amp;quot;How webby are you? What is webby?&amp;quot;&lt;/h3&gt; &lt;p&gt;&amp;quot;Webby means distributed, heterogeneous, open; not monolithic consolidation of everything.&amp;quot;&lt;/p&gt; &lt;p&gt;We are philosophically webby. We come from open standards; we are after all called OpenLink; our history consists of connecting things. We believe in choice â the user should be able to pick the best of breed for components and have them work together. We cannot and do not wish to force replacement of existing assets. Transforming data on the fly and connecting systems, leaving data where it originally resides, is the first preference. For the data web, the first preference is a federation of independent SPARQL end points. When there is harvesting, we prefer to do it on demand, as with our Sponger. With the immense amount of data out there we believe in finding what is relevant &lt;i&gt;when&lt;/i&gt; it is relevant, preferably close at hand, leveraging things like social networks. With a data web, many things which are now siloized, such as marketplaces and social networks, will return to the open.&lt;/p&gt; &lt;p&gt;Google-style crawling of everything becomes less practical if one needs to run complex &lt;i&gt;ad hoc&lt;/i&gt; queries against the mass of data. For these types of scenarios, if one needs to warehouse, the data cloud will offer solutions where one pays for database on demand. While we believe in loosely coupled federation where possible, we have serious work on the scalability side for the data center and the compute-on-demand cloud.&lt;/p&gt; &lt;h3&gt;&amp;quot;How does OpenLink see the next five years unfolding?&amp;quot;&lt;/h3&gt; &lt;p&gt;Personally, I think we have the basics for the birth of a new inflection in the &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x1fb9ae58&quot;&gt;knowledge&lt;/a&gt; economy. The &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id0x1f07c648&quot;&gt;URI&lt;/a&gt; is the unit of exchange; its value and competitive edge lie in the data it links you with. A name without context is worth little, but as a name gets more use, more &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0x1f007d60&quot;&gt;information&lt;/a&gt; can be found through that name. This is anything from financial statistics, to legal precedents, to news reporting or government data. Right now, if the SEC just added one line of markup to the XBRL template, this would instantaneously make all SEC-mandated reporting into linked data via GRDDL.&lt;/p&gt; &lt;p&gt;The URI is a carrier of brand. An information brand gets traffic and references, and this can be monetized in diverse ways. The key word is &lt;i&gt;context&lt;/i&gt;. Information overload is here to stay, and only better context offers the needed increase in productivity to stay ahead of the flood.&lt;/p&gt; &lt;p&gt;Semantic technologies on the whole can help with this. Why these should be semantic web or data web technologies as opposed to just semantic is the linked data value proposition. Even smart islands are still islands. Agility, scale, and scope, depend on the possibility of combining things. Therefore common terminologies and dereferenceability and discoverability are important. Without these, we are at best dealing with closed systems even if they were smart. The expert systems of the 1980s are a case in point.&lt;/p&gt; &lt;p&gt;Ever since the .com era, the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Locator&quot; id=&quot;link-id0x2048e670&quot;&gt;URL&lt;/a&gt; has been a brand. Now it becomes a URI. Thus, entirely hiding the URI from the user experience is not always desirable. The URI is a sort of handle on the provenance and where more can be found; besides, people are already used to these.&lt;/p&gt; &lt;p&gt;With linked data, information value-add products become easy to build and deploy. They can be basically just canned SPARQL queries combining data in a useful and insightful manner. And where there is traffic there can be monetization, whether by advertizing, subscription, or other means. Such possibilities are a natural adjunct to the blogosphere. To publish analysis, one no longer needs to be a think tank or media company. We could call this scenario the birth of a meshup economy.&lt;/p&gt; &lt;p&gt;For OpenLink itself, this is our roadmap. The immediate future is about getting our high end offerings like clustered RDF storage generally available, both on the cloud and for private data centers. Ourselves, we will offer the whole &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x1c696170&quot;&gt;Linked Open Data&lt;/a&gt; cloud as a database. The single feature to come in version 2 of this is fully automatic partitioning and repartitioning for on-demand scale; now, you have to choose how many partitions you have.&lt;/p&gt; &lt;p&gt;This makes some things possible that were hard thus far.&lt;/p&gt; &lt;p&gt;On the mapping front, we go for real-scale data integration scenarios where we can show that SPARQL can unify terms and concepts across databases, yet bring no added cost for complex queries. Enterprises can use their existing warehouses and have an added level of abstraction, the possibility of cross systems interlinking, the advantages of using the same taxonomies and ontologies across systems, and so forth.&lt;/p&gt; &lt;p&gt;Then there will be developments in the direction of smarter web harvesting on demand with the Virtuoso &lt;a href=&quot;http://virtuoso.openlinksw.com/Whitepapers/html/VirtSpongerWhitePaper.html&quot; id=&quot;link-id0x206ab780&quot;&gt;Sponger&lt;/a&gt;, and federation of heterogeneous SPARQL end points. The federation is not so unlike clustering, except the time scales are 2 orders of magnitude longer. The work on SPARQL end point statistics and data set description and discovery is a good development in the community.&lt;/p&gt; &lt;p&gt;Then there will be NLP integration, as exemplified by the Open Calais linked data wrapper and more.&lt;/p&gt; &lt;p&gt;Can we pull this off or is this being spread too thin? We know from experience that all this can be accomplished. Scale is already here; we show it with the billion triples set. Mapping is here; we showed it last in the Berlin Benchmark. We will also show some TPC-H results after we get a little quiet after the ISWC event. Then there is ongoing maintenance but with this we have shown a steady turnaround and quick time to fix for pretty much anything.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso - Are We Too Clever for Our Own Good? (updated)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-10-26#1465</atom:id>
  <atom:published>2008-10-26T12:15:35Z</atom:published>
  <atom:updated>2008-10-27T12:07:52-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&amp;quot;Physician, heal thyself,&amp;quot; it is said. We profess to say what the messaging of the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x1fa3da18&quot;&gt;semantic web&lt;/a&gt; ought to be, but is our own perfect?&lt;/p&gt; &lt;p&gt;I will here engage in some critical introspection as well as amplify on some answers given to &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x1e1eecf0&quot;&gt;Virtuoso&lt;/a&gt;-related questions in recent times.&lt;/p&gt; &lt;p&gt;I use some conversations from the &lt;a href=&quot;http://dbpedia.org/resource/Vienna&quot; id=&quot;link-id0x1ec0b2e0&quot;&gt;Vienna&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x2045ac10&quot;&gt;Linked Data&lt;/a&gt; Practitioners meeting as a starting point. These views are mine and are limited to the Virtuoso server. These do not apply to the &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0x2045ac38&quot;&gt;ODS&lt;/a&gt; (&lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0x14f63c58&quot;&gt;OpenLink Data Spaces&lt;/a&gt;) applications line, &lt;a href=&quot;http://oat.openlinksw.com/&quot; id=&quot;link-id0x14f63c80&quot;&gt;OAT&lt;/a&gt; (&lt;a href=&quot;http://oat.openlinksw.com/&quot; id=&quot;link-id0x1e536928&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;), or &lt;a href=&quot;http://ode.openlinksw.com/&quot; id=&quot;link-id0x1eaed7f8&quot;&gt;ODE&lt;/a&gt; (&lt;a href=&quot;http://ode.openlinksw.com/&quot; id=&quot;link-id0x1edfff88&quot;&gt;OpenLink Data Explorer&lt;/a&gt;).&lt;/p&gt; &lt;h3&gt;&amp;quot;It is not always clear what the main thrust is, we get the impression that you are spread too thin,&amp;quot; said &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~auer/foaf.rdf#me&quot; id=&quot;link-id0x1b8a9580&quot;&gt;SÃ¶ren Auer&lt;/a&gt;.&lt;/h3&gt; &lt;p&gt;Well, personally, I am all for core competence. This is why I do not participate in all the online conversations and groups as much as I could, for example. Time and energy are critical resources and must be invested where they make a difference. In this case, the real core competence is running in the database race. This in itself, come to think of it, is a pretty broad concept.&lt;/p&gt; &lt;p&gt;This is why we put a lot of emphasis on Linked Data and the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x1b85fa38&quot;&gt;Data&lt;/a&gt; Web for now, as this is the emerging game. This is a deliberate choice, not an outside imperative or built-in limitation. More specifically, this means exposing any pre-existing relational data as linked data plus being the definitive &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1f5b4468&quot;&gt;RDF&lt;/a&gt; store.&lt;/p&gt; &lt;p&gt;We can do this because we own our database and &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x20076468&quot;&gt;SQL&lt;/a&gt; and data access middleware and have a history of connecting to any &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x1ffd6f98&quot;&gt;RDBMS&lt;/a&gt; out there.&lt;/p&gt; &lt;p&gt;The principal message we have been hearing from the RDF field is the call for scale of triple storage. This is even louder than the call for relational mapping. We believe that in time mapping will exceed triple storage as such, once we get some real production strength mappings deployed, enough to outperform RDF warehousing.&lt;/p&gt; &lt;p&gt;There are also RDF middleware things like RDF-ization and demand-driven web harvesting (i.e, the so-called Sponger). These are &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1316f720&quot;&gt;SPARQL&lt;/a&gt; options, thus accessed via standard interfaces. We have little desire to create our own languages or APIs, or to tell people how to program. This is why we recently introduced &lt;a href=&quot;http://sourceforge.net/projects/sesame/&quot; id=&quot;link-id0x20756a68&quot;&gt;Sesame&lt;/a&gt;- and &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id0x1ec01ac0&quot;&gt;Jena&lt;/a&gt;-compatible APIs to our RDF store. From what we hear, these work. On the other hand, we do not hesitate to move beyond the standards when there is obvious value or necessity. This is why we brought SPARQL up to and beyond SQL expressivity. It is not a case of E3 (Embrace, Extend, Extinguish).&lt;/p&gt; &lt;p&gt;Now, this message could be better reflected in our material on the web. This &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x2027b410&quot;&gt;blog&lt;/a&gt; is a rather informal step in this direction; more is to come. For now we concentrate on delivering.&lt;/p&gt; &lt;p&gt;The conventional communications wisdom is to split the message by target audience. For this, we should split the RDF, relational, and web services messages from each other. We believe that a challenger, like the semantic web technology stack, must have a compelling message to tell for it to be interesting. This is not a question of research prototypes. The new technology cannot lack something the installed technology takes for granted.&lt;/p&gt; &lt;p&gt;This is why we do not tend to show things like how to insert and query a few triples: No business out there will insert and query triples for the sake of triples. There must be a more compelling story â for example, turning the whole world into a database. This is why our examples start with things like turning the &lt;a href=&quot;http://dbpedia.org/resource/TPC-H&quot; id=&quot;link-id0x2051ff98&quot;&gt;TPC-H&lt;/a&gt; database into RDF, queries and all. Anything less is not interesting. Why would an enterprise that has business intelligence and integration issues way more complex than the rather stereotypical TPC-H even look at a technology that pretends to be all for integration and all for expressivity of queries, yet cannot answer the first question of the entry exam?&lt;/p&gt; &lt;p&gt;The world out there is complex. But maybe we ought to make some simple tutorials? So, as a call to the people out there, tell us what a good tutorial would be. The question is more about figuring out what is out there and adapting these and making a sort of compatibility list. Jena and Sesame stuff ought to run as is. We could offer a webinar to all the data web luminaries showing how to promote the data web message with Virtuoso. After all, why not show it on the best platform?&lt;/p&gt; &lt;h3&gt;&amp;quot;You are arrogant. When I read your papers or documentation, the impression I get is that you say you are smart and the reader is stupid.&amp;quot;&lt;/h3&gt; &lt;p&gt;We should answer in multiple parts.&lt;/p&gt; &lt;p&gt;For general collateral, like web sites and documentation:&lt;/p&gt; &lt;p&gt;The web site gives a confused product image. For the Virtuoso product, we should divide at the top into&lt;/p&gt; &lt;ul&gt; &lt;li&gt; Data web and RDF - Host linked data, expose relational assets as linked data;&lt;/li&gt; &lt;li&gt; Relational Database - Full function, high performance, open source, Federated/Virtual Relational DBMS, expose heterogeneous RDB assets through one point of contact for integration;&lt;/li&gt; &lt;li&gt; Web Services - access all the above over standard protocols, dynamic web pages, web hosting.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;For each point, one simple statement. We all know what the above things mean?&lt;/p&gt; &lt;p&gt;Then we add a new point about scalability that impacts all the above, namely the Virtuoso version 6 Cluster, meaning that you can do all these things at 10 to 1000 times the scale. This means this much more data or in some cases this much more requests per second. This too is clear.&lt;/p&gt; &lt;p&gt;Far as I am concerned, hosting Java or .&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x1f297540&quot;&gt;NET&lt;/a&gt; does not have to be on the front page. Also, we have no great interest in going against &lt;a href=&quot;http://dbpedia.org/resource/Apache&quot; id=&quot;link-id0x1ea29578&quot;&gt;Apache&lt;/a&gt; when it comes to a web server only situation. The fact that we have a web listener is important for some things but our claim to fame does not rest on this.&lt;/p&gt; &lt;p&gt;Then for documentation and training materials: The documentation should be better. Specifically it should have more of a how-to dimension since nobody reads the whole thing anyhow. About online tutorials, the order of presentation should be different. They do not really reflect what is important at the present moment either.&lt;/p&gt; &lt;p&gt;Now for conference papers: Since taking the data web as a focus area, we have submitted some papers and had some rejected because these do not have enough references and do not explain what is obvious to ourselves.&lt;/p&gt; &lt;p&gt;I think that the communications failure in this case is that we want to talk about end to end solutions and the reviewers expect research. For us, the solution is interesting and exists only if there is an adequate functionality mix for addressing a specific use case. This is why we do not make a paper about query cost model alone because the cost model, while indispensable, is a thing that is taken for granted where we come from. So we mention RDF adaptations to cost model, as these are important to the whole but do not find these to be the justification for a whole paper. If we made papers on this basis, we would have to make five times as many. Maybe we ought to.&lt;/p&gt; &lt;h3&gt;&amp;quot;Virtuoso is very big and very difficult&amp;quot;&lt;/h3&gt; &lt;p&gt;One thing that is not obvious from the Virtuoso packaging is that the minimum installation is an executable under 10MB and a config file. Two files.&lt;/p&gt; &lt;p&gt;This gives you SQL and SPARQL out of the box. Adding &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0x20a2e7d0&quot;&gt;ODBC&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x1e4cceb8&quot;&gt;JDBC&lt;/a&gt; clients is as simple as it gets. After this, there is basic database functionality. Tuning is a matter of a few parameters that are explained on this blog and elsewhere. Also, the full scale installation is available as an Amazon EC2 image, so no installation required.&lt;/p&gt; &lt;p&gt;Now for the difficult side:&lt;/p&gt; &lt;p&gt;Use SQL and SPARQL; use stored procedures whenever there is server side business logic. For some time critical web pages, use VSP. Do not use VSPX. Otherwise, use whatever you are used to â &lt;a href=&quot;http://dbpedia.org/resource/PHP&quot; id=&quot;link-id0x20b03f08&quot;&gt;PHP&lt;/a&gt; or Java or anything else. For web services, simple is best. Stick to basics. &amp;quot;The engineer is one who can invent a simple thing.&amp;quot; Use SQL statements rather than admin UI.&lt;/p&gt; &lt;p&gt;Know that you can start a server with no database file and you get an initial database with nothing extra. The demo database, the way it is produced by installers is cluttered.&lt;/p&gt; &lt;p&gt;We should put this into a couple of use case oriented how-tos.&lt;/p&gt; &lt;p&gt;Also, we should create a network of &amp;quot;friendly local virtuoso geeks&amp;quot; for providing basic training and services so we do not have to explain these things all the time. To all you data-web-ers out there â please sign up and we will provide instructions, etc. Contact YrjÃ¤nÃ¤ Rankka (ghard[at-sign]openlinksw.com), or go through the mailing lists; do not contact me directly.&lt;/p&gt; &lt;h3&gt;&amp;quot;OK, we understand that you may be good at the large end of the spectrum but how do you reconcile this with the lightweight or embedded end, like the semantic desktop?&amp;quot;&lt;/h3&gt; &lt;p&gt;Now, what is good for one end is usually good for the other. Namely, a database, no matter the scale, needs to have space efficient storage, fast index lookup, and correct query plans. Then there are things that occur only at the high-end, like clustering, but these are separate things. For embedding, the initial memory footprint needs to be small. With Virtuoso, this is accomplished by leaving out some 200 built-in tables and 100,000 lines of SQL procedures that are normally in by default, supporting things such as DAV and diverse other protocols. After all, if SPARQL is all one wants these are not needed.&lt;/p&gt; &lt;p&gt;If one really wants to do one&amp;#39;s server logic (like web listener and thread dispatching) oneself, this is not impossible but requires some advice from us. On the other hand, if one wants to have logic for security close to the data, then using stored procedures is recommended; these execute right next to the data, and support inline SPARQL and SQL. Depending on the license status of the other code, some special licensing arrangements may apply.&lt;/p&gt; &lt;p&gt;We are talking about such things with different parties at present.&lt;/p&gt; &lt;h3&gt;&amp;quot;How webby are you? What is webby?&amp;quot;&lt;/h3&gt; &lt;p&gt;&amp;quot;Webby means distributed, heterogeneous, open; not monolithic consolidation of everything.&amp;quot;&lt;/p&gt; &lt;p&gt;We are philosophically webby. We come from open standards; we are after all called OpenLink; our history consists of connecting things. We believe in choice â the user should be able to pick the best of breed for components and have them work together. We cannot and do not wish to force replacement of existing assets. Transforming data on the fly and connecting systems, leaving data where it originally resides, is the first preference. For the data web, the first preference is a federation of independent SPARQL end points. When there is harvesting, we prefer to do it on demand, as with our Sponger. With the immense amount of data out there we believe in finding what is relevant &lt;i&gt;when&lt;/i&gt; it is relevant, preferably close at hand, leveraging things like social networks. With a data web, many things which are now siloized, such as marketplaces and social networks, will return to the open.&lt;/p&gt; &lt;p&gt;Google-style crawling of everything becomes less practical if one needs to run complex &lt;i&gt;ad hoc&lt;/i&gt; queries against the mass of data. For these types of scenarios, if one needs to warehouse, the data cloud will offer solutions where one pays for database on demand. While we believe in loosely coupled federation where possible, we have serious work on the scalability side for the data center and the compute-on-demand cloud.&lt;/p&gt; &lt;h3&gt;&amp;quot;How does OpenLink see the next five years unfolding?&amp;quot;&lt;/h3&gt; &lt;p&gt;Personally, I think we have the basics for the birth of a new inflection in the &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x2018bd98&quot;&gt;knowledge&lt;/a&gt; economy. The &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id0x1ec110d8&quot;&gt;URI&lt;/a&gt; is the unit of exchange; its value and competitive edge lie in the data it links you with. A name without context is worth little, but as a name gets more use, more &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0x1ecfba08&quot;&gt;information&lt;/a&gt; can be found through that name. This is anything from financial statistics, to legal precedents, to news reporting or government data. Right now, if the SEC just added one line of markup to the XBRL template, this would instantaneously make all SEC-mandated reporting into linked data via GRDDL.&lt;/p&gt; &lt;p&gt;The URI is a carrier of brand. An information brand gets traffic and references, and this can be monetized in diverse ways. The key word is &lt;i&gt;context&lt;/i&gt;. Information overload is here to stay, and only better context offers the needed increase in productivity to stay ahead of the flood.&lt;/p&gt; &lt;p&gt;Semantic technologies on the whole can help with this. Why these should be semantic web or data web technologies as opposed to just semantic is the linked data value proposition. Even smart islands are still islands. Agility, scale, and scope, depend on the possibility of combining things. Therefore common terminologies and dereferenceability and discoverability are important. Without these, we are at best dealing with closed systems even if they were smart. The expert systems of the 1980s are a case in point.&lt;/p&gt; &lt;p&gt;Ever since the .com era, the &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Locator&quot; id=&quot;link-id0x1c4c9248&quot;&gt;URL&lt;/a&gt; has been a brand. Now it becomes a URI. Thus, entirely hiding the URI from the user experience is not always desirable. The URI is a sort of handle on the provenance and where more can be found; besides, people are already used to these.&lt;/p&gt; &lt;p&gt;With linked data, information value-add products become easy to build and deploy. They can be basically just canned SPARQL queries combining data in a useful and insightful manner. And where there is traffic there can be monetization, whether by advertizing, subscription, or other means. Such possibilities are a natural adjunct to the blogosphere. To publish analysis, one no longer needs to be a think tank or media company. We could call this scenario the birth of a meshup economy.&lt;/p&gt; &lt;p&gt;For OpenLink itself, this is our roadmap. The immediate future is about getting our high end offerings like clustered RDF storage generally available, both on the cloud and for private data centers. Ourselves, we will offer the whole &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x20791bf0&quot;&gt;Linked Open Data&lt;/a&gt; cloud as a database. The single feature to come in version 2 of this is fully automatic partitioning and repartitioning for on-demand scale; now, you have to choose how many partitions you have.&lt;/p&gt; &lt;p&gt;This makes some things possible that were hard thus far.&lt;/p&gt; &lt;p&gt;On the mapping front, we go for real-scale data integration scenarios where we can show that SPARQL can unify terms and concepts across databases, yet bring no added cost for complex queries. Enterprises can use their existing warehouses and have an added level of abstraction, the possibility of cross systems interlinking, the advantages of using the same taxonomies and ontologies across systems, and so forth.&lt;/p&gt; &lt;p&gt;Then there will be developments in the direction of smarter web harvesting on demand with the Virtuoso &lt;a href=&quot;http://virtuoso.openlinksw.com/Whitepapers/html/VirtSpongerWhitePaper.html&quot; id=&quot;link-id0x1f27e6d8&quot;&gt;Sponger&lt;/a&gt;, and federation of heterogeneous SPARQL end points. The federation is not so unlike clustering, except the time scales are 2 orders of magnitude longer. The work on SPARQL end point statistics and data set description and discovery is a good development in the community.&lt;/p&gt; &lt;p&gt;Then there will be NLP integration, as exemplified by the Open Calais linked data wrapper and more.&lt;/p&gt; &lt;p&gt;Can we pull this off or is this being spread too thin? We know from experience that all this can be accomplished. Scale is already here; we show it with the billion triples set. Mapping is here; we showed it last in the Berlin Benchmark. We will also show some TPC-H results after we get a little quiet after the ISWC event. Then there is ongoing maintenance but with this we have shown a steady turnaround and quick time to fix for pretty much anything.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>State of the Semantic Web, Part 1 - Sociology, Business, and Messaging (update 2)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-10-24#1460</atom:id>
  <atom:published>2008-10-24T10:19:03Z</atom:published>
  <atom:updated>2008-10-27T11:28:07-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I was in &lt;a href=&quot;http://dbpedia.org/resource/Vienna&quot; id=&quot;link-id0x1f18a540&quot;&gt;Vienna&lt;/a&gt; for the &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x1ec788a0&quot;&gt;Linked Data&lt;/a&gt; Practitioners gathering this week. Danny Ayers asked me if I would &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x20838238&quot;&gt;blog&lt;/a&gt; about the State of the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x20694ed8&quot;&gt;Semantic Web&lt;/a&gt; or write the &lt;i&gt;This Week&amp;#39;s Semantic Web&lt;/i&gt; column. I don&amp;#39;t have the time to cover all that may have happened during the past week but I will editorialize about the questions that again were raised in Vienna. How these things relate to &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x20b1cd38&quot;&gt;Virtuoso&lt;/a&gt; will be covered separately. This is about the overarching questions of the times, not the finer points of geek craft.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~auer/foaf.rdf#me&quot; id=&quot;link-id0x1ff31b30&quot;&gt;SÃ¶ren Auer&lt;/a&gt; asked me to say a few things about relational to &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1f8118e0&quot;&gt;RDF&lt;/a&gt; mapping. I will cite some highlights from this, as they pertain to the general scene. There was an &amp;quot;open hacking&amp;quot; session Wednesday night featuring lightning talks. I will use some of these too as a starting point.&lt;/p&gt; &lt;h3&gt;The messaging?&lt;/h3&gt; &lt;p&gt;The &lt;a href=&quot;http://www.w3.org/2001/sw/sweo/&quot; id=&quot;link-id0x1dc39210&quot;&gt;SWEO&lt;/a&gt; (Semantic Web Education and Outreach) interest group of the W3C spent some time looking for an elevator pitch for the Semantic Web. It became &amp;quot;&lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x1f24dd98&quot;&gt;Data&lt;/a&gt; Unleashed.&amp;quot; Why not? Let&amp;#39;s give this some context.&lt;/p&gt; &lt;p&gt;So, if we are holding a &lt;i&gt;Semantic Web 101&lt;/i&gt; session, where should we begin? I hazard to guess that we should not begin by writing a FOAF file in Turtle by hand, as this is one thing that is not likely to happen in the real world.&lt;/p&gt; &lt;p&gt;Of course, the social aspect of the Data Web is the most immediately engaging, so a demo might be to go make an account with &lt;a href=&quot;http://myopenlink.net/&quot; id=&quot;link-id0x1f5e0198&quot;&gt;myopenlink&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x1ec49a00&quot;&gt;net&lt;/a&gt; and see that after one has entered the data one normally enters for any social network, one has become a Data Web citizen. This means that one can be found, just like this, with a query against the set of data spaces hosted on the system. Then we just need a few pages that repurpose this data and relate it to other data. We show some samples of queries like this in our &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id0x1ee35f70&quot;&gt;Billion Triples Challenge&lt;/a&gt; demo. We will make a webcast about this to make it all clearer.&lt;/p&gt; &lt;p&gt;Behold: The Data Web is about the world becoming a database; writing &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x20644808&quot;&gt;SPARQL&lt;/a&gt; queries or triples is incidental. You will write FOAF files by hand just as little as you now write &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1fd9fbc0&quot;&gt;SQL&lt;/a&gt; insert statements for filling in your account &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0x1dfd3540&quot;&gt;information&lt;/a&gt; on Myspace.&lt;/p&gt; &lt;p&gt;Every time there is a major shift in technology, this shift needs to be motivated by addressing a new class of problem. This means doing something that could not be done before. The last time this happened was when the relational database became the dominant IT technology. At that time, the questions involved putting the enterprise in the database and building a cluster of Line Of Business (LOB) applications around the database. The argument for the &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x1e920868&quot;&gt;RDBMS&lt;/a&gt; was that you did not have to constrain the set of queries that might later be made, when designing the database. In other words, it was making things more &lt;i&gt;ad hoc&lt;/i&gt;. This was opposed then on grounds of being less efficient than the hierarchical and network databases which the relational eventually replaced.&lt;/p&gt; &lt;p&gt;Today, the point of the Data Web is that you do not have to constrain what your data can join or integrate with, when you design your database. The counter-argument is that this is slow and geeky and not scalable. See the similarity?&lt;/p&gt; &lt;p&gt;A difference is that we are not specifically aiming at replacing the RDBMS. In fact, if you know exactly what you will query and have a well defined workload, a relational representation optimized for the workload will give you about 10x the performance of the equivalent RDF warehouse. OLTP remains a relational-only domain.&lt;/p&gt; &lt;p&gt;However, when we are talking about doing queries and analytics against the Web, or even against more than a handful of relational systems, the things which make RDBMS good become problematic.&lt;/p&gt; &lt;h3&gt;What is the business value of this?&lt;/h3&gt; &lt;p&gt;The most reliable of human drives is the drive to make oneself known. This drives all, from any social scene to business communications to politics. Today, when you want to proclaim you exist, you do so first on the Web. The Web did not become the prevalent media because business loved it for its own sake, it became prevalent because business could not afford not to assert their presence there. If anything, the Web eroded the communications dominance of a lot of players, which was not welcome but still had to be dealt with, by embracing the Web.&lt;/p&gt; &lt;p&gt;Today, in a world driven by data, the Data Web will be catalyzed by similar factors: If your data is not there, you will not figure in query results. Search engines will play some role there but also many social applications will have reports that are driven by published data. Also consider any e-commerce, any marketplace, and so forth. The Data Portability movement is a case in point: Users want to own their own content; silo operators want to capitalize on holding it. Right now, we see these things in silos; the Data Web will create bridges between these, and what is now in silo data centers will be increasingly available on an ad hoc basis with Open Data.&lt;/p&gt; &lt;p&gt;Again, we see a movement from the specialized to the generic: What LinkedIn does in its data center can be done with ad hoc queries with &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x1e715138&quot;&gt;linked open data&lt;/a&gt;. Of course, LinkedIn does these things somewhat more efficiently because their system is built just for this task, but the linked data approach has the built-in readiness to join with everything else at almost no cost, without making a new data warehouse for each new business question.&lt;/p&gt; &lt;p&gt;We could call this the sociological aspect of the thing. Getting to more concrete business, we see an economy that, we could say, without being alarmists, is confronted with some issues. Well, generally when times are bad, this results in consolidation of property and power. Businesses fail and get split up and sold off in pieces, government adds controls and regulations and so forth. This means ad hoc data integration, as control without data is just pretense. If times are lean, this also means that there is little readiness to do wholesale replacement of systems, which will take years before producing anything. So we must play with what there is and make it deliver, in ways and conditions that were not necessarily anticipated. The agility of the Data Web, if correctly understood, can be of great benefit there, especially on the reporting and business intelligence side. Specifically mapping line-of-business systems into RDF on the fly will help with integration, making the specialized warehouse the slower and more expensive alternative. But this too is needed at times.&lt;/p&gt; &lt;p&gt;But for the RDF community to be taken seriously there, the messaging must be geared in this direction. Writing FOAF files by hand is not where you begin the pitch. Well, what is more natural then having a global, queriable information space, when you have a global information driven economy?&lt;/p&gt; &lt;p&gt;The Data Web is about making this happen. First with doing this in published generally available data; next with the enterprises having their private data for their own use but still linking toward the outside, even though private data stays private: You can still use standard terms and taxonomies, where they apply, when talking of proprietary information.&lt;/p&gt; &lt;h3&gt;But let&amp;#39;s get back to more specific issues&lt;/h3&gt; &lt;p&gt;At the lightning talks in Vienna, one participant said, &amp;quot;Man&amp;#39;s enemy is not the lion that eats men, it&amp;#39;s his own brother. Semantic Web&amp;#39;s enemy is the &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x1aeb61b8&quot;&gt;XML&lt;/a&gt; Web services stack that ate its lunch.&amp;quot; There is some truth to the first part. The second part deserves some comment. The Web services stack is about transactions. When you have a fixed, often repeating task, it is a natural thing to make this a Web service. Even though SOA is not really prevalent in enterprise IT, it has value in things like managing supply-chain logistics with partners, etc. Lots of standard messages with unambiguous meaning. To make a parallel with the database world: first there was OLTP; then there was business intelligence. Of course, you must first have the transactions, to have something to analyze.&lt;/p&gt; &lt;p&gt;SOA is for the transactions; the Data Web is for integration, analysis, and discovery. It is the &lt;i&gt;ad hoc&lt;/i&gt; component of the real time enterprise, if you will. It is not a competitor against a transaction oriented SOA. In fact, RDF has no special genius for transactions. Another mistake that often gets made is stretching things beyond their natural niche. Doing transactions in RDF is this sort of over-stretching without real benefit.&lt;/p&gt; &lt;p&gt;&amp;quot;I made an ontology and it really did solve a problem. How do I convince the enterprise people, the MBA who says it&amp;#39;s too complex, the developer who says it is not what he&amp;#39;s used to, and so on?&amp;quot;&lt;/p&gt; &lt;p&gt;This is an education question. One of the findings of SWEO&amp;#39;s enterprise survey was that there was awareness that difficult problems existed. There were and are corporate ontologies and taxonomies, diversely implemented. Some of these needs are recognized. RDF based technologies offer to make these more open standards based. open standards have proven economical in the past. What we also hear is that major enterprises do not even know what their information and human resources assets are: Experts can&amp;#39;t be found even when they are in the next department, or reports and analysis gets buried in wikis, spreadsheets, and emails.&lt;/p&gt; &lt;p&gt;Just as when SQL took off, we need vendors to do workshops on getting started with a technology. The affair in Vienna was a step in this direction. Another type of event specially focusing on vertical problems and their Data Web solutions is a next step. For example, one could do a workshop on integrating supply chain information with Data Web technologies. Or one on making enterprise &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x1fbd3398&quot;&gt;knowledge&lt;/a&gt; bases from HR, CRM, office automation, wikis, etc. The good thing is that all these things are additions to, not replacements of, the existing mission-critical infrastructure. And better use of what you already have ought to be the theme of the day.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>State of the Semantic Web, Part 1 - Sociology, Business, and Messaging (update 2)</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-10-24#1459</atom:id>
  <atom:published>2008-10-24T10:19:03Z</atom:published>
  <atom:updated>2008-10-27T11:27:54-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I was in &lt;a href=&quot;http://dbpedia.org/resource/Vienna&quot; id=&quot;link-id0x28471870&quot;&gt;Vienna&lt;/a&gt; for the &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id0x26f0ec28&quot;&gt;Linked Data&lt;/a&gt; Practitioners gathering this week. Danny Ayers asked me if I would &lt;a href=&quot;http://dbpedia.org/resource/Blog&quot; id=&quot;link-id0x26cf7678&quot;&gt;blog&lt;/a&gt; about the State of the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x273087e0&quot;&gt;Semantic Web&lt;/a&gt; or write the &lt;i&gt;This Week&amp;#39;s Semantic Web&lt;/i&gt; column. I don&amp;#39;t have the time to cover all that may have happened during the past week but I will editorialize about the questions that again were raised in Vienna. How these things relate to &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x264e11b8&quot;&gt;Virtuoso&lt;/a&gt; will be covered separately. This is about the overarching questions of the times, not the finer points of geek craft.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~auer/foaf.rdf#me&quot; id=&quot;link-id0x2787de70&quot;&gt;SÃ¶ren Auer&lt;/a&gt; asked me to say a few things about relational to &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x280b12f8&quot;&gt;RDF&lt;/a&gt; mapping. I will cite some highlights from this, as they pertain to the general scene. There was an &amp;quot;open hacking&amp;quot; session Wednesday night featuring lightning talks. I will use some of these too as a starting point.&lt;/p&gt; &lt;h3&gt;The messaging?&lt;/h3&gt; &lt;p&gt;The &lt;a href=&quot;http://www.w3.org/2001/sw/sweo/&quot; id=&quot;link-id0x28078030&quot;&gt;SWEO&lt;/a&gt; (Semantic Web Education and Outreach) interest group of the W3C spent some time looking for an elevator pitch for the Semantic Web. It became &amp;quot;&lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x290a48c0&quot;&gt;Data&lt;/a&gt; Unleashed.&amp;quot; Why not? Let&amp;#39;s give this some context.&lt;/p&gt; &lt;p&gt;So, if we are holding a &lt;i&gt;Semantic Web 101&lt;/i&gt; session, where should we begin? I hazard to guess that we should not begin by writing a FOAF file in Turtle by hand, as this is one thing that is not likely to happen in the real world.&lt;/p&gt; &lt;p&gt;Of course, the social aspect of the Data Web is the most immediately engaging, so a demo might be to go make an account with &lt;a href=&quot;http://myopenlink.net/&quot; id=&quot;link-id0x272ed6d0&quot;&gt;myopenlink&lt;/a&gt;.&lt;a href=&quot;http://dbpedia.org/resource/.NET_Framework&quot; id=&quot;link-id0x277dbbd0&quot;&gt;net&lt;/a&gt; and see that after one has entered the data one normally enters for any social network, one has become a Data Web citizen. This means that one can be found, just like this, with a query against the set of data spaces hosted on the system. Then we just need a few pages that repurpose this data and relate it to other data. We show some samples of queries like this in our &lt;a href=&quot;http://challenge.semanticweb.org/&quot; id=&quot;link-id0x25fda5c8&quot;&gt;Billion Triples Challenge&lt;/a&gt; demo. We will make a webcast about this to make it all clearer.&lt;/p&gt; &lt;p&gt;Behold: The Data Web is about the world becoming a database; writing &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x278c3878&quot;&gt;SPARQL&lt;/a&gt; queries or triples is incidental. You will write FOAF files by hand just as little as you now write &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x27e6be18&quot;&gt;SQL&lt;/a&gt; insert statements for filling in your account &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id0x2727a278&quot;&gt;information&lt;/a&gt; on Myspace.&lt;/p&gt; &lt;p&gt;Every time there is a major shift in technology, this shift needs to be motivated by addressing a new class of problem. This means doing something that could not be done before. The last time this happened was when the relational database became the dominant IT technology. At that time, the questions involved putting the enterprise in the database and building a cluster of Line Of Business (LOB) applications around the database. The argument for the &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x26020128&quot;&gt;RDBMS&lt;/a&gt; was that you did not have to constrain the set of queries that might later be made, when designing the database. In other words, it was making things more &lt;i&gt;ad hoc&lt;/i&gt;. This was opposed then on grounds of being less efficient than the hierarchical and network databases which the relational eventually replaced.&lt;/p&gt; &lt;p&gt;Today, the point of the Data Web is that you do not have to constrain what your data can join or integrate with, when you design your database. The counter-argument is that this is slow and geeky and not scalable. See the similarity?&lt;/p&gt; &lt;p&gt;A difference is that we are not specifically aiming at replacing the RDBMS. In fact, if you know exactly what you will query and have a well defined workload, a relational representation optimized for the workload will give you about 10x the performance of the equivalent RDF warehouse. OLTP remains a relational-only domain.&lt;/p&gt; &lt;p&gt;However, when we are talking about doing queries and analytics against the Web, or even against more than a handful of relational systems, the things which make RDBMS good become problematic.&lt;/p&gt; &lt;h3&gt;What is the business value of this?&lt;/h3&gt; &lt;p&gt;The most reliable of human drives is the drive to make oneself known. This drives all, from any social scene to business communications to politics. Today, when you want to proclaim you exist, you do so first on the Web. The Web did not become the prevalent media because business loved it for its own sake, it became prevalent because business could not afford not to assert their presence there. If anything, the Web eroded the communications dominance of a lot of players, which was not welcome but still had to be dealt with, by embracing the Web.&lt;/p&gt; &lt;p&gt;Today, in a world driven by data, the Data Web will be catalyzed by similar factors: If your data is not there, you will not figure in query results. Search engines will play some role there but also many social applications will have reports that are driven by published data. Also consider any e-commerce, any marketplace, and so forth. The Data Portability movement is a case in point: Users want to own their own content; silo operators want to capitalize on holding it. Right now, we see these things in silos; the Data Web will create bridges between these, and what is now in silo data centers will be increasingly available on an ad hoc basis with Open Data.&lt;/p&gt; &lt;p&gt;Again, we see a movement from the specialized to the generic: What LinkedIn does in its data center can be done with ad hoc queries with &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x261c7bc8&quot;&gt;linked open data&lt;/a&gt;. Of course, LinkedIn does these things somewhat more efficiently because their system is built just for this task, but the linked data approach has the built-in readiness to join with everything else at almost no cost, without making a new data warehouse for each new business question.&lt;/p&gt; &lt;p&gt;We could call this the sociological aspect of the thing. Getting to more concrete business, we see an economy that, we could say, without being alarmists, is confronted with some issues. Well, generally when times are bad, this results in consolidation of property and power. Businesses fail and get split up and sold off in pieces, government adds controls and regulations and so forth. This means ad hoc data integration, as control without data is just pretense. If times are lean, this also means that there is little readiness to do wholesale replacement of systems, which will take years before producing anything. So we must play with what there is and make it deliver, in ways and conditions that were not necessarily anticipated. The agility of the Data Web, if correctly understood, can be of great benefit there, especially on the reporting and business intelligence side. Specifically mapping line-of-business systems into RDF on the fly will help with integration, making the specialized warehouse the slower and more expensive alternative. But this too is needed at times.&lt;/p&gt; &lt;p&gt;But for the RDF community to be taken seriously there, the messaging must be geared in this direction. Writing FOAF files by hand is not where you begin the pitch. Well, what is more natural then having a global, queriable information space, when you have a global information driven economy?&lt;/p&gt; &lt;p&gt;The Data Web is about making this happen. First with doing this in published generally available data; next with the enterprises having their private data for their own use but still linking toward the outside, even though private data stays private: You can still use standard terms and taxonomies, where they apply, when talking of proprietary information.&lt;/p&gt; &lt;h3&gt;But let&amp;#39;s get back to more specific issues&lt;/h3&gt; &lt;p&gt;At the lightning talks in Vienna, one participant said, &amp;quot;Man&amp;#39;s enemy is not the lion that eats men, it&amp;#39;s his own brother. Semantic Web&amp;#39;s enemy is the &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id0x26273118&quot;&gt;XML&lt;/a&gt; Web services stack that ate its lunch.&amp;quot; There is some truth to the first part. The second part deserves some comment. The Web services stack is about transactions. When you have a fixed, often repeating task, it is a natural thing to make this a Web service. Even though SOA is not really prevalent in enterprise IT, it has value in things like managing supply-chain logistics with partners, etc. Lots of standard messages with unambiguous meaning. To make a parallel with the database world: first there was OLTP; then there was business intelligence. Of course, you must first have the transactions, to have something to analyze.&lt;/p&gt; &lt;p&gt;SOA is for the transactions; the Data Web is for integration, analysis, and discovery. It is the &lt;i&gt;ad hoc&lt;/i&gt; component of the real time enterprise, if you will. It is not a competitor against a transaction oriented SOA. In fact, RDF has no special genius for transactions. Another mistake that often gets made is stretching things beyond their natural niche. Doing transactions in RDF is this sort of over-stretching without real benefit.&lt;/p&gt; &lt;p&gt;&amp;quot;I made an ontology and it really did solve a problem. How do I convince the enterprise people, the MBA who says it&amp;#39;s too complex, the developer who says it is not what he&amp;#39;s used to, and so on?&amp;quot;&lt;/p&gt; &lt;p&gt;This is an education question. One of the findings of SWEO&amp;#39;s enterprise survey was that there was awareness that difficult problems existed. There were and are corporate ontologies and taxonomies, diversely implemented. Some of these needs are recognized. RDF based technologies offer to make these more open standards based. open standards have proven economical in the past. What we also hear is that major enterprises do not even know what their information and human resources assets are: Experts can&amp;#39;t be found even when they are in the next department, or reports and analysis gets buried in wikis, spreadsheets, and emails.&lt;/p&gt; &lt;p&gt;Just as when SQL took off, we need vendors to do workshops on getting started with a technology. The affair in Vienna was a step in this direction. Another type of event specially focusing on vertical problems and their Data Web solutions is a next step. For example, one could do a workshop on integrating supply chain information with Data Web technologies. Or one on making enterprise &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x260172a8&quot;&gt;knowledge&lt;/a&gt; bases from HR, CRM, office automation, wikis, etc. The good thing is that all these things are additions to, not replacements of, the existing mission-critical infrastructure. And better use of what you already have ought to be the theme of the day.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>BSBM With Triples and Mapped Relational Data</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-08-06#1410</atom:id>
  <atom:published>2008-08-06T19:41:50Z</atom:published>
  <atom:updated>2008-08-06T16:29:44.000003-04:00</atom:updated>
  <atom:content type="html">&lt;div&gt; &lt;div style=&quot;display:none;&quot;&gt;BSBM With Triples and Mapped Relational Data&lt;/div&gt; &lt;p&gt;The special contribution of the &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id10039db0&quot;&gt;Berlin SPARQL Benchmark&lt;/a&gt; (&lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id106b2538&quot;&gt;BSBM&lt;/a&gt;) to the &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id101a75f8&quot;&gt;RDF&lt;/a&gt; world is to raise the question of doing OLTP with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0xae54170&quot;&gt;RDF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Of course, here we immediately hit the question of comparisons with relational databases. To this effect, &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id0x1e847b08&quot;&gt;BSBM&lt;/a&gt; also specifies a relational schema and can generate the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id1206c378&quot;&gt;data&lt;/a&gt; as either triples or &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id1667f040&quot;&gt;SQL&lt;/a&gt; inserts.&lt;/p&gt; &lt;p&gt;The benchmark effectively simulates the case of exposing an existing &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id10a93518&quot;&gt;RDBMS&lt;/a&gt; as RDF. &lt;a href=&quot;http://www.openlinksw.com/dataspace/organization/openlink#this&quot; id=&quot;link-id13e46d80&quot;&gt;OpenLink Software&lt;/a&gt; calls this &lt;i&gt;RDF Views&lt;/i&gt;. &lt;a href=&quot;http://dbpedia.org/resource/Oracle_Database&quot; id=&quot;link-id12027578&quot;&gt;Oracle&lt;/a&gt; is beginning to call this &lt;i&gt;semantic covers&lt;/i&gt;. The &lt;a href=&quot;http://www.w3.org/2005/Incubator/rdb2rdf/&quot; id=&quot;link-id161dc678&quot;&gt;RDB2RDF XG&lt;/a&gt;, a W3C incubator group, has been active in this area since Spring, 2008.&lt;/p&gt; &lt;h3&gt;But why an OLTP workload with RDF to begin with?&lt;/h3&gt; &lt;p&gt;We believe this is relevant because RDF promises to be the interoperability factor between potentially all of traditional IS. If &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x1e7119d8&quot;&gt;data&lt;/a&gt; is online for human consumption, it may be online via a &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id106a8908&quot;&gt;SPARQL&lt;/a&gt; end-point as well. The economic justification will come from discoverability and from applications integrating multi-source structured data. Online shopping is a fine use case.&lt;/p&gt; &lt;p&gt;Warehousing all the world&amp;#39;s publishable data as RDF is not our first preference, nor would it be the publisher&amp;#39;s. Considerations of duplicate infrastructure and maintenance are reason enough. Consequently, we need to show that mapping can outperform an RDF warehouse, which is what we&amp;#39;ll do here.&lt;/p&gt; &lt;h3&gt;What We Got &lt;/h3&gt; &lt;p&gt;First, we found that &lt;a href=&quot;http://www.openlinksw.com/dataspace/oerling/weblog/Orri%20Erling%27s%20Blog/1400&quot; id=&quot;link-id150ea748&quot;&gt;making the query plan took much too long&lt;/a&gt; in proportion to the run time. With BSBM this is an issue because the queries have lots of joins but access relatively little data. So we made a faster compiler and along the way retouched the cost model a bit.&lt;/p&gt; &lt;p&gt;But the really interesting part with BSBM is mapping relational data to RDF. For us, BSBM is a great way of showing that mapping can outperform even the best triple store. A relational row store is as good as unbeatable with the query mix. And when there is a clear mapping, there is no reason the &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0xae5aff0&quot;&gt;SPARQL&lt;/a&gt; could not be directly translated.&lt;/p&gt; &lt;p&gt;If Chris Bizer et al launched the mapping ship, we will be the ones to pilot it to harbor!&lt;/p&gt; &lt;p&gt;We filled two &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id12dbdc70&quot;&gt;Virtuoso&lt;/a&gt; instances with a BSBM200000 data set, for 100M triples. One was filled with physical triples; the other was filled with the equivalent relational data plus mapping to triples. Performance figures are given in &amp;quot;query mixes per hour&amp;quot;. (An update or follow-on to this post will provide elapsed times for each test run.)&lt;/p&gt; &lt;p&gt;With the unmodified benchmark we got:&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt;1297 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt;&lt;b&gt;3144 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;In both cases, most of the time was spent on Q6, which looks for products with one of three words in the label. We altered Q6 to use text index for the mapping, and altered the databases accordingly. (There is no such thing as an e-commerce site without a text index, so we are amply justified in making this change.)&lt;/p&gt; &lt;p&gt;The following were measured on the second run of a 100 query mix series, single test driver, warm cache.&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; 5746 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; &lt;b&gt;7525 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;We then ran the same with 4 concurrent instances of the test driver. The qmph here is 400 / the longest run time.&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; 19459 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; &lt;b&gt;24531 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;The system used was 64-bit Linux, 2GHz dual-Xeon 5130 (8 cores) with 8G RAM. The concurrent throughputs are a little under 4 times the single thread throughput, which is normal for SMP due to memory contention. The numbers do not evidence significant overhead from thread synchronization.&lt;/p&gt; &lt;p&gt;The query compilation represents about 1/3 of total server side CPU. In an actual online application of this type, queries would be parameterized, so the throughputs would be accordingly higher. We used the &lt;code&gt;StopCompilerWhenXOverRunTime = 1&lt;/code&gt; option here to cut needless compiler overhead, the queries being straightforward enough.&lt;/p&gt; &lt;p&gt;We also see that the advantage of mapping can be further increased by more compiler optimizations, so we expect in the end mapping will lead RDF warehousing by a factor of 4 or so.&lt;/p&gt; &lt;h3&gt;Suggestions for BSBM&lt;/h3&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Reporting Rules.&lt;/b&gt; The benchmark spec should specify a form for disclosure of test run data, TPC style. This includes things like configuration parameters and exact text of queries. There should be accepted variants of query text, as with the TPC.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Multiuser operation.&lt;/b&gt; The test driver should get a stream number as parameter, so that each client makes a different query sequence. Also, disk performance in this type of benchmark can only be reasonably assessed with a naturally parallel multiuser workload.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Add business intelligence.&lt;/b&gt; SPARQL has aggregates now, at least with &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id11a25ac0&quot;&gt;Jena&lt;/a&gt; and &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0xb003180&quot;&gt;Virtuoso&lt;/a&gt;, so let&amp;#39;s use these. The BSBM business intelligence metric should be a separate metric off the same data. Adding synthetic sales figures would make more interesting queries possible. For example, producing recommendations like &amp;quot;customers who bought this also bought xxx.&amp;quot;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;For the SPARQL community&lt;/b&gt;, BSBM sends the message that one ought to support parameterized queries and stored procedures. This would be a &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id109e2448&quot;&gt;SPARQL protocol&lt;/a&gt; extension; the SPARUL syntax should also have a way of calling a procedure. Something like &lt;code&gt;select proc (??, ??)&lt;/code&gt; would be enough, where &lt;code&gt;??&lt;/code&gt; is a parameter marker, like &lt;code&gt;?&lt;/code&gt; in &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id13febf48&quot;&gt;ODBC&lt;/a&gt;/&lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id120416a8&quot;&gt;JDBC&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Add transactions.&lt;/b&gt;Especially if we are contrasting mapping vs. storing triples, having an update flow is relevant. In practice, this could be done by having the test driver send web service requests for order entry and the SUT could implement these as updates to the triples or a mapped relational store. This could use stored procedures or logic in an app server.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;h3&gt;Comments on Query Mix&lt;/h3&gt; &lt;p&gt;The time of most queries is less than linear to the scale factor. Q6 is an exception if it is not implemented using a text index. Without the text index, Q6 will inevitably come to dominate query time as the scale is increased, and thus will make the benchmark less relevant at larger scales.&lt;/p&gt; &lt;h2&gt;Next&lt;/h2&gt; &lt;p&gt;We include the sources of our RDF view definitions and other material for running BSBM with our forthcoming Virtuoso Open Source 5.0.8 release. This also includes all the query optimization work done for BSBM. This will be available in the coming days.&lt;/p&gt; &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>BSBM With Triples and Mapped Relational Data</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-08-06#1409</atom:id>
  <atom:published>2008-08-06T19:35:27Z</atom:published>
  <atom:updated>2008-08-06T16:29:40-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The special contribution of the &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id10039db0&quot;&gt;Berlin SPARQL Benchmark&lt;/a&gt; (&lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id106b2538&quot;&gt;BSBM&lt;/a&gt;) to the &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id101a75f8&quot;&gt;RDF&lt;/a&gt; world is to raise the question of doing OLTP with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0xb230eb0&quot;&gt;RDF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Of course, here we immediately hit the question of comparisons with relational databases. To this effect, &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/spec/index.html&quot; id=&quot;link-id0xa832da8&quot;&gt;BSBM&lt;/a&gt; also specifies a relational schema and can generate the &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id1206c378&quot;&gt;data&lt;/a&gt; as either triples or &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id1667f040&quot;&gt;SQL&lt;/a&gt; inserts.&lt;/p&gt; &lt;p&gt;The benchmark effectively simulates the case of exposing an existing &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id10a93518&quot;&gt;RDBMS&lt;/a&gt; as RDF. &lt;a href=&quot;http://www.openlinksw.com/dataspace/organization/openlink#this&quot; id=&quot;link-id13e46d80&quot;&gt;OpenLink Software&lt;/a&gt; calls this &lt;i&gt;RDF Views&lt;/i&gt;. &lt;a href=&quot;http://dbpedia.org/resource/Oracle_Database&quot; id=&quot;link-id12027578&quot;&gt;Oracle&lt;/a&gt; is beginning to call this &lt;i&gt;semantic covers&lt;/i&gt;. The &lt;a href=&quot;http://www.w3.org/2005/Incubator/rdb2rdf/&quot; id=&quot;link-id161dc678&quot;&gt;RDB2RDF XG&lt;/a&gt;, a W3C incubator group, has been active in this area since Spring, 2008.&lt;/p&gt; &lt;h3&gt;But why an OLTP workload with RDF to begin with?&lt;/h3&gt; &lt;p&gt;We believe this is relevant because RDF promises to be the interoperability factor between potentially all of traditional IS. If &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xabe48a0&quot;&gt;data&lt;/a&gt; is online for human consumption, it may be online via a &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id106a8908&quot;&gt;SPARQL&lt;/a&gt; end-point as well. The economic justification will come from discoverability and from applications integrating multi-source structured data. Online shopping is a fine use case.&lt;/p&gt; &lt;p&gt;Warehousing all the world&amp;#39;s publishable data as RDF is not our first preference, nor would it be the publisher&amp;#39;s. Considerations of duplicate infrastructure and maintenance are reason enough. Consequently, we need to show that mapping can outperform an RDF warehouse, which is what we&amp;#39;ll do here.&lt;/p&gt; &lt;h3&gt;What We Got &lt;/h3&gt; &lt;p&gt;First, we found that &lt;a href=&quot;http://www.openlinksw.com/dataspace/oerling/weblog/Orri%20Erling%27s%20Blog/1400&quot; id=&quot;link-id150ea748&quot;&gt;making the query plan took much too long&lt;/a&gt; in proportion to the run time. With BSBM this is an issue because the queries have lots of joins but access relatively little data. So we made a faster compiler and along the way retouched the cost model a bit.&lt;/p&gt; &lt;p&gt;But the really interesting part with BSBM is mapping relational data to RDF. For us, BSBM is a great way of showing that mapping can outperform even the best triple store. A relational row store is as good as unbeatable with the query mix. And when there is a clear mapping, there is no reason the &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x96bb5e0&quot;&gt;SPARQL&lt;/a&gt; could not be directly translated.&lt;/p&gt; &lt;p&gt;If Chris Bizer et al launched the mapping ship, we will be the ones to pilot it to harbor!&lt;/p&gt; &lt;p&gt;We filled two &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id12dbdc70&quot;&gt;Virtuoso&lt;/a&gt; instances with a BSBM200000 data set, for 100M triples. One was filled with physical triples; the other was filled with the equivalent relational data plus mapping to triples. Performance figures are given in &amp;quot;query mixes per hour&amp;quot;. (An update or follow-on to this post will provide elapsed times for each test run.)&lt;/p&gt; &lt;p&gt;With the unmodified benchmark we got:&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt;1297 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt;&lt;b&gt;3144 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;In both cases, most of the time was spent on Q6, which looks for products with one of three words in the label. We altered Q6 to use text index for the mapping, and altered the databases accordingly. (There is no such thing as an e-commerce site without a text index, so we are amply justified in making this change.)&lt;/p&gt; &lt;p&gt;The following were measured on the second run of a 100 query mix series, single test driver, warm cache.&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; 5746 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; &lt;b&gt;7525 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;We then ran the same with 4 concurrent instances of the test driver. The qmph here is 400 / the longest run time.&lt;/p&gt; &lt;blockquote&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Physical Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; 19459 qmph&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;i&gt;Mapped Triples:&lt;/i&gt; &lt;/td&gt; &lt;td&gt;Â  Â &lt;/td&gt; &lt;td&gt; &lt;b&gt;24531 qmph&lt;/b&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/blockquote&gt; &lt;p&gt;The system used was 64-bit Linux, 2GHz dual-Xeon 5130 (8 cores) with 8G RAM. The concurrent throughputs are a little under 4 times the single thread throughput, which is normal for SMP due to memory contention. The numbers do not evidence significant overhead from thread synchronization.&lt;/p&gt; &lt;p&gt;The query compilation represents about 1/3 of total server side CPU. In an actual online application of this type, queries would be parameterized, so the throughputs would be accordingly higher. We used the &lt;code&gt;StopCompilerWhenXOverRunTime = 1&lt;/code&gt; option here to cut needless compiler overhead, the queries being straightforward enough.&lt;/p&gt; &lt;p&gt;We also see that the advantage of mapping can be further increased by more compiler optimizations, so we expect in the end mapping will lead RDF warehousing by a factor of 4 or so.&lt;/p&gt; &lt;h3&gt;Suggestions for BSBM&lt;/h3&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Reporting Rules.&lt;/b&gt; The benchmark spec should specify a form for disclosure of test run data, TPC style. This includes things like configuration parameters and exact text of queries. There should be accepted variants of query text, as with the TPC.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Multiuser operation.&lt;/b&gt; The test driver should get a stream number as parameter, so that each client makes a different query sequence. Also, disk performance in this type of benchmark can only be reasonably assessed with a naturally parallel multiuser workload.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Add business intelligence.&lt;/b&gt; SPARQL has aggregates now, at least with &lt;a href=&quot;http://jena.sourceforge.net/&quot; id=&quot;link-id11a25ac0&quot;&gt;Jena&lt;/a&gt; and &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0xa83f490&quot;&gt;Virtuoso&lt;/a&gt;, so let&amp;#39;s use these. The BSBM business intelligence metric should be a separate metric off the same data. Adding synthetic sales figures would make more interesting queries possible. For example, producing recommendations like &amp;quot;customers who bought this also bought xxx.&amp;quot;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;For the SPARQL community&lt;/b&gt;, BSBM sends the message that one ought to support parameterized queries and stored procedures. This would be a &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id109e2448&quot;&gt;SPARQL protocol&lt;/a&gt; extension; the SPARUL syntax should also have a way of calling a procedure. Something like &lt;code&gt;select proc (??, ??)&lt;/code&gt; would be enough, where &lt;code&gt;??&lt;/code&gt; is a parameter marker, like &lt;code&gt;?&lt;/code&gt; in &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id13febf48&quot;&gt;ODBC&lt;/a&gt;/&lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id120416a8&quot;&gt;JDBC&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;b&gt;Add transactions.&lt;/b&gt;Especially if we are contrasting mapping vs. storing triples, having an update flow is relevant. In practice, this could be done by having the test driver send web service requests for order entry and the SUT could implement these as updates to the triples or a mapped relational store. This could use stored procedures or logic in an app server.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;h3&gt;Comments on Query Mix&lt;/h3&gt; &lt;p&gt;The time of most queries is less than linear to the scale factor. Q6 is an exception if it is not implemented using a text index. Without the text index, Q6 will inevitably come to dominate query time as the scale is increased, and thus will make the benchmark less relevant at larger scales.&lt;/p&gt; &lt;h2&gt;Next&lt;/h2&gt; &lt;p&gt;We include the sources of our RDF view definitions and other material for running BSBM with our forthcoming Virtuoso Open Source 5.0.8 release. This also includes all the query optimization work done for BSBM. This will be available in the coming days.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>ESWC 2008</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2008-06-09#1379</atom:id>
  <atom:published>2008-06-09T14:02:16Z</atom:published>
  <atom:updated>2008-06-11T13:15:33-04:00</atom:updated>
  <atom:content type="html">&lt;div&gt; &lt;div style=&quot;display:none;&quot;&gt;ESWC 2008&lt;/div&gt; &lt;p&gt;YrjÃ¤nÃ¤ Rankka and I attended &lt;a href=&quot;http://www.eswc2008.org/&quot; id=&quot;link-id10b7a038&quot;&gt;ESWC2008&lt;/a&gt; on behalf of OpenLink.&lt;/p&gt; &lt;p&gt;We were invited at the last minute to give a &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id105df758&quot;&gt;Linked Open Data&lt;/a&gt; talk at Paolo Bouquet&amp;#39;s Identity and Reference workshop. We also had a demo of &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id12eacca0&quot;&gt;SPARQL&lt;/a&gt; BI (&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VirtPresentations/ESWC2008%20SPARQL%20BI%20OpenLink.ppt&quot; id=&quot;link-id10b43e58&quot;&gt;PPT&lt;/a&gt;); &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VirtPresentations&quot; id=&quot;link-id1116d8f0&quot;&gt;other formats coming soon&lt;/a&gt;), our business intelligence extensions to &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x16c9bfc8&quot;&gt;SPARQL&lt;/a&gt; as well as joining between relational &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id10badc40&quot;&gt;data&lt;/a&gt; mapped to &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id108edaf8&quot;&gt;RDF&lt;/a&gt; and native &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x181a5ed8&quot;&gt;RDF&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x17e69910&quot;&gt;data&lt;/a&gt;. i was also speaking at the social networks panel chaired by Harry Halpin.&lt;/p&gt; &lt;p&gt;I have gathered a few impressions that I will share in the next few posts (&lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1375&quot; id=&quot;link-id107298e0&quot;&gt;1 - RDF Mapping&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1376&quot; id=&quot;link-id10b3a530&quot;&gt;2 - DARQ&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1377&quot; id=&quot;link-id107290e0&quot;&gt;3 - voiD&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1378&quot; id=&quot;link-id1071a950&quot;&gt;4 - Paradigmata&lt;/a&gt;). &lt;i&gt;Caveat: This is not meant to be complete or impartial press coverage of the event but rather some quick comments on issues of personal/OpenLink interest. The fact that I do not mention something does not mean that it is unimportant.&lt;/i&gt; &lt;/p&gt; &lt;h2&gt;The voiD Graph&lt;/h2&gt; &lt;p&gt; &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x1a87f110&quot;&gt;Linked Open Data&lt;/a&gt; was well represented, with Chris Bizer, Tom Heath, ourselves and many others. The great advance for &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id108f3c48&quot;&gt;LOD&lt;/a&gt; this time around is &lt;a href=&quot;http://community.linkeddata.org/MediaWiki/index.php?MetaLOD#Kick-off_meeting_at_ESWC08&quot; id=&quot;link-id10df9830&quot;&gt;voiD, the Vocabulary of Interlinked Datasets&lt;/a&gt;, a means to describe what in fact is inside the &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x1a089980&quot;&gt;LOD&lt;/a&gt; cloud, how to join it with what and so forth. Big time important if there is to be a &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1377&quot; id=&quot;link-iddf74578&quot;&gt;web of federatable data sources&lt;/a&gt;, feeding directly into what we have been saying for a while about SPARQL end-point self-description and discovery. There is reasonable hope of having something by the date of &lt;a href=&quot;http://www.linkeddataplanet.com/&quot; id=&quot;link-id10dd0848&quot;&gt;Linked Data Planet&lt;/a&gt; in a couple of weeks.&lt;/p&gt; &lt;h2&gt;Federating&lt;/h2&gt; &lt;p&gt;Bastian Quilitz gave a talk about his &lt;a href=&quot;http://darq.sourceforge.net/&quot; id=&quot;link-id108746e8&quot;&gt;DARQ&lt;/a&gt;, a federated version of Jena&amp;#39;s ARQ.&lt;/p&gt; &lt;p&gt;Something like &lt;a href=&quot;http://darq.sourceforge.net/&quot; id=&quot;link-id0x1a2d9860&quot;&gt;DARQ&lt;/a&gt;&amp;#39;s optimization statistics should make their way into the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id10992348&quot;&gt;SPARQL protocol&lt;/a&gt; as well as the voiD data set description.&lt;/p&gt; &lt;p&gt;We really need federation but more on this in &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1376&quot; id=&quot;link-id1059d688&quot;&gt;a separate post&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt; &lt;a href=&quot;http://xsparql.deri.ie/&quot; id=&quot;link-id10314308&quot;&gt;XSPARQL&lt;/a&gt; &lt;/h2&gt; &lt;p&gt;Axel Polleres et al had a paper about &lt;a href=&quot;http://xsparql.deri.ie/&quot; id=&quot;link-id0x1ad77490&quot;&gt;XSPARQL&lt;/a&gt;, a merge of &lt;a href=&quot;http://dbpedia.org/resource/XQuery&quot; id=&quot;link-id10b98e90&quot;&gt;XQuery&lt;/a&gt; and SPARQL. While visiting DERI a couple of weeks back and again at the conference, we talked about OpenLink implementing the spec. It is evident that the engines must be in the same process and not communicate via the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id0x17e75190&quot;&gt;SPARQL protocol&lt;/a&gt; for this to be practical. We could do this. We&amp;#39;ll have to see when.&lt;/p&gt; &lt;p&gt;Politically, using &lt;a href=&quot;http://dbpedia.org/resource/XQuery&quot; id=&quot;link-id0x18a9bf10&quot;&gt;XQuery&lt;/a&gt; to give expressions and XML synthesis to SPARQL would be fitting. These things are needed anyhow, as surely as aggregation and sub-queries but the latter would not so readily come from XQuery. Some rapprochement between RDF and XML folks is desirable anyhow.&lt;/p&gt; &lt;h2&gt;Panel: Will the Sem Web Rise to the Challenge of the Social Web?&lt;/h2&gt; &lt;p&gt;The social web panel presented the question of whether the sem web was ready for prime time with data portability.&lt;/p&gt; &lt;p&gt;The main thrust was expressed in Harry Halpin&amp;#39;s rousing closing words: &amp;quot;Men will fight in a battle and lose a battle for a cause they believe in. Even if the battle is lost, the cause may come back and prevail, this time changed and under a different name. Thus, there may well come to be something like our &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id122f4da0&quot;&gt;semantic web&lt;/a&gt;, but it may not be the one we have worked all these years to build if we do not rise to the occasion before us right now.&amp;quot;&lt;/p&gt; &lt;p&gt;So, how to do this? Dan Brickley asked the audience how many supported, or were aware of, the latest Web 2.0 things, such as &lt;a href=&quot;http://dbpedia.org/page/OAuth&quot; id=&quot;link-idf300bc0&quot;&gt;OAuth&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/page/OpenID&quot; id=&quot;link-id10ce7a40&quot;&gt;OpenID&lt;/a&gt;. A few were. The general idea was that research (after all, this was a research event) should be more integrated and open to the world at large, not living at the &amp;quot;outdated pace&amp;quot; of a 3 year funding cycle. Stefan Decker of DERI acquiesced in principle. Of course there is impedance mismatch between specialization and interfacing with everything.&lt;/p&gt; &lt;p&gt;I said that triples and vocabularies existed, that OpenLink had &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id1210dbf8&quot;&gt;ODS&lt;/a&gt; (&lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id11076be8&quot;&gt;OpenLink Data Spaces&lt;/a&gt;, &lt;a href=&quot;http://community.linkeddata.org/&quot; id=&quot;link-id10d46710&quot;&gt;Community LinkedData&lt;/a&gt;) for managing one&amp;#39;s data-web presence, but that scale would be the next thing. Rather large scale even, with 100 gigatriples (Gtriples) reached before one even noticed. It takes a lot of PCs to host this, maybe $400K worth at today&amp;#39;s prices, without replication. Count 16G ram and a few cores per Gtriple so that one is not waiting for disk all the time.&lt;/p&gt; &lt;p&gt;The tricks that Web 2.0 silos do with app-specific data structures and app-specific partitioning do not really work for RDF without compromising the whole point of smooth schema evolution and tolerance of ragged data.&lt;/p&gt; &lt;p&gt;So, simple vocabularies, minimal inference, minimal blank nodes. Besides, note that the inference will have to be done at run time, not forward-chained at load time, if only because users will not agree on what sameAs and other declarations they want for their queries. Not to mention spam or malicious sameAs declarations!&lt;/p&gt; &lt;p&gt;As always, there was the question of business models for the open data web and for semantic technologies in general. As we see it, &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id108b7688&quot;&gt;information&lt;/a&gt; overload is the factor driving the demand. Better contextuality will justify semantic technologies. Due to the large volumes and complex processing, a data-as-service model will arise. The data may be open, but its query infrastructure, cleaning, and keeping up-to-date, can be monetized as services.&lt;/p&gt; &lt;h2&gt;Identity and Reference&lt;/h2&gt; &lt;p&gt;For the identity and reference workshop, the ultimate question is metaphysical and has no single universal answer, even though people, ever since the dawn of time and earlier, have occupied themselves with the issue. Consequently, I started with the Genesis quote where Adam called things by &lt;i&gt;nominibus suis&lt;/i&gt;, off-hand implying that things would have some intrinsic ontologically-due names. This would be among the older references to the question, at least in widely known sources.&lt;/p&gt; &lt;p&gt;For present purposes, the consensus seemed to be that what would be considered the same as something else depended entirely on the application. What was similar enough to warrant a sameAs for cooking purposes might not warrant a sameAs for chemistry. In fact, complete and exact sameness for URIs would be very rare. So, instead of making generic weak similarity assertions like similarTo or seeAlso, one would choose a set of strong sameAs assertions and have these in effect for query answering if they were appropriate to the granularity demanded by the application.&lt;/p&gt; &lt;p&gt;Therefore sameAs is our permanent companion, and there will in time be malicious and spam sameAs. So, nothing much should be materialized on the basis of sameAs assertions in an &lt;a href=&quot;http://dbpedia.org/resource/Open_world_assumption&quot; id=&quot;link-id10c4dfd0&quot;&gt;open world&lt;/a&gt;. For an app-specific warehouse, sameAs can be resolved at load time.&lt;/p&gt; &lt;p&gt;There was naturally some apparent tension between the Occam camp of &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id105fd240&quot;&gt;entity&lt;/a&gt; name services and the LOD camp. I would say that the issue is more a perceived polarity than a real one. People will, inevitably, continue giving things names regardless of any centralized authority. Just look at natural language. But having a dictionary that is commonly accepted for established domains of discourse is immensely helpful.&lt;/p&gt; &lt;h2&gt;CYC and NLP&lt;/h2&gt; &lt;p&gt;The semantic search workshop was interesting, especially CYC&amp;#39;s presentation. CYC is, as it were, the grand old man of &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id10568158&quot;&gt;knowledge&lt;/a&gt; representation. Over the long term, I would have support of the CYC inference language inside a database query processor. This would mostly be for repurposing the huge &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x1acff9d0&quot;&gt;knowledge&lt;/a&gt; base for helping in search type queries. If it is for transactions or financial reporting, then queries will be &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id130a0a80&quot;&gt;SQL&lt;/a&gt; and make little or no use of any sort of inference. If it is for summarization or finding things, the opposite holds. For scaling, the issue is just making correct cardinality guesses for query planning, which is harder when inference is involved. We&amp;#39;ll see.&lt;/p&gt; &lt;p&gt;I will also have a closer look at natural language one of these days, quite inevitably, since &lt;a href=&quot;http://zitgist.com/about/&quot; id=&quot;link-id10795828&quot;&gt;Zitgist&lt;/a&gt; (for example) is into &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x18a12918&quot;&gt;entity&lt;/a&gt; disambiguation.&lt;/p&gt; &lt;h2&gt;Scale&lt;/h2&gt; &lt;p&gt;Garlic gave a talk about their Data Patrol and QDOS. We agree that storing the data for these as triples instead of 1000 or so constantly changing relational tables could well make the difference between next-to-unmanageable and efficiently adaptive.&lt;/p&gt; &lt;p&gt;Garlic probably has the largest triple collection in constant online use to date. We will soon join them with our hosting of the whole LOD cloud and &lt;a href=&quot;http://sindice.org/&quot; id=&quot;link-id0x17f18a38&quot;&gt;Sindice&lt;/a&gt;/&lt;a href=&quot;http://zitgist.com/about/&quot; id=&quot;link-id0x184e9e90&quot;&gt;Zitgist&lt;/a&gt; as triples.&lt;/p&gt; &lt;h2&gt;Conclusions&lt;/h2&gt; &lt;p&gt;There is a mood to deliver applications. Consequently, scale remains a central, even the principal topic. So for now we make bigger centrally-managed databases. At the next turn around the corner we will have to turn to federation. The point here is that a planetary-scale, centrally-managed, online system can be made when the workload is uniform and anticipatable, but if it is free-form queries and complex analysis, we have a problem. So we move in the direction of federating and charging based on usage whenever the workload is more complex than making simple lookups now and then.&lt;/p&gt; &lt;p&gt;For the &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id1026ac28&quot;&gt;Virtuoso&lt;/a&gt; roadmap, this changes little. Next we make data sets available on Amazon EC2, as widely promised at ESWC. With big scale also comes rescaling and repartitioning, so this gets additional weight, as does further parallelizing of single user workloads. As it happens, the same medicine helps for both. At &lt;a href=&quot;http://www.linkeddataplanet.com/&quot; id=&quot;link-id0x17ff5c20&quot;&gt;Linked Data Planet&lt;/a&gt;, we will make more announcements.&lt;/p&gt; &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>ESWC 2008</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2008-06-09#1374</atom:id>
  <atom:published>2008-06-09T13:49:15Z</atom:published>
  <atom:updated>2008-06-11T13:15:11.000008-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;YrjÃ¤nÃ¤ Rankka and I attended &lt;a href=&quot;http://www.eswc2008.org/&quot; id=&quot;link-id10b7a038&quot;&gt;ESWC2008&lt;/a&gt; on behalf of OpenLink.&lt;/p&gt; &lt;p&gt;We were invited at the last minute to give a &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id105df758&quot;&gt;Linked Open Data&lt;/a&gt; talk at Paolo Bouquet&amp;#39;s Identity and Reference workshop. We also had a demo of &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id12eacca0&quot;&gt;SPARQL&lt;/a&gt; BI (&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VirtPresentations/ESWC2008%20SPARQL%20BI%20OpenLink.ppt&quot; id=&quot;link-id10b43e58&quot;&gt;PPT&lt;/a&gt;); &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VirtPresentations&quot; id=&quot;link-id1116d8f0&quot;&gt;other formats coming soon&lt;/a&gt;), our business intelligence extensions to &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x1843a368&quot;&gt;SPARQL&lt;/a&gt; as well as joining between relational &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id10badc40&quot;&gt;data&lt;/a&gt; mapped to &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id108edaf8&quot;&gt;RDF&lt;/a&gt; and native &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1843a3b0&quot;&gt;RDF&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x1843a3c8&quot;&gt;data&lt;/a&gt;. i was also speaking at the social networks panel chaired by Harry Halpin.&lt;/p&gt; &lt;p&gt;I have gathered a few impressions that I will share in the next few posts (&lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1375&quot; id=&quot;link-id107298e0&quot;&gt;1 - RDF Mapping&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1376&quot; id=&quot;link-id10b3a530&quot;&gt;2 - DARQ&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1377&quot; id=&quot;link-id107290e0&quot;&gt;3 - voiD&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1378&quot; id=&quot;link-id1071a950&quot;&gt;4 - Paradigmata&lt;/a&gt;). &lt;i&gt;Caveat: This is not meant to be complete or impartial press coverage of the event but rather some quick comments on issues of personal/OpenLink interest. The fact that I do not mention something does not mean that it is unimportant.&lt;/i&gt; &lt;/p&gt; &lt;h2&gt;The voiD Graph&lt;/h2&gt; &lt;p&gt; &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x16c781e0&quot;&gt;Linked Open Data&lt;/a&gt; was well represented, with Chris Bizer, Tom Heath, ourselves and many others. The great advance for &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id108f3c48&quot;&gt;LOD&lt;/a&gt; this time around is &lt;a href=&quot;http://community.linkeddata.org/MediaWiki/index.php?MetaLOD#Kick-off_meeting_at_ESWC08&quot; id=&quot;link-id10df9830&quot;&gt;voiD, the Vocabulary of Interlinked Datasets&lt;/a&gt;, a means to describe what in fact is inside the &lt;a href=&quot;http://community.linkeddata.org/dataspace/organization/lod#this&quot; id=&quot;link-id0x16c78228&quot;&gt;LOD&lt;/a&gt; cloud, how to join it with what and so forth. Big time important if there is to be a &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1377&quot; id=&quot;link-iddf74578&quot;&gt;web of federatable data sources&lt;/a&gt;, feeding directly into what we have been saying for a while about SPARQL end-point self-description and discovery. There is reasonable hope of having something by the date of &lt;a href=&quot;http://www.linkeddataplanet.com/&quot; id=&quot;link-id10dd0848&quot;&gt;Linked Data Planet&lt;/a&gt; in a couple of weeks.&lt;/p&gt; &lt;h2&gt;Federating&lt;/h2&gt; &lt;p&gt;Bastian Quilitz gave a talk about his &lt;a href=&quot;http://darq.sourceforge.net/&quot; id=&quot;link-id108746e8&quot;&gt;DARQ&lt;/a&gt;, a federated version of Jena&amp;#39;s ARQ.&lt;/p&gt; &lt;p&gt;Something like &lt;a href=&quot;http://darq.sourceforge.net/&quot; id=&quot;link-id0x16c782e8&quot;&gt;DARQ&lt;/a&gt;&amp;#39;s optimization statistics should make their way into the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id10992348&quot;&gt;SPARQL protocol&lt;/a&gt; as well as the voiD data set description.&lt;/p&gt; &lt;p&gt;We really need federation but more on this in &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1376&quot; id=&quot;link-id1059d688&quot;&gt;a separate post&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt; &lt;a href=&quot;http://xsparql.deri.ie/&quot; id=&quot;link-id10314308&quot;&gt;XSPARQL&lt;/a&gt; &lt;/h2&gt; &lt;p&gt;Axel Polleres et al had a paper about &lt;a href=&quot;http://xsparql.deri.ie/&quot; id=&quot;link-id0x1a2d8458&quot;&gt;XSPARQL&lt;/a&gt;, a merge of &lt;a href=&quot;http://dbpedia.org/resource/XQuery&quot; id=&quot;link-id10b98e90&quot;&gt;XQuery&lt;/a&gt; and SPARQL. While visiting DERI a couple of weeks back and again at the conference, we talked about OpenLink implementing the spec. It is evident that the engines must be in the same process and not communicate via the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id0x1d99c1d0&quot;&gt;SPARQL protocol&lt;/a&gt; for this to be practical. We could do this. We&amp;#39;ll have to see when.&lt;/p&gt; &lt;p&gt;Politically, using &lt;a href=&quot;http://dbpedia.org/resource/XQuery&quot; id=&quot;link-id0x1acae1f0&quot;&gt;XQuery&lt;/a&gt; to give expressions and XML synthesis to SPARQL would be fitting. These things are needed anyhow, as surely as aggregation and sub-queries but the latter would not so readily come from XQuery. Some rapprochement between RDF and XML folks is desirable anyhow.&lt;/p&gt; &lt;h2&gt;Panel: Will the Sem Web Rise to the Challenge of the Social Web?&lt;/h2&gt; &lt;p&gt;The social web panel presented the question of whether the sem web was ready for prime time with data portability.&lt;/p&gt; &lt;p&gt;The main thrust was expressed in Harry Halpin&amp;#39;s rousing closing words: &amp;quot;Men will fight in a battle and lose a battle for a cause they believe in. Even if the battle is lost, the cause may come back and prevail, this time changed and under a different name. Thus, there may well come to be something like our &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id122f4da0&quot;&gt;semantic web&lt;/a&gt;, but it may not be the one we have worked all these years to build if we do not rise to the occasion before us right now.&amp;quot;&lt;/p&gt; &lt;p&gt;So, how to do this? Dan Brickley asked the audience how many supported, or were aware of, the latest Web 2.0 things, such as &lt;a href=&quot;http://dbpedia.org/page/OAuth&quot; id=&quot;link-idf300bc0&quot;&gt;OAuth&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/page/OpenID&quot; id=&quot;link-id10ce7a40&quot;&gt;OpenID&lt;/a&gt;. A few were. The general idea was that research (after all, this was a research event) should be more integrated and open to the world at large, not living at the &amp;quot;outdated pace&amp;quot; of a 3 year funding cycle. Stefan Decker of DERI acquiesced in principle. Of course there is impedance mismatch between specialization and interfacing with everything.&lt;/p&gt; &lt;p&gt;I said that triples and vocabularies existed, that OpenLink had &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id1210dbf8&quot;&gt;ODS&lt;/a&gt; (&lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id11076be8&quot;&gt;OpenLink Data Spaces&lt;/a&gt;, &lt;a href=&quot;http://community.linkeddata.org/&quot; id=&quot;link-id10d46710&quot;&gt;Community LinkedData&lt;/a&gt;) for managing one&amp;#39;s data-web presence, but that scale would be the next thing. Rather large scale even, with 100 gigatriples (Gtriples) reached before one even noticed. It takes a lot of PCs to host this, maybe $400K worth at today&amp;#39;s prices, without replication. Count 16G ram and a few cores per Gtriple so that one is not waiting for disk all the time.&lt;/p&gt; &lt;p&gt;The tricks that Web 2.0 silos do with app-specific data structures and app-specific partitioning do not really work for RDF without compromising the whole point of smooth schema evolution and tolerance of ragged data.&lt;/p&gt; &lt;p&gt;So, simple vocabularies, minimal inference, minimal blank nodes. Besides, note that the inference will have to be done at run time, not forward-chained at load time, if only because users will not agree on what sameAs and other declarations they want for their queries. Not to mention spam or malicious sameAs declarations!&lt;/p&gt; &lt;p&gt;As always, there was the question of business models for the open data web and for semantic technologies in general. As we see it, &lt;a href=&quot;http://dbpedia.org/resource/Information&quot; id=&quot;link-id108b7688&quot;&gt;information&lt;/a&gt; overload is the factor driving the demand. Better contextuality will justify semantic technologies. Due to the large volumes and complex processing, a data-as-service model will arise. The data may be open, but its query infrastructure, cleaning, and keeping up-to-date, can be monetized as services.&lt;/p&gt; &lt;h2&gt;Identity and Reference&lt;/h2&gt; &lt;p&gt;For the identity and reference workshop, the ultimate question is metaphysical and has no single universal answer, even though people, ever since the dawn of time and earlier, have occupied themselves with the issue. Consequently, I started with the Genesis quote where Adam called things by &lt;i&gt;nominibus suis&lt;/i&gt;, off-hand implying that things would have some intrinsic ontologically-due names. This would be among the older references to the question, at least in widely known sources.&lt;/p&gt; &lt;p&gt;For present purposes, the consensus seemed to be that what would be considered the same as something else depended entirely on the application. What was similar enough to warrant a sameAs for cooking purposes might not warrant a sameAs for chemistry. In fact, complete and exact sameness for URIs would be very rare. So, instead of making generic weak similarity assertions like similarTo or seeAlso, one would choose a set of strong sameAs assertions and have these in effect for query answering if they were appropriate to the granularity demanded by the application.&lt;/p&gt; &lt;p&gt;Therefore sameAs is our permanent companion, and there will in time be malicious and spam sameAs. So, nothing much should be materialized on the basis of sameAs assertions in an &lt;a href=&quot;http://dbpedia.org/resource/Open_world_assumption&quot; id=&quot;link-id10c4dfd0&quot;&gt;open world&lt;/a&gt;. For an app-specific warehouse, sameAs can be resolved at load time.&lt;/p&gt; &lt;p&gt;There was naturally some apparent tension between the Occam camp of &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id105fd240&quot;&gt;entity&lt;/a&gt; name services and the LOD camp. I would say that the issue is more a perceived polarity than a real one. People will, inevitably, continue giving things names regardless of any centralized authority. Just look at natural language. But having a dictionary that is commonly accepted for established domains of discourse is immensely helpful.&lt;/p&gt; &lt;h2&gt;CYC and NLP&lt;/h2&gt; &lt;p&gt;The semantic search workshop was interesting, especially CYC&amp;#39;s presentation. CYC is, as it were, the grand old man of &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id10568158&quot;&gt;knowledge&lt;/a&gt; representation. Over the long term, I would have support of the CYC inference language inside a database query processor. This would mostly be for repurposing the huge &lt;a href=&quot;http://dbpedia.org/resource/Knowledge&quot; id=&quot;link-id0x17f7dd40&quot;&gt;knowledge&lt;/a&gt; base for helping in search type queries. If it is for transactions or financial reporting, then queries will be &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id130a0a80&quot;&gt;SQL&lt;/a&gt; and make little or no use of any sort of inference. If it is for summarization or finding things, the opposite holds. For scaling, the issue is just making correct cardinality guesses for query planning, which is harder when inference is involved. We&amp;#39;ll see.&lt;/p&gt; &lt;p&gt;I will also have a closer look at natural language one of these days, quite inevitably, since &lt;a href=&quot;http://zitgist.com/about/&quot; id=&quot;link-id10795828&quot;&gt;Zitgist&lt;/a&gt; (for example) is into &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x1a2c8bd0&quot;&gt;entity&lt;/a&gt; disambiguation.&lt;/p&gt; &lt;h2&gt;Scale&lt;/h2&gt; &lt;p&gt;Garlic gave a talk about their Data Patrol and QDOS. We agree that storing the data for these as triples instead of 1000 or so constantly changing relational tables could well make the difference between next-to-unmanageable and efficiently adaptive.&lt;/p&gt; &lt;p&gt;Garlic probably has the largest triple collection in constant online use to date. We will soon join them with our hosting of the whole LOD cloud and &lt;a href=&quot;http://sindice.org/&quot; id=&quot;link-id0x1b383720&quot;&gt;Sindice&lt;/a&gt;/&lt;a href=&quot;http://zitgist.com/about/&quot; id=&quot;link-id0x1b383738&quot;&gt;Zitgist&lt;/a&gt; as triples.&lt;/p&gt; &lt;h2&gt;Conclusions&lt;/h2&gt; &lt;p&gt;There is a mood to deliver applications. Consequently, scale remains a central, even the principal topic. So for now we make bigger centrally-managed databases. At the next turn around the corner we will have to turn to federation. The point here is that a planetary-scale, centrally-managed, online system can be made when the workload is uniform and anticipatable, but if it is free-form queries and complex analysis, we have a problem. So we move in the direction of federating and charging based on usage whenever the workload is more complex than making simple lookups now and then.&lt;/p&gt; &lt;p&gt;For the &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id1026ac28&quot;&gt;Virtuoso&lt;/a&gt; roadmap, this changes little. Next we make data sets available on Amazon EC2, as widely promised at ESWC. With big scale also comes rescaling and repartitioning, so this gets additional weight, as does further parallelizing of single user workloads. As it happens, the same medicine helps for both. At &lt;a href=&quot;http://www.linkeddataplanet.com/&quot; id=&quot;link-id0x1a2c7eb0&quot;&gt;Linked Data Planet&lt;/a&gt;, we will make more announcements.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data Solution for Exposing OpenLink Product Portfolio</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-02-16#1317</atom:id>
  <atom:published>2008-02-16T21:08:17Z</atom:published>
  <atom:updated>2008-02-25T15:08:04-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;At &lt;a href=&quot;http://www.openlinksw.com&quot; id=&quot;link-id14a37688&quot;&gt;OpenLink Software&lt;/a&gt;, we&amp;#39;ve had an immense problem explaining the depth and breadth of our product porfolio via traditional Document Web pages. Thanks to &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id101bc330&quot;&gt;SPARQL&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id105d2d28&quot;&gt;Linked Data&lt;/a&gt;, we are now able to use &lt;a href=&quot;http://dbpedia.org/resource/Identity_%2528object-oriented_programming%2529&quot; id=&quot;link-id1341fbd0&quot;&gt;Web Data Object IDs&lt;/a&gt; (&lt;a href=&quot;http://dbpedia.org/resource/Hypertext_Transfer_Protocol&quot; id=&quot;link-idf101908&quot;&gt;HTTP&lt;/a&gt; based &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id135cd8a0&quot;&gt;URI&lt;/a&gt;s) to produce super SKUs for every item in our product portfolio. Even better, we are able to handle the additional challenge of exposing features and benefits which by their very nature are mercurial across an array of fronts (products releases, product formats, and supported platforms etc). &lt;/p&gt; &lt;p&gt; Now I can simply state the following using Linked Data (hyperdata) links:&lt;/p&gt; &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Software&quot; id=&quot;link-idfafc070&quot;&gt;OpenLink Software&lt;/a&gt;&amp;#39;s product porfolio is comprised of the following product families: &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_family/uda#this&quot; id=&quot;link-idf856aa8&quot;&gt;Universal Data Access Drivers Suite (UDA)&lt;/a&gt; for &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-idfc5f498&quot;&gt;ODBC&lt;/a&gt;, JDBC, &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-idfc20120&quot;&gt;ADO.NET&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/OLE_DB&quot; id=&quot;link-id11579a08&quot;&gt;OLE-DB&lt;/a&gt;, and &lt;a href=&quot;http://dbpedia.org/resource/XML_for_Analysis&quot; id=&quot;link-id1067d098&quot;&gt;XMLA&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_family/dca#this&quot; id=&quot;link-id1318b3f8&quot;&gt;OpenLink Data Spaces&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_family/virtuoso#this&quot; id=&quot;link-idf8d7ea0&quot;&gt;Virtuoso&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt; We no longer have to explain (repeatedly) why our drivers exist in &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_format/express#this&quot; id=&quot;link-idf76e1f0&quot;&gt;Express&lt;/a&gt;, &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_format/st#this&quot; id=&quot;link-idf861be8&quot;&gt;Lite&lt;/a&gt;, and &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_format/mt#this&quot; id=&quot;link-id128da1e0&quot;&gt;Multi-Tier&lt;/a&gt; Edition formats, or why you ultimately need Multi-Tier Drivers over Single Tier Drivers (Express or Lite Editions) since you ultimately heed &lt;a href=&quot;http://data.openlinksw.com/oplweb/product_format_feature/RulesEngineBasedSecurity#this&quot; id=&quot;link-idf8d70b0&quot;&gt;high-performance, data encryption, and policy based security&lt;/a&gt; across each of the data access driver formats.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Contd: Why we need Linked Data</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-02-11#1316</atom:id>
  <atom:published>2008-02-12T00:19:00Z</atom:published>
  <atom:updated>2008-02-26T08:16:43.000005-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Increasingly, I am encountering commentary from the &lt;a href=&quot;http://www.readwriteweb.com&quot; id=&quot;link-id166f5440&quot;&gt;ReadWriteWeb&lt;/a&gt; data space that highlights critical problems solved by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Linked_Data&quot; id=&quot;link-id1698f0e0&quot;&gt;Linked Data&lt;/a&gt; Web. Unfortunately, most of the time, there is a disconnect between the problem and the solution. By this I mean: technology in the Semantic Web realm isn&amp;#39;t seen as the solution.&lt;/p&gt; &lt;p&gt;A while back, I wrote a post titled:&lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1267&quot; id=&quot;link-id1676b440&quot;&gt;Why we need Linked Data&lt;/a&gt;. The aim of the post was to bring attention to the implications of &lt;a href=&quot;http://www.johnbreslin.com/blog/2008/01/23/an-interesting-talk-by-mike-brodie/&quot; id=&quot;link-id16f14740&quot;&gt;exponential growth of User Generated Content&lt;/a&gt; (typically, semi-structured and unstructured data) on the Web. The growth in question is occurring within a fixed data &amp;amp; information processing timeframe (i.e. there will always be 24hrs in a day), which sets the stage for Information Overload as expressed in a recent post from ReadWriteWeb titled: &lt;a href=&quot;http://www.readwriteweb.com/archives/visualizing_social_media_fatigue.php&quot; id=&quot;link-id164a6278&quot;&gt;Visualizing Social Media Fatigue&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The emerging &amp;quot;Web of Linked Data&amp;quot; augments the current &amp;quot;Web of Linked Documents&amp;quot;, by providing a structured data corpus partitioned by containers I prefer to call: Data Spaces. These spaces enable Linked Data aware solutions to deliver immense value such as, complex data graph traversal, starting from document beachheads, that expose relevant data within a faction of the time it would take to achieve the same thing using traditional document web methods such as full text search patterns, scraping, and mashing etc.&lt;/p&gt; &lt;p&gt;Remember, our DNA based data &amp;amp; information system far exceeds that of any inorganic system when it comes to reasoning, but it remains immensely incapable of accurately and efficiently processing huge volumes of data &amp;amp; information -- irrespective of data model.&lt;/p&gt; &lt;p&gt;The Idea behind the Semantic Web has always been about an evolution of the Web into a structured data collective comprised of interlinked Data items and Data Containers (Data Spaces). Of course we can argue forever about the Semantics of the solution (ironically), but we can&amp;#39;t shirk away from the impending challenges that &amp;quot;Information Overload&amp;quot; is about to unleash on our limited processing time and capabilities.&lt;/p&gt; &lt;p&gt;For those looking for a so called &amp;quot;killer application&amp;quot; for the Semantic Web, I would urge you to align this quest with the &amp;quot;Killer Problem&amp;quot; of our times, because when you do so you will that all routes lead to: Linked Data that leverages existing Web Architecture. &lt;/p&gt; &lt;p&gt;Once you understand the problem, you will hopefully understand that we all need some kind of &amp;quot;Data Junction Box&amp;quot; that provides a &amp;quot;Data Access Focal Point&amp;quot; for all of the data we splatter across the net as we sign up for the next greatest and latest Web X.X hosted service, or as we work on a daily basis with a variety of tools within enterprise Intranets.&lt;/p&gt; &lt;p&gt;BTW - these &amp;quot;Data Junction Boxes&amp;quot; will also need to be unobtrusively bound to our individual Identities. &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Additional OpenLink Data Spaces Features</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-02-09#1315</atom:id>
  <atom:published>2008-02-09T17:54:35Z</atom:published>
  <atom:updated>2008-02-11T11:38:03.000006-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://vanirsystems.com/danielsblog&quot; id=&quot;link-id13df7aa0&quot;&gt;Daniel Lewis&lt;/a&gt; has published another post about &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenLink_Data_Spaces&quot; id=&quot;link-id170b4ce8&quot;&gt;OpenLink Data Spaces&lt;/a&gt; (ODS) functionality titled:&lt;a href=&quot;http://vanirsystems.com/danielsblog/2008/02/09/a-few-new-features-in-openlink-data-spaces/#comments&quot; id=&quot;link-idf6ad9e8&quot;&gt;A few new features in OpenLink Data Spaces&lt;/a&gt;, that exposes additional features (some hot out the oven).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Space&quot; id=&quot;link-id16f42c90&quot;&gt;OpenLink Data Spaces (&lt;acronym title=&quot;OpenLink Data Spaces&quot;&gt;ODS&lt;/acronym&gt;)&lt;/a&gt; now officially supports:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://apml.pbwiki.com/&quot; id=&quot;link-id15baf3e0&quot;&gt;Attention Profiling Markup Language (&lt;acronym title=&quot;Attention Profiling Markup Language&quot;&gt;APML&lt;/acronym&gt;)&lt;/a&gt;.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://moat-project.org/&quot; id=&quot;link-iddd45db0&quot;&gt;Meaning of a Tag (&lt;acronym title=&quot;Meaning of a Tag&quot;&gt;MOAT&lt;/acronym&gt;)&lt;/a&gt; in conjunction with &lt;a href=&quot;http://dbpedia.org/resource/SKOS&quot; id=&quot;link-id14b97300&quot;&gt;Simple Knowledge Organisation System (SKOS)&lt;/a&gt; and &lt;a href=&quot;http://scot-project.org/&quot; id=&quot;link-id16e84910&quot;&gt;Social-Semantic Cloud of Tags (&lt;acronym title=&quot;Social-Semantic Cloud of Tags&quot;&gt;SCOT&lt;/acronym&gt;)&lt;/a&gt;.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://oauth.net/&quot; id=&quot;link-id13e5ae50&quot;&gt;OAuth - an Open Authentication Protocol&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Which means that OpenLink Data Spaces support all of the main standards being discussed in the DataPortability Interest Group!&lt;/p&gt; &lt;p&gt; &lt;strong&gt;&lt;em&gt;APML Example:&lt;/em&gt; &lt;/strong&gt; &lt;/p&gt; &lt;p&gt;All users of ODS automatically get a dynamically created APML file, for example: &lt;a href=&quot;http://myopenlink.net/dataspace/kidehen/apml.xml&quot; id=&quot;link-id14b59220&quot;&gt;APML profile&lt;/a&gt; for &lt;a href=&quot;http://myopenlink.net/dataspace/kidehen#this&quot; id=&quot;link-id13dbb298&quot;&gt;Kingsley Idehen&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The URI for an APML profile is: http://myopenlink.net/dataspace/&amp;lt;ods-username&amp;gt;/apml.xml&lt;/p&gt; &lt;p&gt; &lt;em&gt;&lt;strong&gt;Meaning of a Tag Example:&lt;/strong&gt; &lt;/em&gt; &lt;/p&gt; &lt;p&gt;All users of ODS automatically have tag cloud information embedded inside their &lt;a href=&quot;http://dbpedia.org/resource/SIOC&quot; id=&quot;link-idf7182c8&quot;&gt;&lt;acronym title=&quot;Semantically Interlinked Online Communities&quot;&gt;SIOC&lt;/acronym&gt;&lt;/a&gt; file, for example: SIOC for Kingsley Idehen on the Myopenlink.net installation of ODS.&lt;/p&gt; &lt;p&gt;But even better, MOAT has been implemented in the ODS Tagging System. This has been demonstrated in a recent test blog post by my colleague Mitko Iliev, the blog post comes up on the tag search: &lt;a href=&quot;http://myopenlink.net/dataspace/imitko/weblog/Mitko%27s%20Weblog/tag/paris&quot; id=&quot;link-idfc14cf0&quot;&gt;http://myopenlink.net/dataspace/imitko/weblog/Mitko%27s%20Weblog/tag/paris&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Which can be put through the &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/&quot; id=&quot;link-id14954fc8&quot;&gt;OpenLink Data Browser&lt;/a&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/?uri=http%3A%2F%2Fmyopenlink.net%2Fdataspace%2Fimitko%2Fweblog%2FMitko%2527s%2520Weblog%2Ftag%2Fparis&quot; id=&quot;link-id164edd88&quot;&gt;OpenLink Data Browser with Mitko Ilievâs Paris Blog Tag&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;strong&gt;&lt;em&gt;OAuth Example:&lt;/em&gt; &lt;/strong&gt; &lt;/p&gt; &lt;p&gt;OAuth Tokens and Secrets can be created for any ODS application. To do this:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; you can log in to &lt;a href=&quot;http://myopenlink.net:8890/ods/index.html&quot; id=&quot;link-id167224c0&quot;&gt;MyOpenlink.net&lt;/a&gt; beta service, the &lt;a href=&quot;http://demo.openlinksw.com/ods/index.html&quot; id=&quot;link-id169733d8&quot;&gt;Live Demo ODS installation&lt;/a&gt;, an &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1261&quot; id=&quot;link-id14b2d380&quot;&gt;EC2 instance&lt;/a&gt;, or your local installation&lt;/li&gt; &lt;li&gt;then go to âSettingsâ&lt;/li&gt; &lt;li&gt;and then you will see âOAuth Keysâ&lt;/li&gt; &lt;li&gt;you will then be able to choose the applications that you have instantiated and generate the token and secret for that &lt;abbr title=&quot;application&quot;&gt;app&lt;/abbr&gt;.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt; &lt;strong&gt;Related Document (Human) Links&lt;/strong&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/Ods&quot; id=&quot;link-id16d1c2d8&quot;&gt;OpenLink Data Spaces Official Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/&quot; id=&quot;link-id16d8c500&quot;&gt;OpenLink Software Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenLink_Data_Spaces&quot; id=&quot;link-idf6b05f0&quot;&gt;OpenLink Data Spaces Wikipedia Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.apml.org/&quot; id=&quot;link-id12d8bbd0&quot;&gt;Attention Profiling Markup Language Project Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://moat-project.org/&quot; id=&quot;link-id137e7108&quot;&gt;Meaning of a Tag Project Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2004/02/skos/&quot; id=&quot;link-id110f1028&quot;&gt;Simple Knowledge Organisation Systems Project Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://scot-project.org/&quot; id=&quot;link-id14b8d1e0&quot;&gt;Social-Semantic Cloud of Tags Project Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://oauth.net/&quot; id=&quot;link-id12da2dd0&quot;&gt;OAuth Protocol Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.dataportability.org/&quot; id=&quot;link-id13f52e08&quot;&gt;DataPortability.org Website&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.sioc-project.org/&quot; id=&quot;link-id15ebb6a0&quot;&gt;Semantically Interlinked Online Communities Project Website&lt;br /&gt; &lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/blockquote&gt; &lt;p&gt;Remember (as per my &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1314&quot; id=&quot;link-id16ea8bb8&quot;&gt;most recent post about ODS&lt;/a&gt;), ODS is about unobtrusive fusion of Web 1.0, 2.0, and 3.0+ usage and interaction patterns. Thanks to a lot of recent standardization in the Semantic Web realm (e.g SPARQL), we are now employ the MOAT, SKOS, and SCOT ontologies as vehicles for Structured Tagging.&lt;/p&gt; &lt;h2&gt;Structured Tagging?&lt;/h2&gt; &lt;p&gt;This is how we take a key &lt;a href=&quot;http://dbpedia.org/resource/Web_2.0&quot; id=&quot;link-id1884ac58&quot;&gt;Web 2.0 &lt;/a&gt;feature (think 2D in a sense), bend it over, to create a Linked Data Web (Web 3.0) experience unobtrusively (see &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=web%20dimensions&amp;type=text&amp;output=html&quot; id=&quot;link-id14b3d8a0&quot;&gt;earlier posts re. Dimensions of Web&lt;/a&gt;). Thus, nobody has to change how they tag or where they tag, just expose ODS to the URLs of your Web 2.0 tagged content and it will produce URIs (Structured Data Object Identifiers) and a lnked data graph for your Tags Data Space (nee. Tag Cloud). ODS will construct a graph which exposes tag subject association, tag concept alignment / intended meaning, and tag frequencies, that ultimately deliver &amp;quot;relative disambiguation&amp;quot; of intended Tag Meaning (i.e. you can easily discern the taggers meaning via the Tags actual Data Space which is associated with the tagger). In a nutshell, the dynamics of relevance matching, ranking, and the like, change immensely without futile timeless debates about matters such as: &lt;/p&gt; &lt;ul&gt;What&amp;#39;s the Linked Data value proposition?&lt;/ul&gt; &lt;ul&gt;What&amp;#39;s the Linked Data business model?&lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id105abcb0&quot;&gt;XML&lt;/a&gt; vs &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id14b27b28&quot;&gt;RDF&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://dbpedia.org/resource/XQuery&quot; id=&quot;link-id10572dd0&quot;&gt;XQuery&lt;/a&gt; vs &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id1326d4c8&quot;&gt;SPARQL&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt;What&amp;#39;s the Semantic Web Killer application?&lt;/ul&gt; &lt;p&gt;We can just get on with demonstrating Linked Data value using what exists on the Web today. This is the approach we are deliberately taking with ODS.&lt;/p&gt; &lt;h2&gt;Related Items&lt;/h2&gt; &lt;ul&gt; &lt;a href=&quot;http://www.betaversion.org/~stefano&quot; id=&quot;link-id170849b0&quot;&gt;Stefano Mazzocch&lt;/a&gt;&amp;#39;s &lt;a href=&quot;http://blogs.usnet.private:8893/linotype/news/85/&quot; id=&quot;link-idfde2e08&quot;&gt; response to Clay Shirky&amp;#39;s 2005 talk&lt;/a&gt; titled: &lt;a href=&quot;http://conferences.oreillynet.com/cs/et2005/view/e_sess/6117&quot; id=&quot;link-id13f45030&quot;&gt;Ontology is Overrated: Links, Tags and Post-hoc Metadata&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://tomgruber.org&quot; id=&quot;link-id16c745b8&quot;&gt; Tom Gruber&lt;/a&gt;&amp;#39;s post titled: &lt;a href=&quot;http://tomgruber.org/writing/ontology-of-folksonomy.htm&quot; id=&quot;link-id13cbe7b0&quot;&gt;Ontology of Folksonomy: A Mash-up of Apples and Oranges&lt;/a&gt; &lt;/ul&gt;. &lt;p&gt; &lt;strong&gt;Tip:&lt;/strong&gt; This post is best viewed via an RDF aware User Agent (e.g. a &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser&quot; id=&quot;link-id14b325b8&quot;&gt;Browser&lt;/a&gt; or &lt;a href=&quot;http://dataviewer.zitgist.com&quot; id=&quot;link-id164bfab0&quot;&gt;Data Viewer&lt;/a&gt;). I say this because the permalink of this post is a URI in a Linked Data Space (My Blog) comprised of more data than meets the eye (i.e. what you see when you read this post via a Document Web Browser) :-)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>FOAF-ing Linked Data is quite SIOC-ing</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-01-31#1306</atom:id>
  <atom:published>2008-01-31T02:40:12Z</atom:published>
  <atom:updated>2008-02-01T18:20:34-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The title of this post is a &amp;quot;Tongue in cheek&amp;quot; expression of euphoria now that I have &lt;a href=&quot;http://dbpedia.org/resource/Friend_of_a_friend&quot; id=&quot;link-idfa63488&quot;&gt;FOAF&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/SIOC&quot; id=&quot;link-idfa976f0&quot;&gt;SIOC&lt;/a&gt; (pronounced SHOCK) based data spaces exposed via &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen&quot; id=&quot;link-idfde41f8&quot;&gt;my FOAF&lt;/a&gt; and &lt;a href=&quot;http://myopenlink.net/dataspace/kidehen&quot; id=&quot;link-idfdca6c8&quot;&gt;my SIOC&lt;/a&gt; information resource (&lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id16d0b0d8&quot;&gt;RDF&lt;/a&gt; files) &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-idfa97070&quot;&gt;URI&lt;/a&gt;s.&lt;/p&gt; &lt;p&gt;If you want to explore who I know, what I read, and what I&amp;#39;ve tagged (amongst other things), all you have to do is:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Beam a &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-idfdca878&quot;&gt;SPARQL&lt;/a&gt; query down my data space URIs which expose FOAF or SIOC based interconnected &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-idfa954e8&quot;&gt;Linked Data&lt;/a&gt; graphs.&lt;/li&gt; &lt;li&gt; Walkthrough using an RDF Browser until you reach a beachhead and then beam your SPARQL from there (remember you only need the URI of the RDF Data Source, and while in my Data Space every data item has a proper URI).&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Some Tools that help you comprehend what I am saying:&lt;/p&gt; &lt;h2&gt;Browsers&lt;/h2&gt; &lt;ul&gt; Zitgist Data Viewer (&lt;a href=&quot;http://dataviewer.zitgist.com/?uri=http%3A//myopenlink.net/dataspace/kidehen&quot; id=&quot;link-id16d410c0&quot;&gt;SIOC&lt;/a&gt; and &lt;a href=&quot;http://dataviewer.zitgist.com/?uri=http%3A//myopenlink.net/dataspace/person/kidehen&quot; id=&quot;link-idfa489e8&quot;&gt;FOAF&lt;/a&gt; data spaces)&lt;/ul&gt; &lt;ul&gt;OpenLink RDF Browser (&lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/?uri=http%3A%2F%2Fmyopenlink.net%2Fdataspace%2Fkidehen&quot; id=&quot;link-idfa8b0d8&quot;&gt;SIOC&lt;/a&gt; and &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/?uri=http%3A%2F%2Fmyopenlink.net%2Fdataspace%2Fperson%2Fkidehen&quot; id=&quot;link-idfa974a8&quot;&gt;FOAF&lt;/a&gt; data spaces)&lt;/ul&gt; &lt;ul&gt;DISCO (&lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/rdf_browser/?browse_uri=http%3A%2F%2Fmyopenlink.net%2Fdataspace%2Fkidehen%2Fspace%23this&quot; id=&quot;link-idfa62288&quot;&gt;SIOC&lt;/a&gt; and &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-idf940338&quot;&gt;FOAF&lt;/a&gt; data spaces)&lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html&quot; id=&quot;link-id16d6a4b8&quot;&gt;Tabulator&lt;/a&gt; &lt;/ul&gt; &lt;h2&gt;Query Tools&lt;/h2&gt; &lt;ul&gt; &lt;a href=&quot;http://demo.openlinksw.com/sparql_demo&quot; id=&quot;link-idfdd43b8&quot;&gt;SPARQL Demo&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://demo.openlinksw.com/isparql&quot; id=&quot;link-idfa96bd0&quot;&gt;iSPARQL QBE&lt;/a&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>W3C&#39;s SPARQLing Data Access Ingenuity</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-01-15#1295</atom:id>
  <atom:published>2008-01-15T22:58:53Z</atom:published>
  <atom:updated>2008-01-17T15:41:04.000006-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The W3C officially unveiled the SPARQL Query Language today via a press release titled: &lt;a href=&quot;http://www.w3.org/2007/12/sparql-pressrelease&quot; id=&quot;link-id10074ca8&quot;&gt;W3C Opens Data on the Web with SPARQL&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;What is &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id10183f60&quot;&gt;SPARQL&lt;/a&gt;?&lt;/h2&gt; &lt;p&gt;A query language for the burgeoning Structured &amp;amp; &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id10426b18&quot;&gt;Linked Data&lt;/a&gt; Web (aka &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-idffde090&quot;&gt;Semantic Web&lt;/a&gt; / &lt;a href=&quot;http://en.wikipedia.org/wiki/Giant_Global_Graph&quot; id=&quot;link-id103e3688&quot;&gt;Giant Global Graph&lt;/a&gt;). Like &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id103365f8&quot;&gt;SQL&lt;/a&gt;, for the Relational Data Model, it provides a query language for the Graph based &lt;a href=&quot;http://dbpedia.org/resource/RDF&quot; id=&quot;link-id103e33e8&quot;&gt;RDF&lt;/a&gt; Data Model.&lt;/p&gt; &lt;p&gt;It&amp;#39;s also a &lt;a href=&quot;http://dbpedia.org/resource/Representational_State_Transfer&quot; id=&quot;link-id1036a3d0&quot;&gt;REST&lt;/a&gt; or &lt;a href=&quot;http://dbpedia.org/resource/SOAP&quot; id=&quot;link-id103b36d8&quot;&gt;SOAP&lt;/a&gt; based Web Service that exposes SPARQL access to RDF Data via an endpoint. &lt;/p&gt; &lt;p&gt;In addition, it&amp;#39;s also a Query Results Serialization format that includes &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id1023bc60&quot;&gt;XML&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/JSON&quot; id=&quot;link-id102c3f88&quot;&gt;JSON&lt;/a&gt; support.&lt;/p&gt; &lt;h2&gt;Why is it Important?&lt;/h2&gt; &lt;p&gt;It brings important clarity to the notion of the &amp;quot;Web as a Database&amp;quot; by transforming existing Web Sites, Portals, and Web Services into bona fide corpus of Mesh-able (rather than Mash-able) Data Sources. For instance, you can perform queries that join one or more of the aforementioned data sources in exactly the same manner (albeit different syntax) as you would one or more SQL Tables. &lt;/p&gt; &lt;h3&gt;Example:&lt;/h3&gt; &lt;p&gt;-- SPARQL equivalent of SQL SELECT * against my personal data space hosted FOAF file&lt;/p&gt; &lt;b&gt;&lt;pre&gt; SELECT DISTINCT ?s ?p ?o FROM &amp;lt;http://myopenlink.net/dataspace/person/kidehen&amp;gt; WHERE {?s ?p ?o}&lt;/pre&gt;&lt;/b&gt; &lt;p&gt;-- SPARQL against my social network -- Note: My SPARQL will be beamed across all of contacts in the social networks of my contacts as long as they are all HTTP URI based within each data space&lt;/p&gt; &lt;b&gt;&lt;pre&gt;PREFIX foaf: &amp;lt;http://xmlns.com/foaf/0.1/&amp;gt; SELECT DISTINCT ?Person FROM &amp;lt;http://myopenlink.net/dataspace/person/kidehen&amp;gt; WHERE {?s a foaf:Person; foaf:knows ?Person}&lt;/pre&gt;&lt;/b&gt; &lt;p&gt;Note: you can use the basic &lt;a href=&quot;http://demo.openlinksw.com/sparql&quot; id=&quot;link-id1007d9b8&quot;&gt;SPARQL Endpoint&lt;/a&gt;, &lt;a href=&quot;http://demo.openlinksw.com/isparql&quot; id=&quot;link-id102c3e08&quot;&gt;SPARQL Query By Example&lt;/a&gt;, or &lt;a href=&quot;http://demo.openlinksw.com/sparql_demo&quot; id=&quot;link-id10201f98&quot;&gt;SPARQL Query Builder Demo tool&lt;/a&gt; to experiment with the demonstration queries above.&lt;/p&gt; &lt;h2&gt;How Do I use It?&lt;/h2&gt; &lt;p&gt;SPARQL is implemented by RDF Data Management Systems (Triple or Quad Stores) just as SQL is implemented by Relational Database Management Systems. The aforementioned data management systems will typically expose SPARQL access via a SPARQL endpoint.&lt;/p&gt; &lt;h2&gt;Where are it&amp;#39;s implementations?&lt;/h2&gt; &lt;p&gt;A SPARQL implementors Testimonial page accompanies the SPARQL press release. In addition the is a growing collection of implementations on the&lt;a href=&quot;http://esw.w3.org/topic/SparqlImplementations&quot; id=&quot;link-id10066ca8&quot;&gt; ESW Wiki Page for SPARQL compliant RDF Triple &amp;amp; Quad Stores&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;Is this really a big deal?&lt;/h2&gt; &lt;p&gt;Yes! SPARQL facilitates an&lt;a href=&quot;http://virtuoso.openlinksw.com/presentations/Virtuoso_Sponger_1/Virtuoso_Sponger_1.html&quot; id=&quot;link-id101ee5b0&quot;&gt; unobtrusive manifestation of a Linked Data Web&lt;/a&gt; by way of natural extension of the existing Document Web i.e these Web enclaves co-exist in symbiotic fashion. &lt;/p&gt; &lt;p&gt;As &lt;a href=&quot;http://dbpedia.org&quot; id=&quot;link-id1037edc0&quot;&gt;DBpedia&lt;/a&gt; very clearly demonstrates, Linked Data makes the Semantic Web demonstrable and much easier to comprehend. Without SPARQL there would be no mechanism for &lt;a href=&quot;http://virtuoso.openlinksw.com/presentations/Virtuoso_Deploying_Linked_Data/Virtuoso_Deploying_Linked_Data.html&quot; id=&quot;link-id10455da8&quot;&gt;Linked Data deployment&lt;/a&gt;, and without Linked Data there is no mechanism for Beaming Queries (directly or indirectly) across the Giant Global Graph of data hosted by Social Networks, Shard Bookmarks Services, Weblogs, Wikis, RSS/Atom/OPML feeds, Photo Galleries and other Web accessible Data Sources (Data Spaces).&lt;/p&gt; &lt;h2&gt;Related items&lt;/h2&gt; &lt;ul&gt; &lt;a href=&quot;http://www.w3.org/TR/cooluris/&quot; id=&quot;link-id102021d8&quot;&gt;Cool URIs&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/&quot; id=&quot;link-id1020d5c0&quot;&gt;Publishing Linked Data Tutorial&lt;/a&gt; &lt;/ul&gt; &lt;ul a=&quot;a&quot; href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/ODSSIOCRef&quot;&gt; Detailed SPARQL Query Examples using SIOC Data Spaces&lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/ODSFOAFRef&quot; id=&quot;link-id102c4608&quot;&gt;Detailed SPARQL Query Examples using FOAF Data Spaces&lt;/a&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>2008, Facebook Data Portability, and the Giant Global Graph of Linked Data</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-01-05#1289</atom:id>
  <atom:published>2008-01-05T17:11:55Z</atom:published>
  <atom:updated>2008-01-07T11:44:42.000007-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;As 2007 came to a close I repeatedly mulled over the idea of putting together a usual &amp;quot;year in review&amp;quot; and a set of predictions for the coming year etc. Anyway, the more I pondered, the smaller the list became. While pondering (as 2008 rolled around), the &lt;a href=&quot;http://www.techmeme.com/080103/p154#a080103p154&quot; id=&quot;link-id113db9a0&quot;&gt;Blogosphere was set ablaze with the &lt;a href=&quot;http://dbpedia.org/resource/Robert_Scoble&quot; id=&quot;link-idfe12a58&quot;&gt;Robert Scoble&lt;/a&gt;&amp;#39;s announcement of his account suspension by Facebook&lt;/a&gt;. Of course, many chimed in expressing views either side of the ensuing debate: &lt;a href=&quot;http://www.scripting.com/stories/2008/01/03/scobleAndHisFacebookData.html&quot; id=&quot;link-id161e7c48&quot;&gt;Who is right -- Scoble or Facebook&lt;/a&gt;. The more I assimilated the views expressed about this event, the more ironic I found the general discourse, for the following reasons:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/Web_2.0&quot; id=&quot;link-id16f6f3e0&quot;&gt;Web 2.0&lt;/a&gt; is fundamentally about &lt;a href=&quot;http://dbpedia.org/resource/Web_service&quot; id=&quot;link-id1770f3c0&quot;&gt;Web Services&lt;/a&gt; as the prime vehicle for interactions across &amp;quot;points of Web presence&amp;quot;&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/Facebook&quot; id=&quot;link-id162f3f60&quot;&gt;Facebook&lt;/a&gt; is a Web 2.0 hosted service for &lt;a href=&quot;http://dbpedia.org/resource/Social_Networking&quot; id=&quot;link-id16e1dfc8&quot;&gt;social networking&lt;/a&gt; that provides Web Services APIs for accessing data in the Facebook data space. You have to do so &amp;quot;on the fly&amp;quot; within clearly defined constraints i.e you can interact with data across your social network via Facebook APIs, but you cannot cache the data (perform an export style dump of the data)&lt;/li&gt; &lt;li&gt; Facebook is a main driver of the term: &amp;quot;social graph&amp;quot;, but their underlying data model is relational and the Web Services response (data you get back) doesn&amp;#39;t return a data graph, instead it returns an tree (i.e XML)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://blogsearch.google.com/blogsearch?hl=en&amp;q=scoble+semantic+web&amp;btnG=Search+Blogs&quot; id=&quot;link-id16680d08&quot;&gt;Scoble&amp;#39;s had a number of close encounters with Linked Data Web | Semantic Data Web | Web 3.0 aficionados&lt;/a&gt; in various forms throughout 2007, but still doesn&amp;#39;t quite make the connection between Web Services APIs as part of a processing pipeline that includes structured data extraction from XML data en route to producing Data Graphs comprised of Data Objects (Entities) endowed with: &lt;a href=&quot;http://dbpedia.org/resource/Identity_%28object-oriented_programming%29&quot; id=&quot;link-id16af1f98&quot;&gt;Unique Identifiers&lt;/a&gt;, Classification or Categorization schemes, Attributes, and Relationships prescribed by one or more shared Data Dictionaries/Schemas/Ontologies&lt;/li&gt; &lt;li&gt; A global information bus that exposes a &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id16ce7c68&quot;&gt;Linked Data&lt;/a&gt; mesh comprised of Data Objects, Object Attributes, and Object Relationships across &amp;quot;points of Web presence&amp;quot; is what &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/card#i&quot; id=&quot;link-id1aa304e0&quot;&gt;TimBL&lt;/a&gt; described in 1998 (&lt;a href=&quot;http://www.w3.org/DesignIssues/Semantic.html&quot; id=&quot;link-id1a822db0&quot;&gt;Semantic Web Roadmap&lt;/a&gt;) and more recently in 2007 (&lt;a href=&quot;http://dig.csail.mit.edu/breadcrumbs/node/215&quot; id=&quot;link-id181e5998&quot;&gt;Giant Global Graph&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; The Linked Data mesh (i.e Linked Data Web or GGG) is anchored by the use of HTTP to mint Location, Structure, and Value independent Object Identifiers called &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id16eae370&quot;&gt;URI&lt;/a&gt;s or &lt;a href=&quot;http://dbpedia.org/resource/IRI&quot; id=&quot;link-idffe16b8&quot;&gt;IRI&lt;/a&gt;s. In addition, the Linked Data Web is also equipped with a query language, protocol, and results serialization format for XML and JSON called: SPARQL. &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;So, unlike Scoble, I am able to make my Facebook Data portable without violating Facebook rules (no data caching outside Facebook realm) by doing the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; Use an RDFizer for Facebook to convert XML response data from Facebook Web Services into RDF &amp;quot;on the fly&amp;quot; Ensure that my RDF is comprised of Object Identifiers that are HTTP based and thereby dereferencable (i.e. I can use SPARQL to unravel the Linked Data Graph in my Facebook data space)&lt;/li&gt; &lt;li&gt; The act of data dereferencing enables me to expose my Facebook Data as Linked Data associated with my &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id16b3e9d0&quot;&gt;Personal URI&lt;/a&gt; &lt;/li&gt; &lt;li&gt; This interaction only occurs via my data space and in all cases the interactions with data work via my &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1172&quot; id=&quot;link-id16c628b8&quot;&gt;RDFizer middleware&lt;/a&gt; (e.g the &lt;a href=&quot;http://virtuoso.openlinksw.com/presentations/Virtuoso_Sponger_1/Virtuoso_Sponger_1.html&quot; id=&quot;link-id1572fb28&quot;&gt;Virtuoso Sponger&lt;/a&gt;) that talks directly to Facebook Web Services. &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;In a nutshell, my Linked Data Space enables you to reference data in my data space via Object Identifiers (URIs), and some cases the Object IDs and Graphs are constructed on the fly via RDFization middleware.&lt;/p&gt; &lt;p&gt;Here are my URIs that provide different paths to my Facebook Data Space:&lt;/p&gt; &lt;ul&gt; &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen#this&quot; id=&quot;link-id16f817a8&quot;&gt; Personal URI&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://myopenlink.net/proxy?url=http%3A//www.facebook.com/people/Kingsley_Idehen/605980750&amp;force=rdf&amp;login=kidehen&quot; id=&quot;link-id1a8e5950&quot;&gt;My Facebook Data Space&lt;/a&gt; (best viewed via a &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/?uri=http%3A%2F%2Fmyopenlink.net%2Fproxy%3Furl%3Dhttp%253A%2F%2Fwww.facebook.com%2Fpeople%2FKingsley_Idehen%2F605980750%26force%3Drdf%26login%3Dkidehen&quot; id=&quot;link-id15476588&quot;&gt;Linked Data Browser/Viewer&lt;/a&gt; session) &lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://myopenlink.net/proxy?url=http%3A//www.facebook.com/album.php%3Faid%3D14768%26id%3D605980750&amp;force=rdf&amp;login=kidehen&quot; id=&quot;link-id16e3bcf0&quot;&gt;My Facebook Photo Gallery -- WWW2007 Photo Collection&lt;/a&gt; (also best viewed via a &lt;a href=&quot;http://demo.openlinksw.com/rdfbrowser/?uri=http%3A%2F%2Fmyopenlink.net%2Fproxy%3Furl%3Dhttp%253A%2F%2Fwww.facebook.com%2Falbum.php%253Faid%253D14768%2526id%253D605980750%26force%3Drdf%26login%3Dkidehen&quot; id=&quot;link-id16e10270&quot;&gt;Linked Data Browser/Viewer&lt;/a&gt; session) &lt;/ul&gt; &lt;p&gt;To conclude, 2008 is clearly the inflection year during which we will final unshackle Data and Identity from the confines of &amp;quot;Web Data Silos&amp;quot; by leveraging the HTTP, SPARQL, and RDF induced virtues of Linked Data. &lt;/p&gt; &lt;p&gt;Related Posts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://blogs.sun.com/bblfish/entry/2008_the_rise_of_linked&quot; id=&quot;link-id156baac0&quot;&gt;2008 and the Rise of Linked Data&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://blogs.sun.com/bblfish/entry/data_portability_scoble_explains&quot; id=&quot;link-id16291310&quot;&gt;Scoble Right, Wrong, and Beyond&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://scobleizer.com/2007/11/30/talking-with-tim-berners-lee-inventor-of-the-web/&quot; id=&quot;link-id163c9c38&quot;&gt;Scoble interviewing TimBL&lt;/a&gt; (note to Scoble: re-watch your interview since he made some specific points about Linked Data and URIs that you need to grasp)&lt;/li&gt; &lt;li&gt;Prior Blog posts my this Blog Data Space that include the literal patterns: &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=scoble%20semantic%20web&amp;type=text&amp;output=html&quot; id=&quot;link-id163e6cd0&quot;&gt;Scoble Semantic Web&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>OpenOffice.org, SPARQL, and the Linked Data Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2008-01-04#1288</atom:id>
  <atom:published>2008-01-05T02:50:00Z</atom:published>
  <atom:updated>2008-02-04T20:42:50.000004-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Question posed by Dan Brickley via a blog post: SQL, OpenOffice: &lt;a href=&quot;http://danbri.org/words/2008/01/04/245&quot; id=&quot;link-id1689abd8&quot;&gt;would a JDBC driver for SPARQL protocol make sense?&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Writing a &lt;a href=&quot;http://dbpedia.org/resource/JDBC_driver&quot; id=&quot;link-id16a96580&quot;&gt;JDBC Driver&lt;/a&gt; for &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id1a908a70&quot;&gt;SPARQL&lt;/a&gt; is a little overkill. &lt;a href=&quot;http://dbpedia.org/resource/OpenOffice.org&quot; id=&quot;link-id16ae69a8&quot;&gt;OpenOffice.org&lt;/a&gt; simply needs to make &lt;a href=&quot;http://dbpedia.org/resource/XML&quot; id=&quot;link-id168d3880&quot;&gt;XML&lt;/a&gt; or Web Data (&lt;a href=&quot;http://dbpedia.org/resource/HTML&quot; id=&quot;link-id1a7f1f50&quot;&gt;HTML&lt;/a&gt;, &lt;a href=&quot;http://dbpedia.org/resource/XHTML&quot; id=&quot;link-id16c1ae60&quot;&gt;XHTML&lt;/a&gt;, and XML) bonafide data sources within its &amp;quot;&lt;a href=&quot;http://dbpedia.org/resource/Pivot_table&quot; id=&quot;link-id16665398&quot;&gt;Pivot Table&lt;/a&gt;&amp;quot; functionality realm. Then all that would then be required is a &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/#select&quot; id=&quot;link-id168bcbe8&quot;&gt;SPARQL SELECT Query&lt;/a&gt; transported via the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot; id=&quot;link-id16c1bbc0&quot;&gt;SPARQL Protocol&lt;/a&gt; with results sent back using the &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-XMLres/&quot; id=&quot;link-id1aa61118&quot;&gt;SPARQL XML results serialization&lt;/a&gt; format (all part of a single SPARQL Protocol URL).&lt;/p&gt; &lt;p&gt;Excel successfully consumes the following information resource URI: http://tinyurl.com/yvoccj (a tiny url for a SPARQL SELECT against my&lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen&quot; id=&quot;link-id16702ba8&quot;&gt; FOAF file&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;Alternatively, and currently achievable, you could simply use &lt;a href=&quot;http://esw.w3.org/topic/SPASQL&quot; id=&quot;link-id1a1b6b78&quot;&gt;SPASQL&lt;/a&gt; (SPARQL within SQL) using a &lt;a href=&quot;http://dbpedia.org/resource/DBMS&quot; id=&quot;link-id1661f240&quot;&gt;DBMS&lt;/a&gt; engine that supports SQL, SPARQL, and SPARQL e.g. &lt;a href=&quot;http://dbpedia.org/resource/Virtuoso_Universal_Server&quot; id=&quot;link-id168bba60&quot;&gt;Virtuoso&lt;/a&gt;. &lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/rdfapiandsql.html&quot; id=&quot;link-id167d9508&quot;&gt;Virtuoso SPASQL support&lt;/a&gt; is exposed via it&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id16c62160&quot;&gt;ODBC&lt;/a&gt; and/or JDBC Drivers. Thus you can do things such as: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;Use a SPARQL Query in the FROM CLAUSE of a &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id1657a3a8&quot;&gt;SQL&lt;/a&gt; statement&lt;/li&gt; &lt;li&gt;Execute SPARQL via SQL processor by prepending SPARQL query text with the literals &amp;quot;sparql&amp;quot; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;BTW - My News Years Resolution: get my act together and shrink the ever increasing list of &amp;quot;simple &amp;amp; practical Virtuoso use case demos&amp;quot; on my todo which now spans all the way back to 2006 :-(&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Discussion: OpenLink Data Spaces</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-12-01#1280</atom:id>
  <atom:published>2007-12-01T15:41:56Z</atom:published>
  <atom:updated>2007-12-01T15:26:12-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I&amp;#39;ve been a little busier than usual, of late. So busy, that even minimal blog based discourse participation has been a challenge. Anyway, during this quiet period, a number of interesting data streams have come my way that relate to &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot; id=&quot;link-id142b7e40&quot;&gt;OpenLink Data Spaces&lt;/a&gt; (ODS). Thus, in typical fashion, I&amp;#39;ll use this post (via &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id1474d810&quot;&gt;URI&lt;/a&gt;s) to contribute a few nodes to the &lt;a href=&quot;http://dig.csail.mit.edu/breadcrumbs/node/215&quot; id=&quot;link-id149d8210&quot;&gt;Giant Global Graph &lt;/a&gt;that is the Web of Structured &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id139f9190&quot;&gt;Linked Data&lt;/a&gt;, also known as the &lt;a href=&quot;http:dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id1470e588&quot;&gt;Data Web, Semantic Data Web, or Web of Data&lt;/a&gt; (also see &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=&#39;data%20web&#39;&amp;type=text&amp;output=html&quot; id=&quot;link-id13a4f828&quot;&gt;prior Data Web posts&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;Here goes:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://bizcast.typepad.com/&quot; id=&quot;link-id14769268&quot;&gt;Alan Wilensky&lt;/a&gt; recalls his &lt;a href=&quot;http://bizcast.typepad.com/clients/2007/11/social-networks.html&quot; id=&quot;link-id14478c48&quot;&gt;early encounters with OpenLink Data Spaces&lt;/a&gt; (circa. 2004)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.vanirsystems.co.uk/foaf.rdf&quot; id=&quot;link-id14516938&quot;&gt;Daniel Lewis&lt;/a&gt; shares his &amp;quot;&lt;a href=&quot;http://vanirsystems.com/danielsblog/2007/11/29/where-is-the-semantic-web-well-it-is-here-already/&quot; id=&quot;link-id149e2518&quot;&gt;state of the Semantic Data Web&amp;quot;&lt;/a&gt; findings&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://vanirsystems.com/danielsblog/2007/11/30/openlink-data-spaces/&quot; id=&quot;link-id14cddaf0&quot;&gt;Daniel Lewis experiences OpenLink Data Space first hand&lt;/a&gt; en route to creating Data Spaces in the Clouds (the &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1261&quot; id=&quot;link-id146c35c8&quot;&gt;Fourth Platform&lt;/a&gt;).&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;In addition, in one week, courtesy of the Web, UK Semnantic Web Gatherings in &lt;a href=&quot;http://blogs.talis.com/nodalities/2007/11/cindy_che_and_other_interestin.php&quot; id=&quot;link-id14304738&quot;&gt;Bristol&lt;/a&gt; and &lt;a href=&quot;http://oxford.geeknights.net/2007/nov-28th/&quot; id=&quot;link-id145589d8&quot;&gt;Oxford&lt;/a&gt;, I &lt;a href=&quot;http://vanirsystems.com/danielsblog/2007/11/21/wanted-job/&quot; id=&quot;link-id1399de08&quot;&gt;discover&lt;/a&gt;, interview, and employ Daniel :-) Imagine how long this would have taken to pull off via the Document Web, assuming I would even discover Daniel.&lt;/p&gt; &lt;p&gt;As with all things these days, the &lt;a href=&quot;http://dbpedia.org/resource/World_Wide_Web&quot; id=&quot;link-id1477a7e0&quot;&gt;Web&lt;/a&gt; and &lt;a href=&quot;http://dbpedia.org/resource/Internet&quot; id=&quot;link-id14c3f428&quot;&gt;Internet&lt;/a&gt; change everything, which includes talent discovery and recruitment.&lt;/p&gt; &lt;p&gt;A Global Social graph that is a mesh of Linked Data enables the process of recruitment, marketing, and other elements of busines management to be condensed down to a sending powerful beams across the aforementioned Graph :-) The only variable pieces are the traversal paths exposed to your beam via the beam&amp;#39;s entry point URI. In my case, &lt;a href=&quot;http://kidehen.idehen.net/dataspace/person/kidehen#this&quot; id=&quot;link-id1395e5f0&quot;&gt;I have a single URI&lt;/a&gt; that exposes a Graph of critical paths for the Blogosphere (i.e data spaces of RSS Atom Feeds). Thus, I can discover if your profile matches the requirements associated with an opening at OpenLink Software (most of the time) before you do :-)&lt;/p&gt; &lt;p&gt;BTW - I just noticed that John Breslin described ODS as social-graph++ in his recent post, titled: &lt;a href=&quot;http://www.johnbreslin.com/blog/2007/11/30/tales-from-the-sioc-o-sphere-part-6/&quot; id=&quot;link-id14c82bc8&quot;&gt;Tales from the SIOC-o-sphere, part 6&lt;/a&gt;. In a funny way, this reminds of a post from the early blogosphere days about &lt;a href=&quot;http://www.cadenhead.org/workbench/news/1427/commercial-server-supports-four-weblog-apis&quot; id=&quot;link-id14a24c58&quot;&gt;platforms and Weblog APIs &lt;/a&gt;(circa. 2003) about ODS (then exposed via the Blog Platform realm of &lt;a href=&quot;http://dbpedia.org/resource/Virtuoso_Universal_Server&quot; id=&quot;link-id14745100&quot;&gt;Virtuoso&lt;/a&gt;).&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Reminder: Why We Need Linked Data!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-11-02#1267</atom:id>
  <atom:published>2007-11-02T22:50:00Z</atom:published>
  <atom:updated>2007-11-02T18:52:34-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt;&amp;quot;The phrase Open Social implies portability of personal and social data. That would be exciting but there are entirely different protocols underway to deal with those ideas. As some people have told me tonight, it may have been more accurate to call this &amp;quot;OpenWidget&amp;quot; - though the press wouldn&amp;#39;t have been as good. We&amp;#39;ve been waiting for data and identity portability - is this all we get?&amp;quot; &lt;br /&gt; [Source: &lt;a href=&quot;http://blogs.usnet.private:8893/[Excerpted from: http://feeds.feedburner.com/~r/readwriteweb/~3/178622741/opensocial_three_big_concerns.php]&quot; id=&quot;link-id1143a428&quot;&gt;Read/Write Web&amp;#39;s Commentary &amp;amp; Analysis of Google&amp;#39;s OpenSocial API&lt;/a&gt;]&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;..Perhaps the world will read the terms of use of the API, and realize this is not an open API; this is a free API, owned and controlled by one company only: Google. Hopefully, the world will remember another time when Google offered a free API and then pulled it. Maybe the world will also take a deeper look and realize that the functionality is dependent on Google hosted technology, which has its own terms of service (including adding ads at the discretion of Google), and that building an OpenSocial application ties Google into your application, and Google into every social networking site that buys into the Dream. Hopefully the world will remember. Unlikely, though, as such memories are typically filtered in the Great Noise....&lt;/p&gt;[Source: &lt;a href=&quot;http://burningbird.net/technology/terms/&quot; id=&quot;link-id116f8c98&quot;&gt;Poignant commentary excerpt from &lt;a href=&quot;http://burningbird.net&quot; id=&quot;link-id11216e98&quot;&gt;Shelly Power&amp;#39;s Blog&lt;/a&gt;&lt;/a&gt; (as always)]&lt;/blockquote&gt; &lt;p&gt;The &amp;quot;&lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id1102bc20&quot;&gt;Semantic Data Web&lt;/a&gt;&amp;quot; vision has always been about &amp;quot;Data &amp;amp; Identity&amp;quot; portability across the Web. Its been that and more from day one.&lt;/p&gt; &lt;p&gt;In a nutshell, we continue to exhibit varying degrees of &lt;a href=&quot;http://dbpedia.org/resource/Cognitive_dissonance&quot; id=&quot;link-id121bb728&quot;&gt;Cognitive Dissonance&lt;/a&gt; re the following realities:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;The &lt;a href=&quot;http://dbpedia.org/resource/Network&quot; id=&quot;link-id114567b0&quot;&gt;Network&lt;/a&gt; is the Computer (Internet/Intranet/Extranet depending on your TCP/IP usage scenarios)&lt;/li&gt; &lt;li&gt;The Web is the OS (ditto) and it provides a communications subsystem (&lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s+BLOG+%5B127%5D/1231&quot; id=&quot;link-id1212b390&quot;&gt;Information BUS&lt;/a&gt;) comprised of&lt;/li&gt; &lt;ul&gt;- &lt;a href=&quot;http://dbpedia.org/resource/Hypertext_Transfer_Protocol&quot; id=&quot;link-id11b1b760&quot;&gt;HTTP&lt;/a&gt; Protocol&lt;/ul&gt; &lt;ul&gt;- &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot; id=&quot;link-id11043020&quot;&gt;URI&lt;/a&gt;s (pointer system for identifying, accessing, and manipulating data)&lt;/ul&gt; &lt;li&gt;HTTP based Interprocess (i.e Web Apps are processes when you discard the HTML UI and interact with the application logic containers called &amp;quot;Web Services&amp;quot; behind the pages) ultimately hit data&lt;/li&gt; &lt;li&gt;Web Data is best Modeled as a Graph (RDF, Containers/Items/Item Types, Property &amp;amp; Value Pairs associated with something, and other labels)&lt;/li&gt; &lt;li&gt;Network are Graphs and vice versa&lt;/li&gt; &lt;li&gt;Social Networks are graphs where nodes are connected via social connectors ( [x]--knows--&amp;gt;[y] ) &lt;/li&gt; &lt;li&gt;The Web is a Graph that exposes a People and Data Network (to the degree we allude to humans not being data containers i.e. just nodes in a network, otherwise we are talking about a Data Network)&lt;/li&gt; &lt;li&gt;Data access and manipulation depends inherently on canonical Data Access mechanisms such as Data Source Identifiers / Names (time-tested practice in various DBMS realms)&lt;/li&gt; &lt;li&gt;Data is forever, it is the basis of Information, and it is increasing exponentially due to proliferation of Web Services induced user activities (User Generated Content)&lt;/li&gt; &lt;li&gt;Survival, Vitality, Longevity, Efficiency, Productivity etc.. are all depend on our ability to process data effectively in a shrinking time continuum where Data and/or Information overload is the alternative.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt; The Data Web is about Presence over Eyeballs due to the following realities:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Eyeballs are input devices for a &lt;a href=&quot;http://dbpedia.org/resource/DNA&quot; id=&quot;link-id118b29a0&quot;&gt;DNA&lt;/a&gt; based processing system (Humans). The aforementioned processing system can reason very well, but simply cannot effectively process masses of data or information&lt;/li&gt; &lt;li&gt;Widgets offer little value long term re. the imminent data and information overload dilemma, ditto Web pages (however pretty), and any other Eyeballs-only centric Web Apps&lt;/li&gt; &lt;li&gt;Computers (machines) are equipped with inorganic (non DNA) based processing power, they are equipped to process huge volumes of data and/or information, but they cannot reason&lt;/li&gt; &lt;li&gt;To be effective in the emerging frontier comprised of a Network Computer and a Web OS, we need an effective mechanism that makes best use of the capabilities possessed by humans and machines, by shifting the focus to creation and interaction with points of &amp;quot;Data Web Presence&amp;quot; that openly expose &amp;quot;&lt;a href=&quot;http://dbpedia.org/resource/Data_structure&quot; id=&quot;link-id10e56458&quot;&gt;Structured Linked Data&lt;/a&gt;&amp;quot;. &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;This is why we need to inject a mesh of Linked Data into the existing Web. This is what the often misunderstood vision of the &amp;quot;Semantic Data Web&amp;quot; or &amp;quot;Web of Data&amp;quot; or &amp;quot;Web or Structured Data&amp;quot; is all about. &lt;/p&gt; &lt;p&gt;As stated earlier (point 10 above), &amp;quot;Data is forever&amp;quot; and there is only more of it to come! Sociality and associated Social Networking oriented solutions are at best a spec in the Web&amp;#39;s ocean of data once you comprehend this reality.&lt;/p&gt; &lt;p&gt;Note: I am writing this post as an early implementor of &lt;a href=&quot;http://dbpedia.org/resource/GData&quot; id=&quot;link-id11349808&quot;&gt;GData&lt;/a&gt; and an implementor of &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id120f3a68&quot;&gt;RDF Linked Data&lt;/a&gt; technology and a &amp;quot;Web Purist&amp;quot;. &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;OpenSocial implementation and support across our relevant product families: &lt;a href=&quot;http://dbpedia.org/resource/Virtuoso_Universal_Server&quot; id=&quot;link-id1217bf20&quot;&gt;Virtuoso&lt;/a&gt; (i.e the &lt;a href=&quot;http://virtuoso.openlinksw.com/Whitepapers/html/VirtSpongerWhitePaper.html&quot; id=&quot;link-id12154258&quot;&gt;Sponger Middleware&lt;/a&gt; for RDF component), &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/Ods&quot; id=&quot;link-id11369930&quot;&gt;OpenLink Data Spaces&lt;/a&gt; (Data Space Controller / Services), and the &lt;a href=&quot;http://oat.openlinksw.com/&quot; id=&quot;link-id113e4da0&quot;&gt;OpenLink Ajaxt Toolkit&lt;/a&gt; (i.e OAT Widgets and Libraries), is a triviality now that the OpenSocial APIs are public. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;The concern I have, and the problem that remains mangled in the vast realms of Web Architecture incomprehension, is the fact that GData and GData based APIs cannot deliver Structured Linked Data in line with the essence of the Web without introducing &amp;quot;lock-in&amp;quot; that ultimately compromises the &amp;quot;Open Purity&amp;quot; of the Web. &lt;a href=&quot;http://dbpedia.org/resource/Facebook&quot; id=&quot;link-id11073980&quot;&gt;Facebook&lt;/a&gt; and Google&amp;#39;s &lt;a href=&quot;http://code.google.com/apis/opensocial/docs/&quot; id=&quot;link-id1215e020&quot;&gt;OpenSocial&lt;/a&gt; response to the Facebook juggernaut (i.e. open variant of the Facebook Activity Dashboard and Social Network functionality realms, primarily), are at best icebergs in the ocean we know as the &amp;quot;World Wide Web&amp;quot;. The nice and predictable thing about icebergs is that they ultimately melt into the larger ocean :-)&lt;/p&gt; On a related note, I had the pleasure of attending the &lt;a href=&quot;http://www.w3.org/2007/03/RdfRDB/&quot; id=&quot;link-id1106f678&quot;&gt;W3C&amp;#39;s RDF and DBMS Integration Workshop&lt;/a&gt;, last week. The event was well attended by organizations with knowledge, experience, and a vested interested in addressing the issues associated with exposing none RDF data (e.g. SQL) as RDF, and the imminence of data and/or information overload covered in different ways via the following presentations: &lt;ul&gt;- &lt;a href=&quot;http://virtuoso.openlinksw.com/presentations/RDF_Mapping_Presentation_W3C_workshop3.ppt&quot; id=&quot;link-id11053440&quot;&gt;RDF Views of SQL Data&lt;/a&gt; - &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling&quot; id=&quot;link-id1218bf70&quot;&gt;Orri Erling &lt;/a&gt;on behalf of OpenLink Software&lt;/ul&gt; &lt;ul&gt;- &lt;a href=&quot;http://www.michaelbrodie.com/documents/Brodie%20VLDB%202007%20V3.zip&quot; id=&quot;link-id11eda380&quot;&gt;Computer Science 2.0&lt;/a&gt; (covering User Generated Content Explosion) - Michael Brodie&lt;/ul&gt; &lt;ul&gt;- &lt;a href=&quot;http://www.w3.org/2007/03/RdfRDB/talks/Finding_our_way.ppt&quot; id=&quot;link-id113b9620&quot;&gt;Experiences re. solving SPARQL Access to Distributed Data Sources&lt;/a&gt; - Phil Ashworth &lt;/ul&gt; &lt;ul&gt;- &lt;a href=&quot;http://www.w3.org/2007/03/RdfRDB/program&quot; id=&quot;link-id11265180&quot;&gt;Other presentations&lt;/a&gt; &lt;/ul&gt;.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso 5.0.2 Released!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-10-06#1265</atom:id>
  <atom:published>2007-10-06T16:03:49Z</atom:published>
  <atom:updated>2007-10-08T10:27:27-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;A new release of Virtuoso is now available in both &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/&quot; id=&quot;link-id1282d260&quot;&gt;Open Source&lt;/a&gt; and &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id1317deb0&quot;&gt;Commercial&lt;/a&gt; variants. The main features and Enhancements associated with this release include:&lt;/p&gt; &lt;ul&gt; * 64-bit Integer Support&lt;/ul&gt; &lt;ul&gt; * RDF Sink Folders for WebDAV - enabling RDF Quad Store population by simply dropping RDF files into WebDAV or via HTTP (meaning you can use CURL as an RDF in put mechanism for instance)&lt;/ul&gt; &lt;ul&gt;* Additional Sponger Cartridges from Audio binary files (i.e ID3 tag extraction and Music Ontology mapping which exposes the fine details of music as RDF based Structured Data; one for the DJs &amp;amp; Remixers out there!)&lt;/ul&gt; &lt;ul&gt;* New Sponger Cartridges for Facebook, Freebase, Wikipedia, GRDDL, RDFa, eRDF and more&lt;/ul&gt; &lt;ul&gt;* Support for PHP 5.2 runtime hosting (Virtuoso is a bona fide deployment platform for: Wordpress, MediaWiki, phpBB, Drupal etc.)&lt;/ul&gt; &lt;ul&gt;* Enhanced UI for managing &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot; id=&quot;link-id12837b20&quot;&gt;RDF Linked Data&lt;/a&gt; deployment (covering Multi Homed domains, Virtual Directories associated with URL-rewrite rules&lt;/ul&gt; &lt;ul&gt;* Demonstration Database includes &lt;a href=&quot;http://www.openlinksw.com/virtuoso/Whitepapers/html/rdf_views/virtuoso_rdf_views_example.html&quot; id=&quot;link-id130c2830&quot;&gt;SQL-RDF Views &lt;/a&gt;&amp;amp; SQL Table samples for the THALIA Web Data Integration benchmark and test-suite&lt;/ul&gt; &lt;ul&gt;* Tutorial Application includes Linked Data style SQL-RDF Views for the Northwind SQL DBMS schema (which is the same as the standard Virtuoso demo atabase schema)&lt;/ul&gt; &lt;ul&gt;* SQL-RDF Views implementation of the TPC-D benchmark (Yes, we can run this grueling SQL benchmark via RDF views of SQL Data!)&lt;/ul&gt; &lt;ul&gt;* A new Amazon EC2 Image for Virtuoso that enables you to instantiate a fully configured instance comprising the Virtuoso core,&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot; id=&quot;link-id126c5eb8&quot;&gt; OpenLink Data Spaces&lt;/a&gt; platform and the &lt;a href=&quot;http://sourceforge.net/projects/oat&quot; id=&quot;link-id1341cb68&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt; (OAT) (we now have bona fide Data Spaces in the Clouds as an addition to the emerging Semantic Data Web mesh).&lt;/ul&gt; &lt;p&gt;Download Lnks: &lt;/p&gt; &lt;ul&gt;* &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSDownload&quot; id=&quot;link-id12745128&quot;&gt;Open Source Edition&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt;* &lt;a href=&quot;http://download.openlinksw.com/download/product_matrix.vsp?p=f_os&amp;fm=26&amp;fam=2&amp;df=16&quot; id=&quot;link-id12f15ed0&quot;&gt;Commercial Edition&lt;/a&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Fourth Platform: Data Spaces in The Cloud (Update)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-09-22#1261</atom:id>
  <atom:published>2007-09-22T23:43:00Z</atom:published>
  <atom:updated>2008-10-26T17:59:33-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I&amp;#39;ve written extensively on the subject of &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;amp;q=data%20spaces&amp;amp;type=text&amp;amp;output=html&quot; id=&quot;link-id134c2280&quot;&gt;Data Spaces&lt;/a&gt; in relation to the &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;amp;q=data%20web%0D%0A&amp;amp;type=text&amp;amp;output=html&quot; id=&quot;link-id105aef90&quot;&gt;Data Web&lt;/a&gt; for while. I&amp;#39;ve also written sparingly about &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot; id=&quot;link-id105bd100&quot;&gt;OpenLink Data Spaces&lt;/a&gt; (a Data Web Platform that build using Virtuoso). On the other hand, I haven&amp;#39;t shed much light on installation and deployment of OpenLink Data Spaces.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://blog.jonudell.net&quot; id=&quot;link-id14347f20&quot;&gt;Jon Udell&lt;/a&gt; recently penned a post titled: &lt;a href=&quot;http://blog.jonudell.net/2007/09/21/the-fourth-platform/&quot; id=&quot;link-id1439ed48&quot;&gt;The Fourth Platform&lt;/a&gt;. The post arrives at a spookily coincidental time (this happens quite often between Jon and I as demonstrated last year during our &lt;a href=&quot;http://weblog.infoworld.com/udell/gems/ju_idehen.mp3&quot; id=&quot;link-id107d17a8&quot;&gt;podcast&lt;/a&gt;; the &amp;quot;Fourth&amp;quot; in his Innovators Podcast series).&lt;/p&gt; &lt;p&gt;The platform that Jon describes is &amp;quot;Cloud Based&amp;quot; and comprised of Storage and Computation. I would like to add Data Access and Management (native and virtual) under the fourth platform banner with the end product called: &amp;quot;Cloud based Data Spaces&amp;quot;. &lt;/p&gt; &lt;p&gt;As I write, we are releasing a Virtuoso AMI (Amazon Image) labeled: virtuoso-dataspace-server. This edition of&lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id13543210&quot;&gt; Virtuoso&lt;/a&gt; includes the OpenLink Data Spaces Layer and all of the OAT applications we&amp;#39;ve been developing for a while.&lt;/p&gt; &lt;h2&gt;What Benefits Does this offer?&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Personal Data Spaces in the Cloud - a place where you can control and consolidate data across your Blogs, Wikis, RSS/Atom Feed Subscriptions, Shared Bookmarks, Shared Calendars, Discussion Threads, Photo Galleries etc&lt;/li&gt; &lt;li&gt;All the data in your Data &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Spaces&quot;&gt;Space&lt;/a&gt; is &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id1149a4f8&quot;&gt;SPARQL&lt;/a&gt; or &lt;a href=&quot;http://dbpedia.org/resource/GData&quot; id=&quot;link-id107a9f28&quot;&gt;GData&lt;/a&gt; accessible.&lt;/li&gt; &lt;li&gt;All of the data in your Personal Data Space is &lt;a href=&quot;http://dbpedia.org/resource/Linked_Data&quot;&gt;Linked Data&lt;/a&gt; from the get go. Each Item of data is &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot;&gt;URI&lt;/a&gt; addressable&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/SIOC&quot; id=&quot;link-id104f4160&quot;&gt;SIOC&lt;/a&gt; support - your Blogs, Wikis, Bookmarks etc.. are based on the SIOC ontology for Semantically Interlinking Online Communities (think: Open social-graph++) &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/Friend_of_a_friend&quot; id=&quot;link-id105beb78&quot;&gt;FOAF&lt;/a&gt; support - your FOAF Profile page provides a URI that is an in-road to all Data in your Data Space.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/OpenID&quot; id=&quot;link-id1144e138&quot;&gt;OpenID&lt;/a&gt; support - your Personal Data Space ID is usable wherever OpenID is supported. OpenID and FOAF are integrated as per latest FOAF specs&lt;/li&gt; &lt;li&gt;Two Integration with Facebook - You can access your Data Space from Facebook or access Facebook from your Data Space&lt;/li&gt; &lt;li&gt;Unified Storage - The WebDAV based filesystem provides Cloud Storage that&amp;#39;s integrated with Amazon S3; It also exposes all of your Data Space data via a traditional filesystem UI (think virtual Spotlight); You can also mount this drive to your local filesystem via your native operating system&amp;#39;s WebDAV support&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/resource/SyncML&quot; id=&quot;link-id11128f48&quot;&gt;SyncML&lt;/a&gt; - you can sync calendar and contact details with your Data Space in the cloud from your Mobile phone.&lt;/li&gt; &lt;li&gt;A practical Semantic Data Web solution - based on Web Infrastructure and doesn&amp;#39;t require you to do anything beyond exposing URIs for data in your Data Spaces.&lt;/li&gt; &lt;/ol&gt; &lt;h2&gt; &lt;a href=&quot;http://dbpedia.org/resource/Amazon_Elastic_Compute_Cloud&quot; id=&quot;link-id115d1920&quot;&gt;EC2&lt;/a&gt;-AMI Details:&lt;/h2&gt; &lt;ul&gt;AMI ID: ami-e2ca2f8b&lt;/ul&gt; &lt;ul&gt;Manifest file: virtuoso-images/virtuoso-dataspace-server.manifest.xml&lt;/ul&gt; &lt;h2&gt;Installation Guide:&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Get an Amazon Web Services (AWS) account&lt;/li&gt; &lt;li&gt;Signup for S3 and EC2 services&lt;/li&gt; &lt;li&gt;Install the EC2 plugin for Firefox&lt;/li&gt; &lt;li&gt;Start the EC2 plugin&lt;/li&gt; &lt;li&gt;Locate the row containingÂ &lt;b&gt;ami-7c31d515Â Â ManifestÂ virtuoso-test/virtuoso-cloud-beta-9-i386.manifest.xmlÂ &lt;/b&gt;(sort using the AMI ID or Manifest Columns or search on pattern: virtuoso, due to name flux)&lt;/li&gt; &lt;li&gt;Start the Virtuoso Data Space Server AMI&lt;/li&gt; &lt;li&gt;Wait 4-5 minutes (*take a few minutes to create the pre-configured Linux Image*)&lt;/li&gt; &lt;li&gt;Connect to http://&lt;public_dns_name_of_your_instance&gt;http://your-ec2-instance-cname:8890/ Log in with user/password dba/dba&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;Go to the Admin UI (Virtuoso Conductor) and change the PWDs for the &amp;#39;dba&amp;#39; and &amp;#39;dav&amp;#39; accounts (*Important!*)&lt;/li&gt; &lt;li&gt;Give the &amp;quot;SPARQL&amp;quot; user &amp;quot;SPARQL_UPDATE&amp;quot; privileges (required if you want to exploit the in-built Sponger Middleware)&lt;/li&gt; &lt;li&gt;Click on the &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot;&gt;ODS&lt;/a&gt; (OpenLink Data Spaces) link to start an Personal Editon of OpenLink Data Spaces (or go to: http://your-ec2-instance-cname/dataspace/ods/index.html)&lt;/li&gt; &lt;li&gt;Log-in using the username and password credentials for the &amp;#39;dav&amp;#39; account (or register a new user note: OpenID is an option here also) Create an Data Space Application Instance by clicking on a Data Space App. Tab&lt;/li&gt; &lt;li&gt;Import data from your existing Web 2.0 style applications into OpenLink Data Spaces e.g. subscribe to a few RSS/Atom feeds via the &amp;quot;Feeds Manager&amp;quot; application or import some Bookmarks using the &amp;quot;Bookmarks&amp;quot; application&lt;/li&gt; &lt;li&gt;Then look at the imported data in Linked Data form via your ODS generated URIs based on the patterns: http://your-ec2-instance-cname/dataspace/person/your-ods-id#this (URI for You the Person), http://your-ec2-instance-cname/dataspace/person/your-ods-id (FOAF File URI), http://your-ec2-instance-cname/dataspace/your-ods-id (SIOC File URI)&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt; &lt;h2&gt; (OAT) from your Data Space instance&lt;/h2&gt;Install the OAT VAD package via the Admin UI and then apply the URI patterns below within your browser:&lt;br /&gt; &lt;ol&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/oatdemo - Entire OAT Demo Collection&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/rdfbrowser - RDF Browser&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/isparql - SPARQL Query Builder (iSPARQL)&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/qbe - SQL Query Builder (iSQL)&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/formdesigner - Forms Builder (for building Meshups based on RDF, SQL, or Web Servives Data Souces)&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/dbdesigner - SQL DB Schema Designer (note a Visual SQL-RDF Mapper is also on it&amp;#39;s way&lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;li&gt;http://&lt;public_dns_name_of_your_instance&gt;:8890/DAV/JS/ - To view the OAT Tree (there are some experimental demos that are missing from the main demo app etc..) &lt;/public_dns_name_of_your_instance&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;There&amp;#39;s more to come!&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Yet Another RDFa Demo</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-09-03#1249</atom:id>
  <atom:published>2007-09-03T17:59:02Z</atom:published>
  <atom:updated>2008-02-04T20:44:37.000009-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.ivan-herman.net/Ivan_Herman&quot;&gt;Ivan Herman&lt;/a&gt; just posted another nice example of practical &lt;a href=&quot;http://dbpedia.org/resource/RDFa&quot;&gt;RDFa&lt;/a&gt; usage in a blog post titled: &lt;a href=&quot;http://ivanherman.wordpress.com/2007/09/03/yet-another-rdfa-processor…/&quot;&gt;Yet Another RDFa Proccessor&lt;/a&gt;. In his post, Ivan exposes a &lt;a href=&quot;http://dbpedia.org/resource/Uniform_Resource_Identifier&quot;&gt;URI&lt;/a&gt; for his&lt;a href=&quot;http://www.ivan-herman.net/foaf.html&quot;&gt; FOAF-in-RDFa file&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Since I am &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1243&quot;&gt;aggressively tracking RDFa developments&lt;/a&gt;, I decided to quickly view &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/DataWeb/ivan_herman_foaf_via_rdfa.wqx&quot;&gt;Ivan&amp;#39;s FOAF-in-RDFa file via the OpenLink RDF Browser&lt;/a&gt;. The full implications are best understood when you click on each of the Browser&amp;#39;s Tabs -- each providing a different perspective on this interesting addition to the Semantic Data Web (note: the &lt;a href=&quot;http://www.w3.org/2005/04/fresnel-info/&quot;&gt;Fresnel&lt;/a&gt; Tab which demonstrates declarative UI templating using N3).&lt;/p&gt; &lt;h3&gt;What&amp;#39;s Going on Here?&lt;/h3&gt; &lt;p&gt;The &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;OpenLink RDF Browser&lt;/a&gt; is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Rich_internet_application&quot;&gt;Rich Internet Application&lt;/a&gt; built using OAT (&lt;a href=&quot;http://oat.openlinksw.com&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;). In my case, I am deploying the RDF Browser from a &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;Virtuoso&lt;/a&gt; instance, which implies that the Browser is able to use the &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1172&quot;&gt;Virtuoso Sponger&lt;/a&gt; Middleware (exposed as a REST Service at the Virtuoso instance endpoint: /proxy); which includes an RDFa Cartridge comprised of a metadata extractor and an &lt;a href=&quot;http://dbpedia.org/resource/RDF_Schema&quot;&gt;RDF Schema&lt;/a&gt; / &lt;a href=&quot;http://dbpedia.org/resource/Web_Ontology_Language&quot;&gt;OWL Ontology&lt;/a&gt; mapper. That&amp;#39;s it!&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Power of Structured Data Exposure via RDFa</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-08-23#1243</atom:id>
  <atom:published>2007-08-23T22:41:36Z</atom:published>
  <atom:updated>2008-02-04T20:45:02.000004-05:00</atom:updated>
  <atom:content type="html">I regularly check announcement from &lt;a href=&quot;http://ben.adida.net/&quot;&gt;Ben Adida&lt;/a&gt; re. &lt;a href=&quot;http://dbpedia.org/page/RDFa&quot;&gt;RDFa&lt;/a&gt; as part of a perpetual certification process for my ODS based Weblog. The most recent post from Ben contains a link to an &amp;quot;&lt;a href=&quot;http://rdfa.info/rdfa-in-the-wild/&quot;&gt;RDFa in the Wild&lt;/a&gt;&amp;quot; portal (in the making).&lt;br /&gt; &lt;br /&gt;One I installed Opertaor 0.8 and then scanned a few of the pages from the RDFa portal. &lt;a href=&quot;http://www.kaply.com/operator/operator.xpi&quot;&gt;Operator 0.8&lt;/a&gt; didn&amp;#39;t do much for me i.e. if the RDFa didn&amp;#39;t express RDF aligned in some form to a microformat that it understood, it simply routed it&amp;#39;s findings to a generic &amp;quot;resource&amp;quot; category :-( Of course, it is possible to enhance this aspect of Operator (and I may get round to that some day). Anyway, I pressed on, and took one of the more interesting URIs from the RDFa page and pasted that into the OpenLink RDF Browser instead. Here are the links:&lt;br /&gt; &lt;br /&gt;1. &lt;a href=&quot;http://seal.ifi.unizh.ch/%7Emhermann/pax/web/index.php/publication/rdfalist%20&quot;&gt;Semantically annotated publication database using Ajax&lt;/a&gt; (a page containing structured data expressed in RDF and exposed via RDFa)&lt;br /&gt; &lt;br /&gt;2. &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html?uri=http%3A%2F%2Fseal.ifi.unizh.ch%2F%7Emhermann%2Fpax%2Fweb%2Findex.php%2Fpublication%2Frdfalist&quot;&gt;Same Page via OpenLink RDF Browser&lt;br /&gt; &lt;/a&gt; &lt;br /&gt;The RDF Browser uses the &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=sponger&amp;type=text&amp;output=html&quot;&gt;Virtuoso Sponger&lt;/a&gt; to extract the embedded &lt;a href=&quot;http://dbpedia.org/page/RDF&quot;&gt;RDF&lt;/a&gt; from RDFa embedded in the page.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>OpenLink Ajax Toolkit (OAT) 2.6 Released!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-08-01#1238</atom:id>
  <atom:published>2007-08-01T18:34:07Z</atom:published>
  <atom:updated>2007-08-01T14:49:17-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.openlinksw.com&quot;&gt;OpenLink Software&lt;/a&gt; are pleased to announce release 2.6 of the &lt;a href=&quot;http://oat.openlinksw.com&quot;&gt;OpenLink AJAX Toolkit&lt;/a&gt; (OAT).&lt;/p&gt; &lt;p&gt; New Semantic Data Web related features and enhancements include:&lt;/p&gt; &lt;ul&gt; * A Javascript-based &lt;a href=&quot;http://www.w3.org/2005/04/fresnel-info/&quot;&gt;Fresnel&lt;/a&gt; processor enabling declarative RDF-based display templates for RDF Data Sources&lt;/ul&gt; &lt;ul&gt;* An XSLT template for generating HTML pages from the Fresnel processor&amp;#39;s XML output&lt;/ul&gt; &lt;ul&gt;* &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/isparql/index.html&quot;&gt;Interactive Query Builder for SPARQL&lt;/a&gt; (iSPARQL). This version of the iSPARQL application includes support for INSERTs and DELETEs&lt;/ul&gt; &lt;ul&gt;* Enhanced Javascript-based N3/Turtle parser&lt;/ul&gt; &lt;ul&gt;* New Navigator viewer panel for &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;RDF Browser&lt;/a&gt;.&lt;/ul&gt; Related Items: &lt;ul&gt;*&lt;a href=&quot;http://sourceforge.net/projects/oat&quot;&gt;Project Home Page&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt;*&lt;a href=&quot;http://sourceforge.net/projects/oat/files&quot;&gt;Source Code&lt;/a&gt; &lt;/ul&gt; &lt;ul&gt;*&lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html&quot;&gt;Live Features Demonstrations&lt;/a&gt;.&lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso Sponger &amp; RDFa</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-07-25#1236</atom:id>
  <atom:published>2007-07-25T11:15:14Z</atom:published>
  <atom:updated>2007-07-25T07:03:46-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Triggered by &lt;a href=&quot;http://ivanherman.wordpress.com/2007/07/22/yet-another-rdfa-converter/&quot;&gt;Ivan&amp;#39;s Herman&amp;#39;s post about Triplr &lt;/a&gt;and &lt;a href=&quot;http://www.w3.org/TR/xhtml-rdfa-primer/&quot;&gt;RDFa&lt;/a&gt;, I quickly took the &lt;a href=&quot;http://rdfa.info/&quot;&gt;RDFa Info page URI&lt;/a&gt; from his post and pasted it into the &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;OpenLink RDF Browser&lt;/a&gt;. As expected, I received &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/DataWeb/RDFa_Tracker.wqx&quot;&gt;RDF Triples from the RDFa Data Source&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Note:This all happens because the &lt;a href=&quot;http://sourceforge.net/projects/oat&quot;&gt;OAT&lt;/a&gt; based RDF Browser simply makes a call to the &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s+BLOG+%5B127%5D/1172&quot;&gt;Virtuoso Sponger&lt;/a&gt;&amp;#39;s REST service which is exposed at the endpoint &amp;quot;/proxy&amp;quot; (note: this is standard with all Virtuoso Installations).&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Linked Data &amp; The Web Information BUS</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-07-20#1231</atom:id>
  <atom:published>2007-07-20T07:50:00Z</atom:published>
  <atom:updated>2007-08-08T18:26:55-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.wiwiss.fu-berlin.de/suhl/ueber_uns/team/chris_bizer.htm&quot;&gt;Chris Bizer&lt;/a&gt;, &lt;a href=&quot;http://richard.cyganiak.de/&quot;&gt;Richard Cyganiak&lt;/a&gt;, and &lt;a href=&quot;http://kmi.open.ac.uk/people/tom/html&quot;&gt;Tom Heath&lt;/a&gt; have just published a &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/&quot;&gt;Linked Data Publishing Tutorial&lt;/a&gt; that provides a guide to the mechanics of Linked Data injection into the Semantic Data Web.&lt;/p&gt; &lt;p&gt; On different, but related, thread, &lt;a href=&quot;http://www.mkbergman.com&quot;&gt;Mike Bergman&lt;/a&gt; recently penned a post titled: &lt;a href=&quot;http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~3/134989485/&quot;&gt;What is the Structured Web?&lt;/a&gt;. Both of these public contributions shed light on the &amp;quot;Information BUS&amp;quot; essence of the World Wide Web by describing the evolving nature of the payload shuttled by the BUS. &lt;/p&gt; &lt;h3&gt;What is an Information BUS? &lt;/h3&gt; &lt;p&gt;Middleware infrastructure for shuttling &amp;quot;Information&amp;quot; between endpoints using a messaging protocol.&lt;/p&gt; &lt;p&gt;The Web is the dominant Information BUS within the Network Computer we know as the &amp;quot;Internet&amp;quot;. It uses HTTP to shuttle information payloads between &amp;quot;Data Sources&amp;quot; and &amp;quot;Information Consumers&amp;quot; - what happens when we interact with Web via User Agents / Clients (e.g Browsers). &lt;/p&gt; &lt;h3&gt;What are Web Information Payloads?&lt;/h3&gt; &lt;p&gt;HTTP transported streams of contextualized data. Hence the terms: &amp;quot;Information Resource&amp;quot; and &amp;quot;Non Information&amp;quot; when reading material related to &lt;a href=&quot;http://www.w3.org/2001/tag/doc/httpRange-14/2007-05-31/HttpRange-14#iddiv2104118728&quot;&gt;http-range-14 and Web Architecture&lt;/a&gt;. For example, an (X)HTML document is a specific data context (representation) that enables us to perceive, or comprehend, a data stream originating from a Web Server as a Web Page. On the other hand, if the payload lacks contextualized data, a fundamental Web requirement, then the resource is referred to as a &amp;quot;Non Information&amp;quot; resource. Of course, there is really no such thing as a &amp;quot;Non Information&amp;quot; resource, but with regards to Web Architecture, it&amp;#39;s the short way of saying: &amp;quot;the Web Transmits Information only&amp;quot;. That said, I prefer to refer to these &amp;quot;Non Information&amp;quot; resources as &amp;quot;Data Sources&amp;quot;, are term well understood in the world of Data Access Middleware (ODBC, JDBC, OLEDB, ADO.NET etc.) and Database Management Systems (Relational, Objec-Relational, Object etc).&lt;/p&gt; &lt;p&gt;Examples of Information Resource and Data Source URIs:&lt;/p&gt; &lt;ul&gt; &lt;a href=&quot;http://demo.openlinksw.com/Northwind/Customer/ALFKI&quot;&gt;http://demo.openlinksw.com/Northwind/Customer/ALFKI&lt;/a&gt; (Information Resource)&lt;/ul&gt; &lt;ul&gt; &lt;a href=&quot;http://demo.openlinksw.com/sparql?query=CONSTRUCT+{+%3Chttp%3A//demo.openlinksw.com/Northwind/Customer/ALFKI%23this%3E+%3Fp+%3Fo+}+FROM+%3Chttp%3A//demo.openlinksw.com/Northwind%3E+WHERE+{+%3Chttp%3A//demo.openlinksw.com/Northwind/Customer/ALFKI%23this%3E+%3Fp+%3Fo+}&amp;format=application/rdf%2Bxml&quot;&gt;http://demo.openlinksw.com/Northwind/Customer/ALFKI#this&lt;/a&gt; (Data Source)&lt;/ul&gt; &lt;p&gt;Explanation: The Information Resource is a conduit to the Entity identified by Data Source (an entity in my RDF Data Space that is the Subject or Object of one of more Triple based Statements. The triples in question can that can be represented as an RDF resource when transmitted over the Web via an Information Resource that takes the form of a SPARQL REST Service URL or a Physical RDF based Information Resource URL). &lt;/p&gt; &lt;h3&gt;What about Structured Data?&lt;/h3&gt; &lt;p&gt;Prior to the emergence of the Semantic Data Web, the payloads shuttled across the Web Information BUS comprised primarily of the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;HTML - Web Resource with presentation focused structure (Web 1.0 dominant payload form)&lt;/li&gt; &lt;li&gt;XML - Web Resource with structure that separates presentation and data (Web 2.0&amp;#39;s dominant payload form).&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;The Semantic Data Web simply adds &lt;a href=&quot;http://blogs.usnet.private:8893/Resource_Description_Framework&quot;&gt;RDF&lt;/a&gt; to the payload formats that shuttle the Web Information BUS. RDF addresses formal data structure which XML doesn&amp;#39;t cover since it is semi-structured (distinct data entities aren&amp;#39;t formally discernible). In a nutshell, an RDF payload is basically a conceptual model database packaged as an Information Resource. It&amp;#39;s comprised of granular data items called &amp;quot;Entities&amp;quot;, that expose fine grained properties values, individual and/or group characteristics (attributes), and relationships (associations) with other Entities.&lt;/p&gt; &lt;h3&gt;Where is this all headed? &lt;/h3&gt; &lt;p&gt;The Web is in the final stages of the 3rd phase of it&amp;#39;s evolution. A phase characterized by the shuttling of structured data payloads (RDF) alongside less data oriented payloads (HTML, XHTML, XML etc.). As you can see, &lt;a href=&quot;http://linkeddata.org&quot;&gt;Linked Data&lt;/a&gt; and Structured Data are both terms used to describe the addition of more data centric payloads to the Web. Thus, you could view the process of creating a Structured Web of Linked Data as follows:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Identify or Create Structured Data Sources&lt;/li&gt; &lt;li&gt;Name these Data Sources using Data Source URIs&lt;/li&gt; &lt;li&gt;Expose Structured Data Sources to the Web as Linked Data using Information Resource (conduit) URIs&lt;/li&gt; &lt;/ol&gt; &lt;h3&gt;Conclusions&lt;/h3&gt; &lt;p&gt;The Semantic Data Web is an evolution of the current Web (an Information Space) that adds structured data payloads (RDF) to current, less data oriented, structured payloads (HTML, XHTML, XML, and others).&lt;/p&gt; &lt;p&gt;The Semantic Data Web is increasingly seen as an inevitability because it&amp;#39;s rapidly reaching the point of critical mass (i.e. network effect kick-in). As a result, Data Web emphasis is moving away from: &amp;quot;What is the Semantic Data Web?&amp;quot; To: &amp;quot;How will Semantic Data Web make our globally interconnected village an even better place?&amp;quot;, relative to the contributions accrued from the Web thus far. Remember, the initial &amp;quot;Document Web&amp;quot; (Web 1.0) bootstrapped because of the benefits it delivered to blurb-style content publishing (remember the term electronic brochure-ware?). Likewise, in the case of the &amp;quot;Services Web&amp;quot; (Web 2.0), the bootstrap occurred because it delivered platform independence to Web Application Developers - enabling them to expose application logic behind Web Services. It is my expectation that the Data Integration prowess of the Data Web will create a value exchange realm for data architects and other practitioners from the database and data access realms.&lt;/p&gt; &lt;h3&gt;Related Items&lt;/h3&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://www.mkbergman.com/?p=153&quot;&gt;Mike Bergman&amp;#39;s post about Semi-Structured Data&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=structured%20data&amp;type=text&amp;output=html&quot;&gt;My Posts covering Structured and Un-Structured Containers&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Enterprise 0.0, Linked Data, and Semantic Data Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-06-14#1224</atom:id>
  <atom:published>2007-06-14T15:28:26Z</atom:published>
  <atom:updated>2008-02-04T23:19:26.000001-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Last week we &lt;a href=&quot;http://www.openlinksw.com/press/virt_501.htm&quot;&gt;officially released Virtuoso 5.0.1&lt;/a&gt; (in Commercial and Open Source Editions). The press release provided us with an official mechanism and timestamp for the current Virtuoso feature set.&lt;/p&gt; &lt;p&gt;A vital component of the new Virtuoso release is the finalization of our SQL to RDF mapping functionality -- enabling the declarative mapping of SQL Data to RDF. Additional technical insight covering other new features (delivered and pending) is provided by &lt;a href=&quot;http://www.openlinksw.com/weblogs/oerling/&quot;&gt;Orri Erling&lt;/a&gt;, as part of a series of post-Banff posts.&lt;/p&gt; &lt;h2&gt;Why is SQL to RDF Mapping a Big Deal?&lt;/h2&gt; &lt;p&gt;A majority of the world&amp;#39;s data (especially in the enterprise realm) resides in SQL Databases. In addition, Open Access to the data residing in said databases remains the biggest challenge to enterprises for the following reasons:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; SQL Data Sources are inherently heterogeneous because they are acquired with business applications that are in many cases inextricably bound to a particular DBMS engine &lt;/li&gt; &lt;li&gt; Data is predictably dirty &lt;/li&gt; &lt;li&gt; DBMS vendors ultimately hold the data captive and have traditionally resisted data access standards such as ODBC (*trust me they have, just look at the unprecedented bad press associated with ODBC the only truly platform independent data access API. Then look at how this bad press arose..*) &lt;/li&gt; &lt;/ol&gt; &lt;p&gt; Enterprises have known from the beginning of modern corporate times that data access, discovery, and manipulation capabilities are inextricably linked to the &amp;quot;Real-time Enterprise&amp;quot; nirvana (hence my use of 0.0 before this becomes 3.0).&lt;/p&gt; &lt;p&gt;In my experience, as someone whose operated in the data access and data integration realms since the late &amp;#39;80s, I&amp;#39;ve painfully observed enterprises pursue, but unsuccessfully attain, full control over enterprise data (the prized asset of any organization) such that data-, information-, knowledge-workers are just a click away from commencing coherent platform and database independent data drill-downs and/or discovery that transcend intranet, internet, and extranet boundaries -- serendipitous interaction with relevant data, without compromise!&lt;/p&gt; &lt;p&gt;Okay, situation analysis done, we move on.. &lt;/p&gt; &lt;p&gt;At our most recent (&lt;a href=&quot;http://esw.w3.org/topic/CambridgeSemanticWebGatherings/Meeting/2007-06-12_Gathering&quot;&gt;12th June&lt;/a&gt;) monthly &lt;a href=&quot;http://esw.w3.org/topic/CambridgeSemanticWebGatherings&quot;&gt;Semantic Web Gathering&lt;/a&gt;, I unveiled to &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/card#i&quot;&gt;TimBL&lt;/a&gt; and a host of other attendees a simple, but powerful, demonstration of how &lt;a href=&quot;http://en.wikipedia.org/wiki/Linked_Data&quot;&gt;Linked Data&lt;/a&gt;, as an aspect of the &lt;a href=&quot;http://www.businessweek.com/technology/content/apr2007/tc20070409_961951.htm&quot;&gt;Semantic Data Web&lt;/a&gt;, can be applied to enterprise data integration challenges.&lt;/p&gt; &lt;h2&gt;Actual SQL to RDF Mapping Demo / Experiment&lt;/h2&gt; &lt;h4&gt;Hypothesis&lt;/h4&gt; A SQL Schema can be effectively mapped declaratively to RDF such that SQL Rows morph into RDF Instance Data (Entity Sets) based on the Concepts &amp;amp; Properties defined in a Concrete Conceptual Data Model oriented Data Dictionary (&lt;a href=&quot;http://www.w3schools.com/rdf/rdf_schema.asp&quot;&gt;RDF Schema&lt;/a&gt; and/or &lt;a href=&quot;http://www.w3schools.com/rdf/rdf_owl.asp&quot;&gt;OWL Ontology&lt;/a&gt;). In addition, the solution must demonstrate how &amp;quot;Linked Data in the Web&amp;quot; is completely different from &amp;quot;Data on the Web&amp;quot; or &amp;quot;Linked Data on the Web&amp;quot; (btw - &lt;a href=&quot;http://kasei.us/people/Tom_Heath/&quot;&gt;Tom Heath&lt;/a&gt; eloquently unleashed this point in his recent &lt;a href=&quot;http://blogs.talis.com/nodalities/2007/06/tom_heath_talks_with_talis_abo.php&quot;&gt;podcast interview with Talis&lt;/a&gt;). &lt;h4&gt;Apparatus&lt;/h4&gt; An Ontology - in this case we simply derived the &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind_Ontology.isparql&quot;&gt;Northwind Ontology&lt;/a&gt; from the XML Schema based CSDL (&lt;a href=&quot;http://blogs.msdn.com/adonet/archive/2007/01/30/entity-data-model-part-1.aspx&quot;&gt;Conceptual Schema Definition Language&lt;/a&gt;) used by Microsoft&amp;#39;s public &lt;a href=&quot;http://astoria.mslivelabs.com/Default.aspx&quot;&gt;Astoria demo&lt;/a&gt; (specifically the &lt;a href=&quot;http://astoria.mslivelabs.com/termsOfUseNorthwind.aspx?returnURL=Northwind&quot;&gt;Northwind Data Services demo&lt;/a&gt;). SQL Database Schema - &lt;a href=&quot;http://www.microsoft.com/library/media/1033/technet/images/prodtechnol/sql/2000/maintain/sscpop07_big.gif&quot;&gt;Northwind&lt;/a&gt; (comes bundled with ACCESS, SQL Server, and Virtuoso) comprised of tables such as: &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Customer&quot;&gt;Customer&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Employee&quot;&gt;Employee&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Product&quot;&gt;Product&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Category&quot;&gt;Category&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Supplier&quot;&gt;Supplier&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/schemas/northwind#Shipper&quot;&gt;Shipper&lt;/a&gt; etc. &lt;a href=&quot;http://www.openlinksw.com/virtuoso/&quot;&gt;OpenLink Virtuoso&lt;/a&gt; - SQL DBMS Engine (although this could have been any &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_Database_Connectivity&quot;&gt;ODBC&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Java_Database_Connectivity&quot;&gt;JDBC&lt;/a&gt; accessible Database), &lt;a href=&quot;http://www.openlinksw.com/virtuoso/Whitepapers/pdf/Virtuoso_SQL_to_RDF_Mapping.pdf&quot;&gt;SQL-RDF Metaschema Language&lt;/a&gt;, HTTP URL-rewriter, WebDAV Engine, and DBMS hosted XSLT processor Client Tools -&lt;a href=&quot;http://demo.openlinksw.com/isparql/&quot;&gt; iSPARQL Query Builder&lt;/a&gt;, &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;RDF Browser&lt;/a&gt; (which could also have been &lt;a href=&quot;http://www.w3.org/2005/ajar/tab&quot;&gt;Tabulator&lt;/a&gt; or&lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/&quot;&gt; DISCO&lt;/a&gt; or a standard Web Browser) &lt;h4&gt;Experiment / Demo&lt;/h4&gt; &lt;ol&gt; &lt;li&gt; Declaratively map the Northwind SQL Schema to RDF using the Virtuoso Meta Schema Language (see: &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/northwind_sql_rdf.sql&quot;&gt;Virtuoso PL based Northwind_SQL_RDF script&lt;/a&gt;) &lt;/li&gt; &lt;li&gt; Start browsing the data by clicking on the URIs that represent the RDF Data Model Entities resulting from the SQL to RDF Mapping &lt;/li&gt; &lt;/ol&gt; &lt;h4&gt;Observations&lt;/h4&gt; &lt;ol&gt; &lt;li&gt; Via a single Data Link click I was able to obtain specific information about the Customer represented by the URI &lt;a href=&quot;http://demo.openlinksw.com/Northwind/Customer/ALFKI&quot;&gt;&amp;quot;ALFKI&amp;quot;&lt;/a&gt; (act of URI Dereferencing as you would an Object ID in an Object or Object-Relational Database) &lt;/li&gt; &lt;li&gt; Via a &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind.isparql&quot;&gt;Dynamic Data Page &lt;/a&gt; I was able to explore all the entity relationships or specific entity data (i.e Exploratory or Entity specific dereferencing) in the Northwind Data Space &lt;/li&gt; &lt;li&gt; I was able to perform similar exploration (as per item 2) using our &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind_Customer_ALFKI.wqx&quot;&gt;OpenLink Browser. &lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;h4&gt;Conclusions&lt;/h4&gt; &lt;p&gt;The vision of data, information, or knowledge at your fingertips is nigh! Thanks to the infrastructure provided by the Semantic Data Web (URIs, &lt;a href=&quot;http://en.wikipedia.org/wiki/Resource_Description_Framework&quot;&gt;RDF Data Model&lt;/a&gt;, variety of RDF Serialization Formats[&lt;a href=&quot;http://www.dajobe.org/2004/01/turtle/&quot;&gt;1&lt;/a&gt;][&lt;a href=&quot;http://www.w3.org/DesignIssues/Notation3&quot;&gt;2&lt;/a&gt;][&lt;a href=&quot;http://www.w3.org/TR/2002/WD-rdf-syntax-grammar-20020325/&quot;&gt;3&lt;/a&gt;], and Shared Data Dictionaries / Schemas / Ontologies [&lt;a href=&quot;http://xmlns.com/foaf/spec/&quot;&gt;1&lt;/a&gt;][&lt;a href=&quot;http://rdfs.org/sioc/spec/&quot;&gt;2&lt;/a&gt;][&lt;a href=&quot;http://www.w3.org/TR/swbp-skos-core-guide/&quot;&gt;3&lt;/a&gt;][&lt;a href=&quot;http://musicontology.com/&quot;&gt;4&lt;/a&gt;][&lt;a href=&quot;http://bblfish.net/work/atom-owl/2006-06-06/AtomOwl.html&quot;&gt;5&lt;/a&gt;]) it&amp;#39;s now possible to Virtualize enterprise data from the Physical Storage Level, through the Logical Data Management Levels (Relational), up to a Concrete Conceptual Model (Graph) without operating system, development environment or framework, or database engine lock-in.&lt;/p&gt; &lt;h2&gt;Next Steps&lt;/h2&gt; &lt;p&gt;We produce a shared ontology for the CRM and Business Reporting Domains. I hope this experiment clarifies how this is quite achievable by converting XML Schemas to RDF Data Dictionaries (RDF Schemas or Ontologies). Stay tuned :-) &lt;/p&gt; &lt;p&gt;Also watch &lt;a href=&quot;http://news.com.com/1606-2-6189377.html&quot;&gt;TimBL amplify and articulate Linked Data value&lt;/a&gt; in a recent interview.&lt;/p&gt; &lt;h2&gt;Other Related Matters&lt;/h2&gt; &lt;p&gt;To deliver a mechanism that facilitates the crystallization of this reality is a contribution of boundless magnitude (as we shall all see in due course). Thus, it is easy to understand why even &amp;quot;her majesty&amp;quot;, the queen of England, simply had to get in on the act and &lt;a href=&quot;http://www.royal.gov.uk/output/Page1880.asp&quot;&gt;appoint TimBL to the &amp;quot;British Order of Merit&lt;/a&gt;&amp;quot; :-)&lt;/p&gt; &lt;p&gt;Note: All of the demos above now work with IE &amp;amp; Safari (a &amp;quot;remember what Virtuoso is epiphany&amp;quot;) by simply putting Virtuoso&amp;#39;s DBMS hosted XSLT engine to use :-) This also applies to my earlier collection of demos from the &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=hello%20data%20web&amp;type=text&amp;output=html&quot;&gt;Hello Data Web&lt;/a&gt; and other &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=.isparql&amp;type=text&amp;output=html&quot;&gt;Data Web &amp;amp; Linked Data related demo style posts&lt;/a&gt;.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Exploring The Semantic Web &amp; SPARQL FAQs, Linked Data Style!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-05-31#1205</atom:id>
  <atom:published>2007-05-31T21:59:20Z</atom:published>
  <atom:updated>2007-05-31T17:43:47.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The recently released &lt;a href=&quot;http://www.w3.org/2001/sw/SW-FAQ&quot;&gt;Semantic Web FAQ&lt;/a&gt; (authored by &lt;a href=&quot;http://www.w3.org/People/Ivan/&quot;&gt;Ivan Herman&lt;/a&gt;) has some neat Rich Internet and &lt;a href=&quot;http://www.w3.org/2001/sw/&quot;&gt;Semantic Data Web&lt;/a&gt; embellishments contributed by Ivan and &lt;a href=&quot;http://thefigtrees.net/lee/blog/&quot;&gt;Lee Feigenbaum&lt;/a&gt;. As a result, we not only have a great Semantic Web FAQ document, we also inherit a coherent piece of &amp;quot;demo fodder&amp;quot; that aids the general (S)emantic (W)eb (E)ducation and (O)reach (&lt;a href=&quot;http://www.w3.org/2001/sw/sweo/&quot;&gt;SWEO&lt;/a&gt;) that is clearly in full swing.&lt;/p&gt; &lt;p&gt;Of course, this also enables me to provide yet another Semantic Data Web demo in the form of additional viewing perspectives for the aforementioned FAQ (just click to see):&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.openlinksw.com:8890/DAV/home/demo/dataweb/linked_data_pages/semantic_web_faq_overview.isparql&quot;&gt;Semantic Web FAQ via Dynamic Data Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.openlinksw.com:8890/DAV/home/demo/dataweb/browser_sessions/exploring_semantic_web_faq.wqx&quot;&gt;Semantic Web FAQ via OpenLink Browser&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Lee also embarked on a similar embellishment effort re. the&lt;a href=&quot;http://thefigtrees.net/lee/sw/sparql-faq&quot;&gt; SPARQL Query Language FAQ&lt;/a&gt; thereby enabling me to also offer alternative viewing perspectives along similar lines:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.openlinksw.com:8890/DAV/home/demo/dataweb/linked_data_pages/sparql_faq_overview.isparql&quot;&gt;SPARQL FAQ via Dynamic Data Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.openlinksw.com:8890/DAV/home/demo/dataweb/browser_sessions/exploring_sparql_faq.wqx&quot;&gt;SPARQL FAQ via OpenLink Browser&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Presentation: RDF REST and the future of Data</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-04-16#1186</atom:id>
  <atom:published>2007-04-16T14:31:31Z</atom:published>
  <atom:updated>2007-04-16T22:38:30.000002-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;A nice presentation about Data Programmability and the journey towards RDF based Concrete Conceptual Models by &lt;a href=&quot;http://www.base4.net/Blog.aspx&quot;&gt;Alex James&lt;/a&gt; Titled: &lt;a href=&quot;http://www.base4.net/Blog.aspx?ID=365&quot;&gt;RDF REST and the future of Data&lt;/a&gt;. &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More Ajax Security</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-04-04#1177</atom:id>
  <atom:published>2007-04-04T12:16:21Z</atom:published>
  <atom:updated>2007-04-04T19:49:07.000003-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The Recent security Ajax security alert &lt;a href=&quot;http://blogs.usnet.private:8893/RPC2&quot;&gt;&lt;/a&gt; have attracted comments from: &lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://burningbird.net/&quot;&gt;Shelley Powers&lt;/a&gt; via her post titled: &lt;a href=&quot;http://burningbird.net/adding-ajax/more-ajax-security/&quot;&gt; More Ajax Security &lt;/a&gt; and many others.&lt;/p&gt; &lt;p&gt;In anticipation of the obvious concerns of many Javascript based developers,&lt;a href=&quot;http://myopenlink.net/dataspace/ondras&quot;&gt; Ondrej Zara&lt;/a&gt; (lead developer of the &lt;a href=&quot;http://oat.openlinksw.com&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;) has written a post titled: &lt;a href=&quot;http://www.openlinksw.com/weblog/oat/index.vspx?page=&amp;id=1176&quot;&gt;OAT and JS Hijacking&lt;/a&gt;, that explains the security aspects our Javascript Toolkit in relation to this alert&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>RDF based Integration Challenges (update)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-03-30#1174</atom:id>
  <atom:published>2007-03-30T21:18:26Z</atom:published>
  <atom:updated>2007-03-30T19:35:35-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://dannyayers.com/&quot;&gt;Danny Ayers&lt;/a&gt; responds, via his post titled: &lt;a href=&quot;http://dannyayers.com/2007/03/30/sampling&quot;&gt;Sampling&lt;/a&gt;, to &amp;quot;Stefano Mazzochi&amp;#39;s post about &lt;a href=&quot;http://www.betaversion.org/~stefano/linotype/news/101/&quot;&gt;Data Integration using Semantic Web Technologies&lt;/a&gt;.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;quot;There is a potential problem with republication of transformed data, in that right away there may be inconsistency with the original source data. Here provenance tracking (probably via named graphs) becomes a must-have. The web data space itself can support very granular separation. Whatever, data integration is a hard problem. But if you have a uniform language for describing resources, at least it can be possible.&amp;quot;&lt;br /&gt; &lt;/p&gt; &lt;p&gt;Alex James also chimes in with valuable insights in his post: &lt;a href=&quot;http://www.base4.net&quot;&gt;Sampling the global data model&lt;/a&gt;, where he concludes:&lt;/p&gt; &lt;blockquote&gt;&amp;quot;Exactly we need to use projected views, or conceptual models. &amp;#39; &lt;p&gt; See a projected view can be thought of as a conceptual model that has some mapping to a *sampling* of the global data model.&lt;/p&gt; &lt;p&gt;The benefits of introducing this extra layer are many and varied: Simplicity, URI predictability, Domain Specificity and the ability to separate semantics from lower level details like data mapping.&lt;/p&gt; &lt;p&gt;Unfortunately if you look at todayâs ORMs you will quickly notice that they simply map directly from Object Model to Data Model in one step.&lt;/p&gt; &lt;p&gt;This naÃ¯ve approach provides no place to manage the mapping to a conceptual model that sampling the worldâs data requires.&lt;/p&gt; &lt;p&gt;What we need to solve the problems Stefano sees is to bring together the world of mapping and semantics. And the place they will meet is simply the Conceptual Model.&amp;quot;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Data Integration challenges arise because the following facts hold true all of the time (whether we like it or not):&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Data Heterogeneity is a fact of life at the intranet and internet levels &lt;/li&gt; &lt;li&gt;Data is rarely clean&lt;/li&gt; &lt;li&gt;Data Integration prowess are ultimately measured by pain alleviation&lt;/li&gt; &lt;li&gt;A some point human participation is required, but the trick is to move human activity up the value chain&lt;/li&gt; &lt;li&gt;Glue code size and Data Integration success are inversely related&lt;/li&gt; &lt;li&gt;Data Integration is best addressed via &amp;quot;M&amp;quot; rather than &amp;quot;C&amp;quot; (if we use the MVC pattern as a guide. &amp;quot;V&amp;quot; is dead on arrival for the scrappers out there)&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;In 1997 we commenced the &lt;a href=&quot;http://www.openlinksw.com/virtuoso/&quot;&gt;Virtuoso&lt;/a&gt; Virtual DBMS Project that morphed into the &lt;a href=&quot;http://en.wikipedia.org/wiki/Virtuoso_Universal_Server&quot;&gt;Virtuoso Universal Server&lt;/a&gt;; A fusion of DBMS functionality and Middleware functionality in a single product. The goal of this undertaking remains alleviation of the costs associated with Data Integration Challenges by Virtualizing Data at the Logical and Conceptual Layers.&lt;/p&gt; &lt;p&gt;The Logical Data Layer has been concrete for a while (e.g Relational DBMS Engines), what hasn&amp;#39;t reached the mainstream is the &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=conceptual%20data%20model&amp;type=text&amp;output=html&quot;&gt;Concrete Conceptual Model&lt;/a&gt;, but this is changing fast courtesy of the activity taking place in the realm of RDF.&lt;/p&gt; &lt;p&gt;RDF provides an Open and Standards compliant vehicle for developing and exploiting Concrete Conceptual Data Models that ultimately move the Human aspect of the &amp;quot;Data Integration alleviation quest&amp;quot; higher up the value chain. &lt;/p&gt; &lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Semantic Web: State of Affairs Presentation</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-03-26#1167</atom:id>
  <atom:published>2007-03-26T17:09:02Z</atom:published>
  <atom:updated>2007-03-26T13:02:53-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.ivan-herman.net&quot;&gt;Ivan Herman&lt;/a&gt; has published another great Semantic Web presentation titled: &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(1)&quot;&gt;State of the Semantic Web&lt;/a&gt;. I have placed links to some key points below; primarily for those who are new to the Semantic Web vision or somewhat confused about it thus far:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(47)&quot;&gt;Messaging Issues&lt;/a&gt; - &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(49)&quot;&gt;misconceptions&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(51)&quot;&gt;misrepresentations&lt;/a&gt; (e.g &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(48)&quot;&gt;intermingling or RDF the Data Model and RDF/XML one of several serialization formats&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(5)&quot;&gt;RDF Data Availability&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(25)&quot;&gt;Generating RDF from non RDF Data&lt;/a&gt; (&amp;quot;RDF Tax&amp;quot; eradication)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2007/Talks/0223-Bangalore-IH/Slides.html#(11)&quot;&gt;Querying RDF Data Sources&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Personal URIs &amp; Data Spaces</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-03-01#1148</atom:id>
  <atom:published>2007-03-01T19:42:41Z</atom:published>
  <atom:updated>2007-03-02T09:14:02.000004-05:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://www.johnbreslin.com/blog/2007/03/01/linking-personal-posted-content-across-communities/#comments&quot;&gt;Linking personal posted content across communities&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p&gt;With the help of Kingsley, Uldis and I have been looking at how &lt;a href=&quot;http://sioc-project.org/&quot;&gt;SIOC&lt;/a&gt; can be used to link the content that a single person posts to a number of community sites. The picture below shows an example of stuff that Iâve created on Flickr, YouTube, etc. through my various user identities on those sites (these match some &lt;a href=&quot;http://wiki.sioc-project.org/index.php/TypesModule&quot;&gt;SIOC types&lt;/a&gt; that we want to add to a separate module). We can also say that each Web 2.0 content item is a user-contributed post, with some attached or embedded content (e.g. a file or maybe just some metadata). This is part of a new discussion on the &lt;a href=&quot;http://groups.google.com/group/sioc-dev&quot;&gt;sioc-dev&lt;/a&gt; mailing list, and weâd value your contributions.&lt;/p&gt; &lt;p&gt; &lt;img id=&quot;image1178&quot; src=&quot;http://www.johnbreslin.com/blog/wp-content/uploads/2007/03/20070228a.png&quot; alt=&quot;20070228a.png&quot; /&gt; &lt;/p&gt; &lt;p&gt;Edit: The inner layer is a person (semantically described in FOAF), the next layer is their user accounts (described in FOAF, SIOC) and the outer layer is the posted content - text, files, associated metadata - on community sites (again described using SIOC). &lt;/p&gt; No Tags&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://www.johnbreslin.com/blog&quot;&gt;John Breslin - Cloudlands&lt;/a&gt;.)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;The point that John is making about the Data Web and Interlinked &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=&#39;data%20spaces&#39;&amp;type=text&amp;output=html&quot;&gt;Data Spaces&lt;/a&gt; exposed via &lt;a href=&quot;http://en.wikipedia.org/wiki/Uniform_Resource_Identifier&quot;&gt;URI&lt;/a&gt;s (e.g Personal URIs), crystallizes a number of very important issues about the Data Web that may remain unclear. I am hoping that by digesting the post excerpt above, in conjunction with the items below, aids the pursuit of clarity and comprehension about the all important Data Web (Semantic Web - Layer 1):&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://kidehen.idehen.net/dataspace/kidehen&quot;&gt;Your OpenID can be Your Personal URI&lt;/a&gt; (as noted by &lt;a href=&quot;http://blogs.sun.com/bblfish/&quot;&gt;Henry Story&lt;/a&gt;&amp;#39;s post about: &lt;a href=&quot;http://blogs.sun.com/bblfish/entry/openid_for_blogs_sun_com&quot;&gt;The Many Uses of OpenID&lt;/a&gt;). That that&amp;#39;s what I have courtesy of OpenLink Data Spaces (ODS)&lt;/li&gt; &lt;li&gt;The above only works unobtrusively (i.e. OpenID and Personal sharing a URI) if Content Negotiation is exploited on the Client and Server sides.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/card.rdf&quot;&gt;TimBL&lt;/a&gt;&amp;#39;s call out to &lt;a href=&quot;http://www.w3.org/DesignIssues/LinkedData.html&quot;&gt;Share Your Data and Link to Other Data&lt;/a&gt; via URIs via post titled: &lt;a href=&quot;http://dig.csail.mit.edu/breadcrumbs/node/71&quot;&gt;Give Yourself a URI&lt;/a&gt;.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/TR/swbp-vocab-pub/&quot;&gt;W3C&amp;#39;s Best Practice Recipes for Publishing RDF Vocabularies&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/TR/2004/REC-webarch-20041215/#dereference-uri&quot;&gt;W3C&amp;#39;s Architecture of the World Wide Web - Vol 1&lt;/a&gt; which covers URI Dereferencing (HTTP GET-ing the data that a URI points to)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/is-group/page/persons/Person6&quot;&gt;Richard Cyganiak&lt;/a&gt;&amp;#39;s post titled: &lt;a href=&quot;http://dowhatimean.net/2007/02/debugging-semantic-web-sites-with-curl&quot;&gt;Debugging Semantic Web Sites with Curl&lt;/a&gt;.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Examples of some of these principles in practice:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Chris Bizer, Tobias Gaub, and Richard&amp;#39;s Javascript based&lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/semwebclient/&quot;&gt; Semantic Web Client Library&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/&quot;&gt;DISCO RDF Browser&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://oat.openlinksw.com&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;&amp;#39;s (OAT) &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/tests/rdfbrowser/index.html&quot;&gt;RDF Browser&lt;/a&gt; &lt;/li&gt; &lt;li&gt;OpenLink &lt;a href=&quot;http://demo.openlinksw.com/isparql&quot;&gt;Interactive SPARQL Query by Example&lt;/a&gt; (iSPARQL QBE)&lt;/li&gt; &lt;li&gt;Dynamic Data Web Pages from my prior posts [&lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1144&quot;&gt;1&lt;/a&gt;][&lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=&amp;id=1145&quot;&gt;2&lt;/a&gt;][&lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=&amp;id=1146&quot;&gt;3&lt;/a&gt;]&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://dbpedia.org/docs/&quot;&gt;dbpedia&lt;/a&gt; (Wikipedia as a Data Web oriented Data Source)&lt;/li&gt; &lt;li&gt;And of course this blog post&amp;#39;s permalink is a bona fide dereferencable URI.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;And of course there is more to come such as Grandma&amp;#39;s Semantic Web Browser which is coming from &lt;a href=&quot;http://fgiasson.com/blog/index.php/2007/02/18/zitgist_a_semantic_web_search_engine&quot;&gt;Zitgist LLC&lt;/a&gt; (pronounced: Zeitgeist) a joint venture of OpenLink Software and &lt;a href=&quot;http://fgiasson.com/blog/&quot;&gt;Frederick Giasson&lt;/a&gt;.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Rich Clients, Conceptual Models, and Self-Describing Data</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-02-25#1145</atom:id>
  <atom:published>2007-02-25T18:45:00Z</atom:published>
  <atom:updated>2007-02-26T18:27:47.000009-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.base4.net&quot;&gt;Alex James&lt;/a&gt; has just written an interesting piece titled: &lt;a href=&quot;http://www.base4.net/Blog.aspx?ID=329&quot;&gt;Who Controls Your Model&lt;/a&gt;, that sets the stage for introducing the concept of &amp;quot;Self Describing Data&amp;quot;. To cut a long story short, RDF is one example of a mechanism that facilitates the assembly/construction of self-describing databases (built around a Concrete Conceptual Model) that allows instance data to be serialized using open serialization formats such as: XML, N3, Turtle, TriX.&lt;/p&gt; &lt;p&gt;Rich Internet Applications ultimately enable intelligent processing of self-describing databases originating from data servers as demonstrated by these examples:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/kidehen_dataspace.isparql.xml&quot;&gt;My Dynamic Data Web Start Page&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/home/demo/Public/Queries/bizer_dataspace.isparql.xml&quot;&gt;Chris Bizer Data Space&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/tests/rdfbrowser/index.html&quot;&gt;Our RDF Browser&lt;/a&gt; (just enter a Web URI e.g http://sites.wiwiss.fu-berlin.de/suhl/bizer/foaf.rdf or http://www.openlinksw.com and then drill down; not Grandma&amp;#39;s unobtrusive Data Web Navigator, but headed in that direction..)&lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>XMP and microformats revisited</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-02-17#1140</atom:id>
  <atom:published>2007-02-17T17:43:05Z</atom:published>
  <atom:updated>2007-02-17T12:43:05.000001-05:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://blog.jonudell.net/2007/02/15/xmp-and-microformats-revisited/#comments&quot;&gt;XMP and microformats revisited&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;div class=&quot;snap_preview&quot;&gt; &lt;p&gt; Yesterday I exercised poetic license when I suggested that Adobeâs &lt;a href=&quot;http://www.adobe.com/products/xmp/overview.html&quot;&gt;Extensible metadata platform (XMP)&lt;/a&gt; was not only the spiritual cousin of microformats like &lt;a href=&quot;http://microformats.org/wiki/hcalendar&quot;&gt;hCalendar&lt;/a&gt; but also, perhaps, more likely to see widespread use in the near term. My poetic license was revoked, though, in a couple of comments: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://gondwanaland.com/mlog/2007/02/14/xmp-microformat/&quot;&gt;Mike Linksvayer&lt;/a&gt;: How someone as massively clued-in as Jon Udell could be so misled as to describe XMP as a microformat is beyond me. &lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://dannyayers.com/2007/02/15/microsoft-vista-slipup&quot;&gt;Danny Ayers&lt;/a&gt;: Like Mike I donât really understand Jonâs references to microformats - I first assumed he meant XMP could be replaced with a uF. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; Actually, Iâm serious about this. If I step back and ask myself what are the essential qualities of a microformat, itâs a short list: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;A small chunk of machine-readable metadata,&lt;/li&gt; &lt;li&gt;embedded in a document.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt; Mike notes: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; XMP is embedded in a binary file, completely opaque to nearly all users; microformats put a premium on (practically require) colocation of metadata with human-visible HTML. &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; Yes, I understand. And as someone who is composing this blog entry as XHTML, in emacs, using a semantic CSS tag that will enable me to search for quotes by Mike Linksvayer and find the above fragment, Iâm obviously all about metadata coexisting with human-readable HTML. And Iâve been applying this technique since &lt;a href=&quot;http://webservices.xml.com/lpt/a/1223&quot;&gt;long before&lt;/a&gt; I ever heard the term microformats â my own term was originally microcontent. &lt;/p&gt; &lt;p&gt;(Via &lt;a href=&quot;http://blog.jonudell.net&quot;&gt;Jon Udell&lt;/a&gt;.)&lt;/p&gt; &lt;p&gt;I believe Jon is acknowledging the fact that the propagation of metadata in &amp;quot;Binary based&amp;quot; Web data sources is no different to the microformats based propagation that is currently underway in full swing across the &amp;quot;Text based&amp;quot; Web data sources realm. He is reiterating the fact that the Web is self-annotating (exponentially) by way of Metadata Embedding. And yes, what he describes is a similar to Microformats in substance and propagation style :-)&lt;/p&gt; &lt;p&gt;Here is what I believe Jon is hoping to see:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; Binary files become valid data sources for Metadata oriented query processing. Technically I mean a binary file becomes a valid data source from which RDF Instance could be generated on the fly. &lt;/li&gt; &lt;li&gt;Enhanement or unveiling of the Data Web by way of meshups that combine metadata from an array or data sources (not just the XML, (X)HTML, or RDF variety)&lt;/li&gt; &lt;li&gt;The ability to use an array of query languages and techniques to construct these meshups&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;My little &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=1137&quot;&gt;Hello Data Web!&lt;/a&gt;&amp;quot; meme was about demonstrating a view that Danny has sought for a while: unobtrusive &lt;a href=&quot;http://www.w3.org/TR/grddl-scenarios/&quot;&gt;meshing of microformats and RDF via GRDDL and SPARQL&lt;/a&gt; binding that simply eliminates the often perceived &amp;quot;RDF Tax&amp;quot;. Danny, Jon, myself, and many others have always understood that making the Data Web (Web of RDF Instance Data) more of a Force (Star Wars style) is the key to unravelling the power of the &amp;quot;Web as a Database&amp;quot;. Of course, we also tend the describe our nirvana in different ways that sometimes obscures the fundamental commonality of vision that we all share.&lt;/p&gt; &lt;p&gt; Personally, I believe everyone should simply &amp;quot;feel the force&amp;quot; or observe &amp;quot;the bright and dark sides of the force&amp;quot; that is &lt;a href=&quot;http://en.wikipedia.org/wiki/Resource_Description_Framework&quot;&gt;RDF&lt;/a&gt;. When this occurs en masse there will be a global epiphany (similar to what happened around the time of the initial unveiling of the Web of Hypertext). Jon&amp;#39;s meme brings the often overlooked realm of binary based metadata sources into the general discourse.&lt;/p&gt; &lt;p&gt;JBinary Files as bona fide Data Web URIs (i.e. Metadata Sources) is much closer than you think :-) I should have my &amp;quot;Hello Data Web of Binary Data Sources&amp;quot; unveiled very soon!&lt;/p&gt; &lt;/div&gt; &lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>OAT: OpenAjax Alliance Compliant Toolkit (Live Links Version)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2007-01-29#1129</atom:id>
  <atom:published>2007-01-29T16:16:14Z</atom:published>
  <atom:updated>2007-02-02T10:29:55-05:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://ajaxian.com/archives/oat-openajax-alliance-compliant-toolkit&quot;&gt;OAT: OpenAjax Alliance Compliant Toolkit&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p&gt;Ondrej Zara and his team at Openlink Software have created a Openlink Software JS Toolkit, known as OAT. It is a full-blown JS framework, suitable for developing&lt;br /&gt; rich applications with special focus to data access.&lt;/p&gt; &lt;p&gt;OAT works standalone, offers vast number of widgets and has some rarely seen features, such as on-demand library loading (which reduces the total amount of downloaded JS code).&lt;/p&gt; &lt;p&gt;OAT is one of the first JS toolkits which show full OpenAjax Alliance conformance: see the appropriate &lt;a href=&quot;http://www.openajax.org/member/wiki/InteropFest_2007_March)&quot;&gt;wiki page&lt;/a&gt; and &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/openajax/HubTest-OATConformance.html&quot;&gt;conformance test page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;There is a lot to see with this toolkit:&lt;/p&gt; &lt;p&gt;You can see some of the widgets in a &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html&quot;&gt;Kitchen sink application&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Sample data access applications:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/qbe/index.html&quot;&gt;SQL Query By Example&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/formdesigner/index.html&quot;&gt;Forms designer&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/designer/index.html&quot;&gt;DB Designer&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;OAT is Open Source and GPLâed over at &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=168143&quot;&gt;sourceforge&lt;/a&gt; and the team has recently managed to incorporate our OAT data access layer as a&lt;br /&gt; module to &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/dojo-oatstore-demo/test_OATStore_in_FilteringTable.html&quot;&gt;dojo datastore&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;(Via &lt;a href=&quot;http://ajaxian.com&quot;&gt;Ajaxian Blog&lt;/a&gt;.)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;This is a corrected version of the initial post. Unfortunately, the initial post was inadvertently littered with invalid links :-( Also, since the original post we have released &lt;a href=&quot;http://sourceforge.net/mailarchive/forum.php?thread_id=31568932&amp;amp;forum_id=49207&quot;&gt;OAT 1.2&lt;/a&gt; that includes integration of our iSPARQL QBE into the OAT Form Designer application.&lt;/p&gt; &lt;p&gt;Re. Data Access, It is important to note that OAT&amp;#39;s Ajax Database Connectivity layers supports data binding to the following data source types:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/TR/rdf-primer/&quot;&gt;RDF&lt;/a&gt; - via &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html?dav&quot;&gt;SPARQL&lt;/a&gt; (Query Language, Protocol, and Resultset Serialization formats: &lt;a href=&quot;http://en.wikipedia.org/wiki/JDBC&quot;&gt;RDF/XML&lt;/a&gt;, &lt;a href=&quot;http://www.w3.org/DesignIssues/Notation3&quot;&gt;RDF/N3&lt;/a&gt;, &lt;a href=&quot;http://www.dajobe.org/2004/01/turtle/&quot;&gt;RDF/Turtle&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;, and &lt;a href=&quot;http://www.json.org/&quot;&gt;JSON&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/SQL&quot;&gt;SQL&lt;/a&gt; - via &lt;a href=&quot;http://www.xmla.org/faq.asp&quot;&gt;XMLA&lt;/a&gt; (somewhat forgotten &lt;a href=&quot;http://en.wikipedia.org/wiki/SOAP&quot;&gt;SOAP&lt;/a&gt; protocol for SQL Data Access that can sit atop &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_Database_Connectivity&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/ADO.NET&quot;&gt;ADO.NET&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/OLE_DB&quot;&gt;OLE-DB&lt;/a&gt;, and even &lt;a href=&quot;http://en.wikipedia.org/wiki/JDBC&quot;&gt;JDBC&lt;/a&gt;)&lt;/li&gt; &lt;li&gt;XML - via SOAP or &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;REST&lt;/a&gt; style Web Services&lt;/li&gt; &lt;/ol&gt; In all cases, OAT also provides Data Aware controls for the above that include: &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlnksw.com/DAV/JS/demo/index.html?grid&quot;&gt;Tabular Grids&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html?pivot&quot;&gt;Pivot Tables&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlnksw.com/DAV/JS/demo/index.html?timeline&quot;&gt;TimeLines&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html?anchor&quot;&gt;Extended Anchor Tags&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlnksw.com/DAV/JS/demo/index.html?mashups&quot;&gt;Map Service Controls&lt;/a&gt; (Google, Yahoo!, OpenLayers, Microsoft Visual Earth)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html?rdf&quot;&gt;SVG based RDF Graph Control&lt;/a&gt; (Opera 9.x provides best viewing experience at the current time)&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;OAT also includes a number of prototype applications that are completely developed using OAT Controls and Libraries:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlnksw.com/isparql/&quot;&gt;Visual SPARQL Query Builder&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/qbe/index.html&quot;&gt;Visual SQL Query Builder&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/formdesigner/index.html&quot;&gt;Web Forms Designer&lt;/a&gt; (includes Drag-Drop usage of Data Aware Controls etc.)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/designer/index.html&quot;&gt;Visual DB Designer&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Note: Pick &amp;quot;Local DSN&amp;quot; from page initialization dialog&amp;#39;s drop-down list control when prompted&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Music Ontology</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-12-22#1104</atom:id>
  <atom:published>2006-12-22T18:28:04Z</atom:published>
  <atom:updated>2006-12-26T11:18:28.000005-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://apassant.net/blog/post/2006/12/22/The-Music-Ontology&quot;&gt;The Music Ontology&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p&gt;A new and exciting project in the Semantic Web area: &lt;a href=&quot;http://pingthesemanticweb.com/ontology/mo/&quot; hreflang=&quot;en&quot;&gt;The Music Ontology&lt;/a&gt;, by &lt;a href=&quot;http://fgiasson.com&quot; hreflang=&quot;en&quot;&gt;Frederic Giasson&lt;/a&gt; (PTSW, TalkDigger).&lt;/p&gt; &lt;p&gt;Its goal is to provide a vocabulary to describe Artists, Releases, Songs and so on in RDF. It is mainly based on the &lt;a href=&quot;http://www.ldodds.com/projects/musicbrainz/schema/mb.html&quot; hreflang=&quot;en&quot;&gt;MusicBrainz Metadata Vocabulary&lt;/a&gt;, but with new improvements as defining relationships between artists and links to external services. And, most important thing, a lot of triples from the current &lt;a href=&quot;http://musicbrainz.com&quot; hreflang=&quot;en&quot;&gt;MusicBrainz&lt;/a&gt; database should be available in a few weeks. A &lt;a href=&quot;http://www.fuzzlogic.com/flex/&quot; hreflang=&quot;en&quot;&gt;mailing-list&lt;/a&gt; has been launched for discussions and improvements.&lt;/p&gt; &lt;p&gt;I was waiting for this kind of vocabulary (and data) for some time (as I never took time to look as &lt;a href=&quot;http://musicbrainz.org/doc/Database&quot; hreflang=&quot;en&quot;&gt;MBz database export&lt;/a&gt;) especially to easilly find all covers of a given song. From another point of view, I&amp;#39;ll be happy to use it to represent - and query - various releases of a given record (using the &lt;code&gt;mo:other_release_of property&lt;/code&gt;), especially for vynil &lt;a href=&quot;http://www.fuzzlogic.com/flex/g/2155.php&quot; hreflang=&quot;en&quot;&gt;records with reissues&lt;/a&gt; (so what about a &lt;code&gt;mo:reissue&lt;/code&gt; property ?) with different colors, inner sleeve ...&lt;/p&gt; &lt;p&gt;Well, finally what about converting the &lt;a href=&quot;http://www.fuzzlogic.com/flex/&quot; hreflang=&quot;en&quot;&gt;FLEX book&lt;/a&gt; in RDF to query this huge punk and hardcore database (and use its URIs for want-lists) ?&lt;/p&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://apassant.net/blog/&quot;&gt;Alexandre Passant - Terraces&lt;/a&gt;.)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SPARQL, Ajax, Tagging, Folksonomies, Share Ontologies and Semantic Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-12-07#1095</atom:id>
  <atom:published>2006-12-07T17:35:29Z</atom:published>
  <atom:updated>2006-12-13T15:09:50-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;A quick dump that demonstrates how I integrate tags and links from del.icio.us with links from my local bookmark database via one of my public Data Spaces (this demo uses the &lt;a href=&quot;http://myopenlink.net:8890/dataspace/kidehen&quot;&gt;kidehen Data Space&lt;/a&gt;).&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/&quot;&gt;SPARQL&lt;/a&gt; (query language for the Semantic Web) basically enables me to query a collection of typed links (predicates/properties/attributes) in my Data Space (&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot;&gt;ODS&lt;/a&gt; based of course) without breaking my existing local bookmarks database or the one I maintain at del.icio.us.&lt;/p&gt; &lt;p&gt;I am also demonstrating how &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_2.0&quot;&gt;Web 2.0&lt;/a&gt; concepts such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Tags&quot;&gt;Tagging&lt;/a&gt; mesh nicely with the more formal concepts of Topics in the Semantic Web realm. The key to all of this is the ability to generate &lt;a href=&quot;http://www.w3.org/TR/rdf-primer/&quot;&gt;RDF Data Model&lt;/a&gt; Instance Data based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Upper_ontology_(computer_science)&quot;&gt;Shared Ontologies&lt;/a&gt; such as &lt;a href=&quot;http://rdfs.org/sioc/spec/&quot;&gt;SIOC&lt;/a&gt; (from &lt;a href=&quot;http://www.semanticweb.org/&quot;&gt;DERI&lt;/a&gt;&amp;#39;s &lt;a href=&quot;http://sioc-project.org/&quot;&gt;SIOC Project&lt;/a&gt;) and &lt;a href=&quot;http://www.w3.org/2004/02/skos/&quot;&gt;SKOS&lt;/a&gt; (again showing that &lt;a href=&quot;http://tomgruber.org/writing/ontology-of-folksonomy.htm&quot;&gt;Ontologies and Folksonomies&lt;/a&gt; are complimentary).&lt;/p&gt; &lt;p&gt;This demo also shows that Ajax also works well in the Semantic Web realm (or &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/?id=1037&quot;&gt;web dimension of interaction 3.0&lt;/a&gt;) especially when you have a toolkit with Data Aware controls (for SQL, RDF, and XML) such as OAT (&lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/demo/index.html&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;). For instance, we&amp;#39;ve successfully used this to build a &lt;a href=&quot;http://myopenlink.net:8890/isparl/&quot;&gt;Visual Query Building Tool for SPARQL&lt;/a&gt; (alpha) that really takes a lot of the pain out of constructing SPARQL Queries (there is much more to come on this front re. handling of DISTINCT, FILTER, ORDER BY etc..). &lt;/p&gt; &lt;p&gt;For now, take a look at the SPARQL Query dump generated by this &lt;a href=&quot;http://myopenlink.net:8890/DAV/home/kidehen/gallery/my_photos/sparql_qbe_sioc_skos_shot1.png&quot;&gt;SIOC &amp;amp; SKOS SPARQL QBE Canvas Screenshot&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;You can cut and paste the queries that follow into the Query Builder or use the screenshot to build your variation of this query sample. Alternatively, you can simply click on *&lt;a href=&quot;http://myopenlink.net:8890/sparql?default-graph-uri=http%3A%2F%2Fmyopenlink.net%2Fdataspace&amp;query=PREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+sioc%3A+++%3Chttp%3A%2F%2Frdfs.org%2Fsioc%2Fns%23%3E%0D%0APREFIX+dct%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0D%0APREFIX+skos%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0D%0A%0D%0ASELECT+distinct+%3Fforum_name%2C+%3Fowner%2C+%3Fpost%2C+%3Ftitle%2C+%3Flink%2C+%3Furl+%3Ftag%0D%0AFROM+%3Chttp%3A%2F%2Fmyopenlink.net%2Fdataspace%3E%0D%0AWHERE+%7B%0D%0A++++++++%3Fforum+a+sioc%3AForum.%0D%0A++++++++%3Fforum+sioc%3Atype+%22bookmark%22.%0D%0A++++++++%3Fforum+sioc%3Aid+%3Fforum_name.%0D%0A++++++++%3Fforum+sioc%3Ahas_member+%3Fowner.%0D%0A++++++++%3Fowner+sioc%3Aid+%22kidehen%22.%0D%0A++++++++%3Fforum+sioc%3Acontainer_of+%3Fpost+.%0D%0A++++++++%3Fpost++dct%3Atitle+%3Ftitle+.%0D%0A++++++++optional+%7B+%3Fpost+sioc%3Atopic+%3Ftopic.%0D%0A+++++++++++++++++++%3Ftopic+a+skos%3AConcept%3B%0D%0A+++++++++++++++++++++++++skos%3AprefLabel+%3Ftag.+%7D%0D%0A++++++++optional%7B+%3Fpost+sioc%3Alink+%3Flink++%7D+.%0D%0A++++++++optional%7B+%3Fpost+sioc%3Alinks_to+%3Furl+%7D%0D%0A++++++%7D%0D%0AORDER+BY+%3Ftitle&amp;format=text%2Fhtml&quot;&gt;This&lt;/a&gt;* &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot;&gt;SPARQL Protocol&lt;/a&gt; URL to see the query results in a basic HTML Table. And one last thing, you can grab the &lt;a href=&quot;http://myopenlink.net:8890/DAV/home/kidehen/SPARQL/tagging_sioc_skos_delicios_my_bookmarks.rq&quot;&gt;SPARQL Query File&lt;/a&gt; saved into my &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsBriefcase&quot;&gt;ODS-Briefcase&lt;/a&gt; (the &lt;a href=&quot;http://en.wikipedia.org/wiki/WebDAV&quot;&gt;WebDAV&lt;/a&gt; repository aspect of my Data Space). &lt;/p&gt; &lt;p&gt; &lt;b&gt;Note the following SPARQL Protocol Endpoints:&lt;/b&gt; &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://myopenlink.net:8890/sparql/&quot;&gt;MyOpenLink Data Space&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://myopenlink.net:8890/isparql/&quot;&gt;Experimental Data Space SPARQL Query Builder&lt;/a&gt; (you need to register at http://myopenlink.net:8890/ods to use this version)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/sparql/&quot;&gt;Live Demo Sever&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/isparql/&quot;&gt;Demo Server SPARQL Query Builder&lt;/a&gt; (use: demo for both username and pwd when prompted)&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;My beautified Version of the SPARQL Generated by QBE (you can cut and paste into &amp;quot;Advanced Query&amp;quot; section of QBE) is presented below:&lt;/p&gt; &lt;pre&gt; PREFIX rdf: &amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt; PREFIX sioc: &amp;lt;http://rdfs.org/sioc/ns#&amp;gt; PREFIX dct: &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt; PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt; &lt;br /&gt; SELECT distinct ?forum_name, ?owner, ?post, ?title, ?link, ?url, ?tag FROM &amp;lt;http://myopenlink.net/dataspace&amp;gt; WHERE { ?forum a sioc:Forum; sioc:type &amp;quot;bookmark&amp;quot;; sioc:id ?forum_name; sioc:has_member ?owner. ?owner sioc:id &amp;quot;kidehen&amp;quot;. ?forum sioc:container_of ?post . ?post dct:title ?title . optional { ?post sioc:link ?link } optional { ?post sioc:links_to ?url } optional { ?post sioc:topic ?topic. ?topic a skos:Concept; skos:prefLabel ?tag}. } &lt;/pre&gt; &lt;p&gt;Unmodified dump from the QBE (this will be beautified automatically in due course by the QBE):&lt;/p&gt; &lt;pre&gt; PREFIX rdf: &amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt; PREFIX sioc: &amp;lt;http://rdfs.org/sioc/ns#&amp;gt; PREFIX dct: &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt; PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt; &lt;br /&gt; SELECT ?var8 ?var9 ?var13 ?var14 ?var24 ?var27 ?var29 ?var54 ?var56 WHERE { graph ?graph { ?var8 rdf:type sioc:Forum . ?var8 sioc:container_of ?var9 . ?var8 sioc:type &amp;quot;bookmark&amp;quot; . ?var8 sioc:id ?var54 . ?var8 sioc:has_member ?var56 . ?var9 rdf:type sioc:Post . OPTIONAL {?var9 dc:title ?var13} . OPTIONAL {?var9 sioc:links_to ?var14} . OPTIONAL {?var9 sioc:link ?var29} . ?var9 sioc:has_creator ?var37 . OPTIONAL {?var9 sioc:topic ?var24} . ?var24 rdf:type skos:Concept . OPTIONAL {?var24 skos:prefLabel ?var27} . ?var56 rdf:type sioc:User . ?var56 sioc:id &amp;quot;kidehen&amp;quot; . } } &lt;/pre&gt; &lt;p&gt; Current missing items re. Visual QBE for SPARQL are:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; Ability to Save properly to WebDAV so that I can then expose various saved SPARQL Queries (.rq file) from my Data Space via URIs &lt;/li&gt; &lt;li&gt; Handling of DISTINCT, FILTERS (note: OPTIONAL is handled via dotted predicate-links) &lt;/li&gt; &lt;li&gt;General tidying up re. click event handling etc. &lt;/li&gt; &lt;/ol&gt; Note: You can even open up your own account (using our &lt;a href=&quot;http://demo.openlinksw.com/ods&quot;&gt;Live Demo&lt;/a&gt; or &lt;a href=&quot;http://myopenlink.net:8890/ods&quot;&gt;Live Experiment Data&lt;/a&gt; Space servers) which enables you to repeat this demo by doing the following (post registration/sign-up): &lt;ol&gt; &lt;li&gt;Export some bookmarks from your local browser to the usual HTML bookmarks dump file&lt;/li&gt; &lt;li&gt;Create an ODS-Bookmarks Instance using your new ODS account&lt;/li&gt; &lt;li&gt;Use the ODS-Bookmark Instance to import your local bookmarks from the HTML dump file&lt;/li&gt; &lt;li&gt;Repeat the same import sequence using the ODS-Bookmark Instance, but this time pick the del.icio.us option&lt;/li&gt; &lt;li&gt;Build your query (change &amp;#39;kidehen&amp;#39; to your ODS-user-name)&lt;/li&gt; &lt;li&gt;That&amp;#39;s it you now have Semantic Web presence in the form of a Data Space for your local and del.icio.us hosted bookmarks with tags integrated&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Quick Query Builder Tip: You will need to import the following (using the Import Button in the Ontologies &amp;amp; Schemas side-bar); &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt; (&lt;a href=&quot;http://www.w3.org/TR/rdf-primer/&quot;&gt;RDF&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://rdfs.org/sioc/ns#&quot;&gt;http://rdfs.org/sioc/ns#&lt;/a&gt; (&lt;a href=&quot;http://rdfs.org/sioc/spec/&quot;&gt;SIOC&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://purl.org/dc/elements/1.1/&quot;&gt;http://purl.org/dc/elements/1.1/&lt;/a&gt; (&lt;a href=&quot;http://dublincore.org/&quot;&gt;Dublin Core&lt;/a&gt;)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.w3.org/2004/02/skos/core#&quot;&gt;http://www.w3.org/2004/02/skos/core#&lt;/a&gt; (&lt;a href=&quot;http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/&quot;&gt;SKOS&lt;/a&gt;)&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Browser Support: The SPARQL QBE is SVG based and currently works fine with the following browsers; Firefox 1.5/2.0, Camino (Cocoa variant of Firefox for Mac OS X), Webkit (Safari pre-release / advanced sibling), Opera 9.x. We are evaluating the use of the Adobe SVG plugin re. IE 6/7 support.&lt;/p&gt; &lt;p&gt;Of course this should be a screencast, but I am the middle of a plethora of things right now :-) &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More RDF scalability tests</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-11-06#1076</atom:id>
  <atom:published>2006-11-06T22:09:50Z</atom:published>
  <atom:updated>2006-11-06T17:09:54.000001-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Posted verbatim from &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/&quot;&gt;Orri Erling&amp;#39;s Blog&lt;/a&gt;.)&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1074&quot;&gt;More RDF scalability tests&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p&gt;We have lately been busy with RDF scalability. We work with the 8000 university LUBM data set, a little over a billion triples. We can load it in 23h 46m on a box with 8G RAM. With 16G we probably could get it in 16h.&lt;/p&gt; &lt;p&gt;The resulting database is 75G, 74 bytes per triple which is not bad. It will shrink a little more if explicitly compacted by merging adjacent partly filled pages. See Advances in Virtuoso Triple Storage for an in-depth treatment of the subject.&lt;/p&gt; &lt;p&gt;The real question of RDF scalability is finding a way of having more than one CPU on the same index tree without them hitting the prohibitive penalty of waiting for a mutex. The sure solution is partitioning, would probably have to be by range of the whole key. but before we go to so much trouble, well look at dropping a couple of critical sections from index random access. Also some kernel parameters may be adjustable, like a spin count before calling the scheduler when trying to get an occupied mutex. Still we should not waste too much time on platform specifics. Well see.&lt;/p&gt; &lt;p&gt;We just updated the Virtuoso Open Source cut. The latest RDF refinements are not in, so maybe the cut will have to be refreshed shortly.&lt;/p&gt; &lt;p&gt;We are also now applying the relational to RDF mapping discussed in &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSSQLRDF&quot;&gt;Declarative SQL Schema to RDF Ontology Mapping&lt;/a&gt; to the ODS applications.&lt;/p&gt; &lt;p&gt;There is a form of the mapping in the VOS cut on the net but it is not quite ready yet. We must first finish testing it through mapping all the relational schemas of the ODS apps before we can really recommend it. This is another reason for a VOS update in the near future.&lt;/p&gt; &lt;p&gt;We will be looking at the query side of LUBM after the ISWC 2006 conference. So far, we find queries compile OK for many SIOC use cases with the cost model that there is now. A more systematic review of the cost model for SPARQL will come when we get to the queries.&lt;/p&gt; &lt;p&gt;We put some ideas about inferencing in the Advances in Triple Storage paper. The question is whether we should forward chain such things as class subsumption and subproperties. If we build these into the SQL engine used for running SPARQL, we probably can do these as unions at run time with good performance and better working set due to not storing trivial entailed triples. Some more thought and experimentation needs to go into this.&lt;/p&gt; &lt;p&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More RDF scalability tests</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2006-11-01#1075</atom:id>
  <atom:published>2006-11-01T20:36:17Z</atom:published>
  <atom:updated>2008-04-16T16:53:39.000004-04:00</atom:updated>
  <atom:content type="html">&lt;div&gt; &lt;div style=&quot;display:none;&quot;&gt;More RDF scalability tests&lt;/div&gt; &lt;p&gt;We have lately been busy with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x1aeda730&quot;&gt;RDF&lt;/a&gt; scalability. We work with the 8000 university LUBM &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x185e6e00&quot;&gt;data&lt;/a&gt; set, a little over a billion triples. We can load it in 23h 46m on a box with 8G RAM. With 16G we probably could get it in 16h.&lt;/p&gt; &lt;p&gt;The resulting database is 75G, 74 bytes per triple which is not bad. It will shrink a little more if explicitly compacted by merging adjacent partly filled pages. See &lt;a href=&quot;http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSBitmapIndexing&quot; id=&quot;link-id105e5cf8&quot;&gt;Advances in Virtuoso RDF Triple Storage&lt;/a&gt; for an in-depth treatment of the subject.&lt;/p&gt; &lt;p&gt;The real question of RDF scalability is finding a way of having more than one CPU on the same index tree without them hitting the prohibitive penalty of waiting for a mutex. The sure solution is partitioning, would probably have to be by range of the whole key. but before we go to so much trouble, we&amp;#39;ll look at dropping a couple of critical sections from index random access. Also some kernel parameters may be adjustable, like a spin count before calling the scheduler when trying to get an occupied mutex. Still we should not waste too much time on platform specifics. We&amp;#39;ll see.&lt;/p&gt; &lt;p&gt;We just updated the &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x17b07998&quot;&gt;Virtuoso&lt;/a&gt; Open Source cut. The latest RDF refinements are not in, so maybe the cut will have to be refreshed shortly.&lt;/p&gt; &lt;p&gt;We are also now applying the relational to RDF mapping discussed in &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSSQLRDF&quot; id=&quot;link-id10677bb8&quot;&gt;Declarative SQL Schema to RDF Ontology Mapping&lt;/a&gt; to the &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0x1732fa20&quot;&gt;ODS&lt;/a&gt; applications.&lt;/p&gt; &lt;p&gt;There is a form of the mapping in the VOS cut on the net but it is not quite ready yet. We must first finish testing it through mapping all the relational schemas of the ODS apps before we can really recommend it. This is another reason for a VOS update in the near future.&lt;/p&gt; &lt;p&gt;We will be looking at the query side of LUBM after the ISWC 2006 conference. So far, we find queries compile OK for many SIOC use cases with the cost model that there is now. A more systematic review of the cost model for &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0xc56b868&quot;&gt;SPARQL&lt;/a&gt; will come when we get to the queries.&lt;/p&gt; &lt;p&gt;We put some ideas about inferencing in the Advances in Triple Storage paper. The question is whether we should forward chain such things as class subsumption and subproperties. If we build these into the &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0xa25c7a70&quot;&gt;SQL&lt;/a&gt; engine used for running SPARQL, we probably can do these as unions at run time with good performance and better working set due to not storing trivial entailed triples. Some more thought and experimentation needs to go into this.&lt;/p&gt; &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More RDF scalability tests</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2006-11-01#1074</atom:id>
  <atom:published>2006-11-01T19:26:40Z</atom:published>
  <atom:updated>2008-04-16T16:53:18-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;We have lately been busy with &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0x17524ab8&quot;&gt;RDF&lt;/a&gt; scalability. We work with the 8000 university LUBM &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xd4ba910&quot;&gt;data&lt;/a&gt; set, a little over a billion triples. We can load it in 23h 46m on a box with 8G RAM. With 16G we probably could get it in 16h.&lt;/p&gt; &lt;p&gt;The resulting database is 75G, 74 bytes per triple which is not bad. It will shrink a little more if explicitly compacted by merging adjacent partly filled pages. See &lt;a href=&quot;http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSBitmapIndexing&quot; id=&quot;link-id105e5cf8&quot;&gt;Advances in Virtuoso RDF Triple Storage&lt;/a&gt; for an in-depth treatment of the subject.&lt;/p&gt; &lt;p&gt;The real question of RDF scalability is finding a way of having more than one CPU on the same index tree without them hitting the prohibitive penalty of waiting for a mutex. The sure solution is partitioning, would probably have to be by range of the whole key. but before we go to so much trouble, we&amp;#39;ll look at dropping a couple of critical sections from index random access. Also some kernel parameters may be adjustable, like a spin count before calling the scheduler when trying to get an occupied mutex. Still we should not waste too much time on platform specifics. We&amp;#39;ll see.&lt;/p&gt; &lt;p&gt;We just updated the &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x189d64b8&quot;&gt;Virtuoso&lt;/a&gt; Open Source cut. The latest RDF refinements are not in, so maybe the cut will have to be refreshed shortly.&lt;/p&gt; &lt;p&gt;We are also now applying the relational to RDF mapping discussed in &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSSQLRDF&quot; id=&quot;link-id10677bb8&quot;&gt;Declarative SQL Schema to RDF Ontology Mapping&lt;/a&gt; to the &lt;a href=&quot;http://dbpedia.org/resource/OpenLink_Data_Spaces&quot; id=&quot;link-id0xa0f5fde0&quot;&gt;ODS&lt;/a&gt; applications.&lt;/p&gt; &lt;p&gt;There is a form of the mapping in the VOS cut on the net but it is not quite ready yet. We must first finish testing it through mapping all the relational schemas of the ODS apps before we can really recommend it. This is another reason for a VOS update in the near future.&lt;/p&gt; &lt;p&gt;We will be looking at the query side of LUBM after the ISWC 2006 conference. So far, we find queries compile OK for many SIOC use cases with the cost model that there is now. A more systematic review of the cost model for &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x19b96630&quot;&gt;SPARQL&lt;/a&gt; will come when we get to the queries.&lt;/p&gt; &lt;p&gt;We put some ideas about inferencing in the Advances in Triple Storage paper. The question is whether we should forward chain such things as class subsumption and subproperties. If we build these into the &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x19bbd098&quot;&gt;SQL&lt;/a&gt; engine used for running SPARQL, we probably can do these as unions at run time with good performance and better working set due to not storing trivial entailed triples. Some more thought and experimentation needs to go into this.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Contd: Web Dimensionality</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-10-24#1072</atom:id>
  <atom:published>2006-10-24T20:41:00Z</atom:published>
  <atom:updated>2006-10-25T18:19:40.000001-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://fgiasson.com&quot;&gt; Frederick Giasson&lt;/a&gt; continues &lt;a href=&quot;http://fgiasson.com/blog/index.php?title=the_first_three_dimensions_of_the_web_in&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1&quot;&gt;the conversation about the Web Experience Dimensions&lt;/a&gt; in a new post --the first of several-- that chronicles the evolution of Pingthesemanticweb.com and Talk Digger, from Interactive-Web (Web 1.0) sites to Data-Web oriented Data Spaces:&lt;br /&gt; &lt;br /&gt;On a related front, I also came across an e-Government Data Reference Model presentation (&lt;a href=&quot;http://web-services.gov/scopedrmit210172005.ppt&quot;&gt;PPT&lt;/a&gt;) by &lt;a href=&quot;http://www.project10x.com/pages/team.html&quot;&gt;Mills Davis&lt;/a&gt;  from the &lt;a href=&quot;http://colab.cim3.net/cgi-bin/wiki.pl?DRMImplementationThroughIterationandTestingPilotProjects&quot;&gt;Colab Wiki&lt;/a&gt; that  illustrates the aforementioned Web Dimensions (even though his presentation didn&amp;#39;t have dimensionality of the Web in mind) in one of its graphics (which I&amp;#39;ve yanked and placed into this post so that it has a URI courtesy of &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot;&gt;ODS&lt;/a&gt; &lt;img src=&quot;http://www.openlinksw.com/weblog/public/images/smileys/01.gif&quot; /&gt;):&lt;br /&gt; &lt;br /&gt; &lt;img src=&quot;http://www.openlinksw.com/blog/%7Ekidehen/briefcase/Public/graphics/drm-smart-search.png&quot; /&gt; &lt;br /&gt; &lt;br /&gt; Notes:&lt;br /&gt;=====&lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Conceptual&lt;/span&gt; - Data-Web (*we are starting to comprehend and use this dimension* aka Semantic Web Layer 1)&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Logical Theory &lt;/span&gt;- To follow when we let loose the intelligent agents that enrichen the Data Web experience&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Philosophy&lt;/span&gt; - by way of &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiology&quot;&gt;Axiology &lt;/a&gt;(sometime in the future, but note, we are talking Internet time :-) )&lt;br /&gt; &lt;br /&gt;I also stumbled across another graphic that actually provides visual delineation of the value propositions of XML (Structure) and RDF (Context):&lt;br /&gt; &lt;img src=&quot;http://colab.cim3.net/file/work/SICoP/EPADRM2.0/ombdrm2.gif&quot; /&gt; &lt;br /&gt;Notes:&lt;br /&gt;=====&lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Description&lt;/span&gt; - &lt;a href=&quot;http://www.w3.org/TR/xml-infoset/#intro&quot;&gt;XML&lt;/a&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Context&lt;/span&gt; - &lt;a href=&quot;http://www.w3.org/TR/rdf-concepts/&quot;&gt;RDF&lt;/a&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Sharing&lt;/span&gt; - Access Points (e.g &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/&quot;&gt;SPARQL&lt;/a&gt;, &lt;a href=&quot;http://www.xmla.org/faq.asp&quot;&gt;XMLA,&lt;/a&gt; &lt;a href=&quot;http://code.google.com/apis/gdata/&quot;&gt;GData&lt;/a&gt; Generic Query oriented Web Service Endpoints)&lt;br /&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso&#39;s SQL Schema to RDF Ontology Mapping Language (1.0)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-10-18#1064</atom:id>
  <atom:published>2006-10-18T22:18:00Z</atom:published>
  <atom:updated>2006-11-17T18:24:25-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;A new technical white paper about our declarative language for SQL Schema to RDF Ontology Mapping has just been published.&lt;/p&gt; &lt;h2&gt;What is this?&lt;/h2&gt; &lt;p&gt;A declarative language adapted from SPARQL&amp;#39;s graph pattern language (N3/Turtle) for mapping SQL Data to RDF Ontologies. We currently refer to this as a Graph Pattern based RDF VIEW Definition Language.&lt;/p&gt; &lt;h2&gt;Why is it important?&lt;/h2&gt; &lt;p&gt;It provides an effective mechanism for exposing existing SQL Data as virtual RDF Data Sets (Graphs) negating the data duplication associated with generating physical RDF Graphs from SQL Data en route to persistence in a dedicated Triple Store. &lt;/p&gt; &lt;p&gt;Enterprise applications (traditional and web based) and most Web Applications (Web 1.0 and Web 2.0) sit atop relational databases, implying that SQL/RDF model and data integration is an essential element of the burgeoning &amp;quot;Data Web&amp;quot; (Semantic Web - Layer 1) comprehension and adoption process.&lt;/p&gt; &lt;p&gt;In a nutshell, this is a quick route for non disruptive exposure of existing SQL Data to SPARQL supporting RDF Tools and Development Environments.&lt;/p&gt; &lt;h2&gt;How does it work?&lt;/h2&gt; &lt;h3&gt;RDF Side&lt;/h3&gt; &lt;ol&gt; &lt;li&gt;locate one or more Ontologies (e.g FOAF, SIOC, AtomOWL, SKOS etc.) that effectively defines the Concepts (Classes) and Terms (Predicates) to be exposed via your RDF Graph&lt;/li&gt; &lt;li&gt;Using the Virtuoso&amp;#39;s RDF View Definition Language declare a International Resource Identifier (or URI) for your Graph. Example:&lt;pre&gt;CREATE GRAPH IRI(&amp;quot;http://myopenlink.net/dataspace&amp;quot;)&lt;/pre&gt; &lt;/li&gt; &lt;li&gt;Then create Classes (Concepts), Class Properties/Predicates (Memb), and Class Instances (Inst) for the new Graph. Example: &lt;pre&gt;CREATE IRI CLASS odsWeblog:feed_iri &amp;quot;http://myopenlink.net/dataspace/kidehen/weblog/MyFeeds&amp;quot; ( in memb varchar not null, in inst varchar not null)&lt;/pre&gt; &lt;/li&gt; &lt;/ol&gt; &lt;h3&gt;SQL Side&lt;/h3&gt; &lt;ol&gt; &lt;li&gt;If Virtuoso isn&amp;#39;t your SQL Data Store, Identify the ODBC or JDBC SQL data source(s) containing the SQL data to be mapped to RDF and then link the relevant tables into Virtuoso&amp;#39;s Virtual DBMS Layer&lt;/li&gt; &lt;li&gt;Then use the RDF View Definition Language&amp;#39;s graph pattern feature to generate SQL to RDF Mapping Template for your Graph. As shown in this &lt;a href=&quot;http://www.usnet.private:8889/wiki/main/Main/VOSSQLRDF#MappingOdsBlogToAtomOwlExample&quot;&gt;ODS Weblog -&amp;gt; AtomOWL Mapping example&lt;/a&gt;.&lt;/li&gt; &lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SIOC-o-sphere &amp; Blogosphere 2.0</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-09-29#1061</atom:id>
  <atom:published>2006-09-29T22:24:34Z</atom:published>
  <atom:updated>2006-09-29T19:05:27-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;In a &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=&amp;id=1038&quot;&gt;previous blog post&lt;/a&gt; I suggested that the emerging &lt;a href=&quot;http://captsolo.net/info/blog_a.php/2006/09/29/sioc_o_sphere&quot;&gt;SIOC-o-sphere&lt;/a&gt; should be described as &amp;quot;Blogosphere 2.0&amp;quot;. Well, as I think about this a little deeper, I have come to the realization that this cannot really be correct (even though it may be more buzz worthy etc..). The fact of the matter is that, SIOC is about Semantically-Interlined Online Communities (Data Spaces) comprised of Blogs, Wikis, Discussion Forums etc.. Thus, &amp;quot;Blogosphere 2.0&amp;quot; is simply a part of the SIOC-o-sphere :-) Ditto the Wikisphere and so on...&lt;/p&gt; &lt;p&gt; What is Blogosphere 2.0 anyway?&lt;/p&gt; &lt;p&gt;Blog clusters that incorporate the &amp;quot;Open Data Access&amp;quot; dimension to their usage pattern via content exported as RDF Data Sets or Virtual RDF Data Sets (as demonstrated by the &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/ODSSIOCRef&quot;&gt;OpenLink Data Spaces SIOC Reference&lt;/a&gt;). In either scenario, the RDF rendition of blog content is accessible for to ad-hoc querying via SPARQL (btw - checkout this cool &lt;a href=&quot;http://thefigtrees.net/lee/sw/sparql-faq&quot;&gt;SPARQL FAQ&lt;/a&gt;). &lt;/p&gt; &lt;p&gt;The really fascinating thing about the &amp;quot;Blgosophere 2.0&amp;quot; is that the transition from &amp;quot;Blogosphere 1.0&amp;quot; is going to be transparent! The &amp;quot;Open Data Access&amp;quot; will actually do the talking etc..&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>OpenID meets Data Spaces etc..</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-09-20#1048</atom:id>
  <atom:published>2006-09-20T14:47:17Z</atom:published>
  <atom:updated>2006-09-26T01:42:04.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I have written extensively about &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=presence%0D%0A&amp;type=text&amp;output=html&quot;&gt;Presence&lt;/a&gt;&amp;quot;, &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=%27data%20spaces%27&amp;type=text&amp;output=html&quot;&gt;Data Spaces&lt;/a&gt;&amp;quot;, and &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=open%20data%20access&amp;type=text&amp;output=html&quot;&gt;Open Access to Data&lt;/a&gt;&amp;quot;. What I haven&amp;#39;t emphasized is how &amp;quot;Identity&amp;quot; brings this together, primarily becuase I didn&amp;#39;t have something to demonstrate, or point to, coherently etc..&lt;/p&gt; &lt;p&gt;Anyway, we now have &lt;a href=&quot;http://openid.net/&quot;&gt;OpenID&lt;/a&gt; support in OpenLink Data Spaces (ODS) which coincides nicely with the &lt;a href=&quot;http://www.openidenabled.com/software&quot;&gt;growing support of OpenID&lt;/a&gt; across the web. &lt;/p&gt; &lt;p&gt;The beauty of OpenID support in ODS is that I now have a URL that meshes with my identity (at least in line with what I have chosed to share with the public via the Web). For instance, http://www.openlinksw.com/dataspace/kidehen@openlinksw.com is my OpenID as well as my personal URI (you look closer at this link and you have a map of my Data Space).&lt;/p&gt; &lt;p&gt;To really understand what I am getting at here you should open up &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinkswl.com&quot;&gt;My OpenID URL&lt;/a&gt; using one of the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://sioc-project.org/firefox&quot;&gt;Semantic Radar&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://simile.mit.edu/piggy-bank/&quot;&gt;PiggyBank&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://esw.w3.org/topic/SIOC/Implementations&quot;&gt;SIOC Enabled Wiki&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt; To be continued.... &lt;/p&gt; &lt;p&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Creating connections between discussion clouds with SIOC</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-09-07#1036</atom:id>
  <atom:published>2006-09-08T00:56:00Z</atom:published>
  <atom:updated>2008-02-04T23:22:26.000001-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Another example of &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=%27data%20spaces%27&amp;type=text&amp;output=html&quot;&gt;Data Spaces&lt;/a&gt; in action by &lt;a href=&quot;http://www.johnbreslin.com/blog&quot;&gt;John Breslin&lt;/a&gt;.. In this case John visualizes the connections that are exploitable by creating SIOC (&lt;a href=&quot;http://rdfs.org/sioc/&quot;&gt;Semantically-Interlinked Online Communities&lt;/a&gt;) instance data from existing Distributed Collaborative Application profiles (&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=web%202.0&amp;type=text&amp;output=html&quot;&gt;Web 2.0&lt;/a&gt; in current parlance). Of course, SIOC is an Ontology for RDF data since it describes the Concepts and Terms for a a network mesh of online communities. Which by implication provides another insight into the realization that the Web we know has always been a &amp;quot;Web of Databases&amp;quot; (federation of Graph Model Databases encapsulated in Data Spaces). The emergence of &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=sparql%0D%0A&amp;type=text&amp;output=html&quot;&gt;SPARQ&lt;/a&gt;L as the standard &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/&quot;&gt;Query Language for querying RDF Data Sets&lt;/a&gt;, alongside the SPARQL Protocol for transmitting SPARQL Queries over HTTP, and the SPARQL Query Results Serialization formats (XML or JSON) Results Serialization Format), basically set the stage truly open and flexible data access across Web Data Space clusters such as: the Blogosphere, Wikispehere, Usenetverse, Linkspaces, Boardscapes, and others.&lt;/p&gt; &lt;p&gt; For additional clarity re. my comments above, you can also look at the &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/ODSSIOCRef&quot;&gt;SPARQL &amp;amp; SIOC Usecase samples document&lt;/a&gt; for our &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex&quot;&gt;OpenLink Data Spaces platform&lt;/a&gt;. Bottom line, the Semantic Web and SPARQL aren&amp;#39;t &lt;a href=&quot;http://morenews.blogspot.com/2006/09/myth-of-web-20.html&quot;&gt; BORING.&lt;/a&gt; In fact, quite the contrary, since they are essential ingredients of a more powerful Web than the one we work with today!&lt;/p&gt; &lt;p&gt;Enjoy the rest of John&amp;#39;s post:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://www.johnbreslin.com/blog/2006/09/07/creating-connections-between-discussion-clouds-with-sioc/#comments&quot;&gt;Creating connections between discussion clouds with SIOC&lt;/a&gt;: &lt;/p&gt; &lt;p&gt;(Extract from our forthcoming &lt;a href=&quot;http://blogtalk.net/Main/Program&quot;&gt; BlogTalk&lt;/a&gt; paper about browsers for SIOC.)&lt;/p&gt; &lt;p&gt; &lt;a class=&quot;imagelink&quot; title=&quot;20060907b.png&quot; href=&quot;http://www.johnbreslin.com/blog/wp-content/uploads/2006/09/20060907a.png&quot;&gt;&lt;img id=&quot;image515&quot; alt=&quot;20060907b.png&quot; src=&quot;http://www.johnbreslin.com/blog/wp-content/uploads/2006/09/20060907b.png&quot; /&gt; &lt;/a&gt; &lt;/p&gt; &lt;p&gt;SIOC provides a unified vocabulary for content and interaction description: a semantic layer that can co-exist with existing discussion platforms. Using SIOC, various linkages are created between the aforementioned concepts, which allow new methods of accessing this linked data, including:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;strong&gt;Virtual Forums&lt;/strong&gt;. These may be a gathering of posts or threads which are distributed across discussion platforms, for example, where a user has found posts from a number of blogs that can be associated with a particular category of interest, or an agent identifies relevant posts across a certain timeframe.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Distributed Conversations&lt;/strong&gt;. Trackbacks are commonly used to link blog posts to previous posts on a related topic. By creating links in both directions, not only across blogs but across all types of internet discussions, conversations can be followed regardless of what point or URI fragment a browser enters at.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Unified Communities&lt;/strong&gt;. Apart from creating a web page with a number of relevant links to the blogs or forums or people involved in a particular community, there is no standard way to define what makes up an online community (apart from grouping the people who are members of that community using FOAF or OPML). SIOC allows one to simply define what objects are constituent parts of a community, or to say to what community an object belongs (using sioc:has_part / part_of): users, groups, forums, blogs, etc.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Shared Topics&lt;/strong&gt;. Technorati (a search engine for blogs) and BoardTracker (for bulletin boards) have been leveraging the free-text tags that people associate with their posts for some time now. SIOC allows the definition of such tags (using the subject property), but also enables hierarchial or non-hierarchial topic definition of posts using sioc:topic when a topic is ambiguous or more information on a topic is required. Combining with other Semantic Web vocabularies, tags and topics can be further described using the SKOS organisation system.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;One Person, Many User Accounts&lt;/strong&gt;. SIOC also aims to help the issue of multiple identities by allowing users to define that they hold other accounts or that their accounts belong to a particular personal identity (via foaf:holdsOnlineAccount or sioc:account_of). Therefore, all the posts or comments made by a particular person using their various associated user accounts across platforms could be identified.&lt;/li&gt; &lt;/ul&gt; &lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Data Spaces and Web of Databases</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-08-28#1030</atom:id>
  <atom:published>2006-08-28T19:38:00Z</atom:published>
  <atom:updated>2006-09-04T18:58:56.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Note: An updated version of a previously unpublished blog post:&lt;/p&gt; &lt;p&gt; Continuing from &lt;a href=&quot;http://weblog.infoworld.com/udell/2006/04/28.html&quot;&gt;our recent Podcast conversation&lt;/a&gt;, Jon Udell sheds further insight into the essence of our conversation via a âStrategic Developerâ column article titled: &lt;a href=&quot;http://www.infoworld.com/cgi-bin/redirect?source=rss&amp;url=http://www.infoworld.com/article/06/05/03/77873_19OPstrategic_1.html&quot;&gt;Accessing the web of databases&lt;/a&gt;. &lt;/p&gt; &lt;p&gt; 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. &lt;/p&gt; &lt;p&gt; What is a DataSpace? &lt;br /&gt; &lt;/p&gt; &lt;p&gt;A moniker for Web-accessible atomic containers that manage and expose Data, Information, Services, Processes, and Knowledge. &lt;/p&gt; &lt;p&gt; What would you typically find in a Data Space? Examples include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Raw Data - SQL, HTML, XML (raw), XHTML, RDF etc.&lt;br /&gt; &lt;br /&gt; &lt;/li&gt; &lt;li&gt;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.&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;Web Services (Application/Service Logic) - REST or SOAP based invocation of application logic for context sensitive and controlled data access and manipulation.&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;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).&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; How do Data Spaces and Databases differ? &lt;br /&gt;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. &lt;/p&gt; &lt;p&gt;How do Data Spaces and Content Management Systems differ?&lt;br /&gt;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. &lt;/p&gt; &lt;p&gt;How do Data Spaces and Knowledgebases differ?&lt;br /&gt;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. &lt;/p&gt; &lt;p&gt; What Architectural Components make up a Data Space? &lt;/p&gt; &lt;ul&gt; &lt;li&gt;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).&lt;br /&gt; &lt;br /&gt; &lt;/li&gt; &lt;li&gt;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.&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;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.&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt;Where do Data Spaces fit into the Web&amp;#39;s rapid evolution?&lt;br /&gt;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).&lt;p&gt; Where can I see a DataSpace along the lines described, in action? &lt;/p&gt; &lt;p&gt; Just look at my blog, and take the journey as follows: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/&quot;&gt;Front Door&lt;/a&gt; (Web 1.0)&lt;/li&gt; &lt;li&gt;Lounge (Web 2.0) via &lt;a href=&quot;http://www.openlinksw.com/GData/127&quot;&gt;GData&lt;/a&gt; or &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;type=text&amp;kwds=%27semantic+web%27&amp;amp;OpenSearch&quot;&gt;OpenSearch&lt;/a&gt; &lt;/li&gt; &lt;li&gt;Floor Plan via &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/about.rdf&quot;&gt;FOAF&lt;/a&gt; or &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/sioc.rdf&quot;&gt;SIOC&lt;/a&gt; RDF Data Sets (Graphs)&lt;/li&gt; &lt;li&gt;Rest of the house (beyond Web 2.0) sendingÂ  &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSODSSparqlSamples&quot;&gt;SPARQL Queries&lt;/a&gt; to a &lt;a href=&quot;http://myopenlink.net:8890/sparql/&quot;&gt;SPARQL Endpoint&lt;/a&gt;.&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; What about other Data Spaces? &lt;/p&gt; &lt;p&gt; There are several and I will attempt to categorize along the lines of query method available: &lt;br /&gt;Type 1 (Free Text Search over HTTP): &lt;br /&gt;Google, MSN, Yahoo!, Amazon, eBay, and most Web 2.0 plays . &lt;/p&gt; &lt;p&gt; Type 2 (Free Text Search and XQuery/XPath over HTTP) &lt;br /&gt;A few blogs and Wikis (Jon Udell&amp;#39;s and a few others)&lt;/p&gt;Type 3 (RDF Data Sets and SPARQL Queryable):&lt;br /&gt; &lt;ul&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://esw.w3.org/topic/SIOC/EnabledSites&quot;&gt;SIOC enabled sites&lt;/a&gt; (aka points of semantic web presence)&lt;br /&gt; &lt;/li&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://pingthesemanticweb.com/&quot;&gt;PingTheSemantic&lt;/a&gt; &lt;br /&gt; &lt;/li&gt; &lt;/ul&gt;Type 4 (Generic Free Text Search, OpenSearch, GData, XQuery/XPath, and SPARQL):&lt;br /&gt;Points of Semantic Web presence such as the Data Spaces at: &lt;br /&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com&quot;&gt;My Blog Data Space&lt;/a&gt; (as stated earlier in this post)&lt;br /&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://myopenlink.net:8890/dataspace/kidehen@openlinksw.com&quot;&gt;My General Data Space&lt;/a&gt; - (ditto; note that this is currently experimental)&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;What About Data Space aware tools?&lt;br /&gt; &lt;br /&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/oat/index.html/&quot;&gt;OpenLink Ajax Toolkit &lt;/a&gt;- 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)&lt;/li&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://rdfs.org/sioc/firefox&quot;&gt;Semantic Radar &lt;/a&gt;- a Firefox Extension&lt;/li&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://pingthesemanticweb.com/&quot;&gt;PingTheSemantic&lt;/a&gt; - the Semantic Webs equivalent of Web 2.0&amp;#39;s weblogs.com&lt;/li&gt; &lt;li&gt;Â Â  &lt;a href=&quot;http://simile.mit.edu/piggy-bank/&quot;&gt;PiggyBank&lt;/a&gt; - a Firefox Extension&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>OpenLink Ajax Toolkit (OAT) 1.0 Released</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-08-08#1023</atom:id>
  <atom:published>2006-08-08T22:11:45Z</atom:published>
  <atom:updated>2006-08-09T05:12:48-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; We have finally released the 1.0 edition of OAT. &lt;/p&gt; &lt;p&gt; OAT offers a broad Javascript-based, browser-independent widget set &lt;br /&gt;for building data source independent rich internet applications that are usable across a broad range of Ajax-capable web browsers. &lt;/p&gt; &lt;p&gt; OAT&amp;#39;s support binding to the following data sources via its Ajax Database Connectivity Layer: &lt;/p&gt; &lt;p&gt; SQL Data via XML for Analysis (XMLA) &lt;br /&gt;Web Data via SPARQL, GData, and OpenSearch Query Services &lt;br /&gt;Web Services specific Data via service specific binding to SOAP and REST style web services &lt;/p&gt; &lt;p&gt; The toolkit includes a collection of powerful rich internet application prototypes include: SQL Query By Example, Visual Database Modeling, and Data bound Web Form Designer. &lt;/p&gt; &lt;p&gt; Project homepage on sourceforge.net: &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;color:#0000ff;text-decoration:underline;&quot;&gt;http://sourceforge.net/projects/oat&lt;/span&gt; &lt;/p&gt; &lt;p&gt; Source Code: &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;color:#0000ff;text-decoration:underline;&quot;&gt;http://sourceforge.net/projects/oat/files&lt;/span&gt; &lt;/p&gt; &lt;p&gt; Live demonstration: &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;color:#0000ff;text-decoration:underline;&quot;&gt;http://www.openlinksw.com/oat/&lt;/span&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Web 2.0 Self-Experiment aids Web 3.0 comprehension</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-07-17#1009</atom:id>
  <atom:published>2006-07-17T21:46:42Z</atom:published>
  <atom:updated>2006-07-18T01:17:43-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://vzach.blogspot.com/2006/07/web-20-self-experiment.html&quot;&gt;Web 2.0 Self-Experiment&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;blockquote&gt;I shopped for everything except food on eBay. When working with foreign-language documents, I used translations from Babel Fish. (This worked only so well. After a Babel Fish round-trip through Italian, the preceding sentence reads, &amp;#39;That one has only worked therefore well.&amp;#39;) Why use up space storing files on my own hard drive when, thanks to certain free utilities, I can store them on Gmail&amp;#39;s servers? I saved, sorted, and browsed photos I uploaded to Flickr. I used Skype for my phone calls, decided on books using Amazon&amp;#39;s recommendations rather than &amp;#39;expert&amp;#39; reviews, killed time with videos at YouTube, and listened to music through customizable sites like Pandora and Musicmatch. I kept my schedule on Google Calendar, my to-do list on Voo2do, and my outlines on iOutliner. I voyeured my neighborhood&amp;#39;s home values via Zillow. I even used an online service for each stage of the production of this article, culminating in my typing right now in Writely rather than Word. (Being only so confident that Writely wouldn&amp;#39;t somehow lose my work -- or as Babel Fish might put it, &amp;#39;only confident therefore&amp;#39; -- I backed it up into Gmail files.&lt;/blockquote&gt; &lt;a href=&quot;http://www.technologyreview.com/read_article.aspx?id=17061&amp;ch=infotech&quot;&gt;Interesting article&lt;/a&gt;, Tim O&amp;#39;Reilly&amp;#39;s response is &lt;a href=&quot;http://radar.oreilly.com/archives/2006/07/levels_of_the_game.html&quot;&gt;here&lt;/a&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://vzach.blogspot.com&quot;&gt;Valentin Zacharias (Student)&lt;/a&gt;.)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Tim O&amp;#39;Reilly&amp;#39;s response provides the following hierarchy for Web 2.0 based on The what he calls: &amp;quot;Web 2.0-ness&amp;quot;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;level 3: The application could ONLY exist on the net, and draws its essential power from the network and the connections it makes possible between people or applications. These are applications that harness network effects to get better the more people use them. EBay, craigslist, Wikipedia, del.icio.us, Skype, (and yes, Dodgeball) meet this test. They are fundamentally driven by shared online activity. The web itself has this character, which Google and other search engines have then leveraged. (You can search on the desktop, but without link activity, many of the techniques that make web search work so well are not available to you.) Web crawling is one of the fundamental Web 2.0 activities, and search applications like Adsense for Content also clearly have Web 2.0 at their heart. I had a conversation with Eric Schmidt, the CEO of Google, the other day, and he summed up his philosophy and strategy as &amp;quot;Don&amp;#39;t fight the internet.&amp;quot; In the hierarchy of web 2.0 applications, the highest level is to embrace the network, to understand what creates network effects, and then to harness them in everything you do.&lt;/p&gt; &lt;p&gt; Level 2: The application could exist offline, but it is uniquely advantaged by being online. Flickr is a great example. You can have a local photo management application (like iPhoto) but the application gains remarkable power by leveraging an online community. In fact, the shared photo database, the online community, and the artifacts it creates (like the tag database) is central to what distinguishes Flickr from its offline counterparts. And its fuller embrace of the internet (for example, that the default state of uploaded photos is &amp;quot;public&amp;quot;) is what distinguishes it from its online predecessors.&lt;/p&gt; &lt;p&gt; Level 1: The application can and does exist successfully offline, but it gains additional features by being online. Writely is a great example. If you want to do collaborative editing, its online component is terrific, but if you want to write alone, as Fallows did, it gives you little benefit (other than availability from computers other than your own.) &lt;/p&gt; &lt;p&gt; Level 0: The application has primarily taken hold online, but it would work just as well offline if you had all the data in a local cache. MapQuest, Yahoo! Local, and Google Maps are all in this category (but mashups like housingmaps.com are at Level 3.) To the extent that online mapping applications harness user contributions, they jump to Level 2.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;So, in a sense we have near conclusive confirmation that Web 2.0 is simply about APIs (typically service specific Data Silos or Walled-gardens) with little concern, understanding, or interest in truly open data access across the burgeoning &amp;quot;&lt;a href=&quot;http://www.infoworld.com/article/06/05/03/77873_19OPstrategic_1.html&quot;&gt;Web of Databases&lt;/a&gt;&amp;quot;. Or the&lt;a href=&quot;http://www.w3.org/2005/Talks/0623-sb-IEEEStorConf/&quot;&gt; Web of &amp;quot;Databases and Programs&amp;quot;&lt;/a&gt; that I prefer to describe as &amp;quot;&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/DataSpaceFAQ&quot;&gt;Data Spaces&lt;/a&gt;&amp;quot;&lt;/p&gt; &lt;p&gt;Thus, we can truly begin to conclude that Web 3.0 (Data Web) is the addition of Flexible and Open Data Access to Web 2.0; where the Open Data Access is achieved by leveraging Semantic Web deliverables such as the RDF Data Model and the SPARQL Query Language :-)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More Thoughts on ORDBMS Clients, .NET and RDF</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2006-07-17#1008</atom:id>
  <atom:published>2006-07-17T12:16:02Z</atom:published>
  <atom:updated>2008-04-16T16:13:30.000001-04:00</atom:updated>
  <atom:content type="html">&lt;div&gt; &lt;div style=&quot;display:none;&quot;&gt;More Thoughts on ORDBMS Clients, .NET and RDF&lt;/div&gt; &lt;p&gt;Continuing on from &lt;a href=&quot;http://www.openlinksw.com/dataspace/oerling/weblog/Orri%20Erling%27s%20Blog/1002&quot; id=&quot;link-id1064f0c8&quot;&gt;the previous post&lt;/a&gt;... If Microsoft opens the right interfaces for independent developers, we see many exciting possibilities for using &lt;a href=&quot;http://msdn2.microsoft.com/en-us/data/aa937699.aspx&quot; id=&quot;link-id10f3ab60&quot;&gt;ADO.NET&lt;/a&gt; 3.0 with &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x171ad660&quot;&gt;Virtuoso&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Microsoft quite explicitly states that their thrust is to decouple the client side representation of &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xdaf01b0&quot;&gt;data&lt;/a&gt; as .NET objects from the relational schema on the database. This is a worthy goal.&lt;/p&gt; &lt;p&gt;But we can also see other possible applications of the technology when we move away from strictly relational back ends. This can go in two directions: Towards object oriented database (OODBMS) and towards making applications for the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0x175fa2f0&quot;&gt;semantic web&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In the OODBMS direction, we could equate Virtuoso table hierarchies with .NET classes and create a tighter coupling between client and database, going as it were in the other direction from Microsoft&amp;#39;s intended decoupling. For example, we could do typical OODBMS tricks such as pre-fetch of objects based on storage clustering. The simplest case of this is like virtual memory, where the request for one byte brings in the whole page or group of pages. The basic idea is that what is created together probably gets used together and if all objects are modeled as subclasses of (sub-tables) of a common superclass, then, regardless of instance type, what is created together (has consecutive IDs) will indeed tend to cluster on the same page. These tricks can deliver good results in very navigational applications like GIS or CAD. But these are rather specialized things and we do not see OODBMS making any great comeback.&lt;/p&gt; &lt;p&gt;But what is more interesting and more topical in the present times is making clients for the &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0xc58f9f8&quot;&gt;RDF&lt;/a&gt; world. There, the OWL ontology could be used to make the .NET classes and the DBMS could, when returning URIs serving as subjects of triple include specified predicates on these subjects, enough to allow instantiating .NET instances as &amp;quot;proxies&amp;quot; of these RDF objects. Of course, only predicates for which the client has a representation are relevant, thus some client-server handshake is needed at the start. What data could be pre-fetched is like the intersection of a concise bounded description and what the client has classes for. The rest of the mapping would be very simple, with IRIs becoming pointers, multi-valued predicates lists, and so on. IRIs for which the RDF type is not known or inferable could be left out or represented as a special class with name-value pairs for its attributes, same with blank nodes.&lt;/p&gt; &lt;p&gt;In this way, .NET&amp;#39;s considerable UI capabilities could directly be exploited for visualizing RDF data, only given that the data complies reasonably well with a known ontology.&lt;/p&gt; &lt;p&gt;If a &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0xc5d8728&quot;&gt;SPARQL&lt;/a&gt; query returned a result-set, IRI type columns would be returned as .NET instances and the server would pre-fetch enough data for filling them in. For a CONSTRUCT, a collection object could be returned with the objects materialized inside. If the interfaces allow passing an &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x19a434e8&quot;&gt;Entity&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1a146d30&quot;&gt;SQL&lt;/a&gt; string, these could possibly be specialized to allow for a SPARQL string instead. LINQ might have to be extended to allow for SPARQL type queries, though.&lt;/p&gt; &lt;p&gt;Many of these questions will be better answerable as we get more details on Microsoft&amp;#39;s forthcoming &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x985bc50&quot;&gt;ADO&lt;/a&gt; .NET release. We hope that sufficient latitude exists for exploring all these interesting avenues of development.&lt;/p&gt; &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>More Thoughts on ORDBMS Clients, .NET and RDF</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2006-07-17#1007</atom:id>
  <atom:published>2006-07-17T11:47:30Z</atom:published>
  <atom:updated>2008-04-16T16:13:10-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Continuing on from &lt;a href=&quot;http://www.openlinksw.com/dataspace/oerling/weblog/Orri%20Erling%27s%20Blog/1002&quot; id=&quot;link-id1064f0c8&quot;&gt;the previous post&lt;/a&gt;... If Microsoft opens the right interfaces for independent developers, we see many exciting possibilities for using &lt;a href=&quot;http://msdn2.microsoft.com/en-us/data/aa937699.aspx&quot; id=&quot;link-id10f3ab60&quot;&gt;ADO.NET&lt;/a&gt; 3.0 with &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x98d60b0&quot;&gt;Virtuoso&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Microsoft quite explicitly states that their thrust is to decouple the client side representation of &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0x175112a8&quot;&gt;data&lt;/a&gt; as .NET objects from the relational schema on the database. This is a worthy goal.&lt;/p&gt; &lt;p&gt;But we can also see other possible applications of the technology when we move away from strictly relational back ends. This can go in two directions: Towards object oriented database (OODBMS) and towards making applications for the &lt;a href=&quot;http://dbpedia.org/resource/Semantic_Web&quot; id=&quot;link-id0xdbba5b0&quot;&gt;semantic web&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In the OODBMS direction, we could equate Virtuoso table hierarchies with .NET classes and create a tighter coupling between client and database, going as it were in the other direction from Microsoft&amp;#39;s intended decoupling. For example, we could do typical OODBMS tricks such as pre-fetch of objects based on storage clustering. The simplest case of this is like virtual memory, where the request for one byte brings in the whole page or group of pages. The basic idea is that what is created together probably gets used together and if all objects are modeled as subclasses of (sub-tables) of a common superclass, then, regardless of instance type, what is created together (has consecutive IDs) will indeed tend to cluster on the same page. These tricks can deliver good results in very navigational applications like GIS or CAD. But these are rather specialized things and we do not see OODBMS making any great comeback.&lt;/p&gt; &lt;p&gt;But what is more interesting and more topical in the present times is making clients for the &lt;a href=&quot;http://dbpedia.org/resource/Resource_Description_Framework&quot; id=&quot;link-id0xe2c1e68&quot;&gt;RDF&lt;/a&gt; world. There, the OWL ontology could be used to make the .NET classes and the DBMS could, when returning URIs serving as subjects of triple include specified predicates on these subjects, enough to allow instantiating .NET instances as &amp;quot;proxies&amp;quot; of these RDF objects. Of course, only predicates for which the client has a representation are relevant, thus some client-server handshake is needed at the start. What data could be pre-fetched is like the intersection of a concise bounded description and what the client has classes for. The rest of the mapping would be very simple, with IRIs becoming pointers, multi-valued predicates lists, and so on. IRIs for which the RDF type is not known or inferable could be left out or represented as a special class with name-value pairs for its attributes, same with blank nodes.&lt;/p&gt; &lt;p&gt;In this way, .NET&amp;#39;s considerable UI capabilities could directly be exploited for visualizing RDF data, only given that the data complies reasonably well with a known ontology.&lt;/p&gt; &lt;p&gt;If a &lt;a href=&quot;http://dbpedia.org/resource/SPARQL&quot; id=&quot;link-id0x16b86e90&quot;&gt;SPARQL&lt;/a&gt; query returned a result-set, IRI type columns would be returned as .NET instances and the server would pre-fetch enough data for filling them in. For a CONSTRUCT, a collection object could be returned with the objects materialized inside. If the interfaces allow passing an &lt;a href=&quot;http://dbpedia.org/resource/Entity&quot; id=&quot;link-id0x19a26180&quot;&gt;Entity&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0x1d8ea998&quot;&gt;SQL&lt;/a&gt; string, these could possibly be specialized to allow for a SPARQL string instead. LINQ might have to be extended to allow for SPARQL type queries, though.&lt;/p&gt; &lt;p&gt;Many of these questions will be better answerable as we get more details on Microsoft&amp;#39;s forthcoming &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0xde74a60&quot;&gt;ADO&lt;/a&gt; .NET release. We hope that sufficient latitude exists for exploring all these interesting avenues of development.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Object Relational Rediscovered?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-07-13#1005</atom:id>
  <atom:published>2006-07-14T01:59:15Z</atom:published>
  <atom:updated>2006-07-13T21:59:16.000002-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Microsoft&amp;#39;s recent unveiling of the next &lt;a href=&quot;http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnvs05/html/ADONETEnFrmOvw.asp&quot;&gt;generation of ADO.NET&lt;/a&gt; has pretty much crystalized a long running hunch that the era of standardized client/user level interfaces for &amp;quot;Object-Relational&amp;quot; technology is neigh. Finally, this application / problem domain is attracting the attention of industry behemoths such as Microsoft.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;In an initial response to these developments&lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/&quot;&gt;Orri Erling&lt;/a&gt;, Virtuoso&amp;#39;s Program Manager, shares &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1002&quot;&gt;valuable insights from past re. Object-Relational technology developments and deliverables challenges&lt;/a&gt;. As Orri notes, the Virtuoso team suspended ORM and ORDBMS work at the onset of the &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory&quot;&gt;Kubl-Virtuoso transition&lt;/a&gt; due to the lack of standardized client-side functionality exposure points.&lt;/p&gt; &lt;p&gt;My hope is that Microsoft&amp;#39;s efforts trigger community wide activity that result in a collection of interfaces that make scenarios such as generating .NET based Semantic Web Objects (where the S in an S-P-&amp;gt;O RDF-Triple becomes a bona fide .NET class instance generated from OWL).&lt;/p&gt; &lt;p&gt;To be continued since the interface specifics re. ADO.NET 3.0 remain in flux...&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>RDF&#39;s History</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-07-13#1004</atom:id>
  <atom:published>2006-07-13T21:42:57Z</atom:published>
  <atom:updated>2006-07-13T19:04:36-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;We are getting very close to a Semantic Web watershed moment (IMHO). Thus, for the purpose of historic record, I would like to create a public bookmark to Tim Bray&amp;#39;s 2003 post titled: &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2003/05/21/RDFNet&quot;&gt;RDF.net&lt;/a&gt; Challenge that also contains a nice section about the &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2003/05/21/RDFNet&quot;&gt;History of RDF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Note to Tim:&lt;/p&gt; &lt;p&gt; Is the RDF.net domain deal still on? I know it&amp;#39;s past 1st Jan 2006, but do bear in mind that the critical issue of a broadly supported RDF Query Language only took significant shape approximately 13 months ago (in the form of SPARQL), and this is all so critical to the challenge you posed in 2003.&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://rdf.net&quot;&gt;RDF.net&lt;/a&gt; could become a point of semantic-web-presence through which the benefits of SPARQL compliant Triple|Quad Stores, Shared Ontologies, and SPARQL Protocol are unveiled in their well intended glory :-).&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Object Relational Rediscovered?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/vdb/blog/?date=2006-07-13#1003</atom:id>
  <atom:published>2006-07-13T12:33:32Z</atom:published>
  <atom:updated>2008-04-16T16:13:26-04:00</atom:updated>
  <atom:content type="html">&lt;div&gt; &lt;div style=&quot;display:none;&quot;&gt;Object Relational Rediscovered?&lt;/div&gt; &lt;p&gt;I have recently read some of Microsoft&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x173cea20&quot;&gt;ADO&lt;/a&gt; .NET 3 papers. I am reminded of the distant past when I designed Kubl, which later became OpenLink &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0x18bdfe68&quot;&gt;Virtuoso&lt;/a&gt;. So I will reminisce and speculate a little.&lt;/p&gt; &lt;p&gt;So now is the time when polymorphic queries and mixing relational style joins and object style navigation become politically acceptable and even recommended and there finally is a workable solution to having a foreign key in the database and a pointer or set of pointers in the client application. Not to mention change tracking so as to be able to update in-memory &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xd6f0ae0&quot;&gt;data&lt;/a&gt; structures and commit a delta against the database without explicit update statements.&lt;/p&gt; &lt;p&gt;All these questions existed already in the mid 90s and earlier. Since I was coming from OO and LISP into the database world, I even felt these questions to be important. The solution in the earliest Kubl was to have inheritance between tables, what became the &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0xddcdac0&quot;&gt;SQL&lt;/a&gt; 2K &lt;code&gt;UNDER&lt;/code&gt; clause, and a virtual column called &lt;code&gt;_ROW&lt;/code&gt; that would select a serialization of the primary key entry. Then there was the function &lt;code&gt;row_key()&lt;/code&gt;, which when applied to a &lt;code&gt;_ROW&lt;/code&gt; virtual column would return a database-wide unique identifier of the row, containing the key info and the key part values plus which subtable of the table was at hand. Then there was a function for dereferencing a &lt;code&gt;row_key&lt;/code&gt; for getting the &lt;code&gt;_ROW&lt;/code&gt;. And one could store &lt;code&gt;row_keys&lt;/code&gt; into columns and dereference these in queries. Within SQL, one could use the &lt;code&gt;row_column&lt;/code&gt; function to extract individual column values from a &lt;code&gt;row_key&lt;/code&gt; or &lt;code&gt;_ROW&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;This was all fine server side. But we also had a client for Franz Inc.&amp;#39;s Allegro Common Lisp that talked to Kubl&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0xde2c348&quot;&gt;ODBC&lt;/a&gt; listener. This client had the basic statements and prepared statements and result sets, parameters and array parameters, a little like &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x156409f8&quot;&gt;JDBC&lt;/a&gt; does now. But the extra was that we could do a mapping between a Lisp struct or object and a database key, so the &lt;code&gt;_ROW&lt;/code&gt; would automatically materialize into the Lisp struct or class instance. And the mapping between these materializations and the &lt;code&gt;row_keys&lt;/code&gt; identifying them in the database were kept in a thread environment called object space. Updates could be relational-style &lt;code&gt;UPDATEs&lt;/code&gt; or consist of putting a &lt;code&gt;_ROW&lt;/code&gt; serialization in database format back into the Kubl store with a single SQL function.&lt;/p&gt; &lt;p&gt;This was different from just storing object serializations into LOB columns, as is often done, insofar as the object classes and data members were really database tables and columns, thus native to the DBMS, not just opaque data to be processed client-side only.&lt;/p&gt; &lt;p&gt;So it was then possible to program a little like is shown in the ADO .NET 3 demos today, some ten years later.&lt;/p&gt; &lt;p&gt;Some of these functions still exist in Virtuoso, albeit in a deprecated state, and there is no client that can use these to any advantage. Indeed, we dropped this line of work when Kubl became Virtuoso, mostly because there was no standard and no client applications that would use such features. Instead, we concentrated on virtual &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0x175a7b10&quot;&gt;RDBMS&lt;/a&gt;, transparently accessing any third party data via ODBC.&lt;/p&gt; &lt;p&gt;Now however, as objects, both native SQL and Java and .NET, have become mainstream citizens of relational databases in general, Virtuoso and otherwise, and as Microsoft has legitimized accessing whole objects and not only scalar columns in result sets as part of ADO .NET 3, these things might be worth a second look.&lt;/p&gt; &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Object Relational Rediscovered?</atom:title>
  <atom:id>http://www.openlinksw.com/weblog/oerling/?date=2006-07-13#1002</atom:id>
  <atom:published>2006-07-13T11:38:41Z</atom:published>
  <atom:updated>2008-04-16T16:13:08.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I have recently read some of Microsoft&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/ADO.NET&quot; id=&quot;link-id0x151feed0&quot;&gt;ADO&lt;/a&gt; .NET 3 papers. I am reminded of the distant past when I designed Kubl, which later became OpenLink &lt;a href=&quot;http://virtuoso.openlinksw.com&quot; id=&quot;link-id0xd1e5a50&quot;&gt;Virtuoso&lt;/a&gt;. So I will reminisce and speculate a little.&lt;/p&gt; &lt;p&gt;So now is the time when polymorphic queries and mixing relational style joins and object style navigation become politically acceptable and even recommended and there finally is a workable solution to having a foreign key in the database and a pointer or set of pointers in the client application. Not to mention change tracking so as to be able to update in-memory &lt;a href=&quot;http://dbpedia.org/resource/Data&quot; id=&quot;link-id0xd6877c0&quot;&gt;data&lt;/a&gt; structures and commit a delta against the database without explicit update statements.&lt;/p&gt; &lt;p&gt;All these questions existed already in the mid 90s and earlier. Since I was coming from OO and LISP into the database world, I even felt these questions to be important. The solution in the earliest Kubl was to have inheritance between tables, what became the &lt;a href=&quot;http://dbpedia.org/resource/SQL&quot; id=&quot;link-id0xc703880&quot;&gt;SQL&lt;/a&gt; 2K &lt;code&gt;UNDER&lt;/code&gt; clause, and a virtual column called &lt;code&gt;_ROW&lt;/code&gt; that would select a serialization of the primary key entry. Then there was the function &lt;code&gt;row_key()&lt;/code&gt;, which when applied to a &lt;code&gt;_ROW&lt;/code&gt; virtual column would return a database-wide unique identifier of the row, containing the key info and the key part values plus which subtable of the table was at hand. Then there was a function for dereferencing a &lt;code&gt;row_key&lt;/code&gt; for getting the &lt;code&gt;_ROW&lt;/code&gt;. And one could store &lt;code&gt;row_keys&lt;/code&gt; into columns and dereference these in queries. Within SQL, one could use the &lt;code&gt;row_column&lt;/code&gt; function to extract individual column values from a &lt;code&gt;row_key&lt;/code&gt; or &lt;code&gt;_ROW&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;This was all fine server side. But we also had a client for Franz Inc.&amp;#39;s Allegro Common Lisp that talked to Kubl&amp;#39;s &lt;a href=&quot;http://dbpedia.org/resource/Open_Database_Connectivity&quot; id=&quot;link-id0xdbceda0&quot;&gt;ODBC&lt;/a&gt; listener. This client had the basic statements and prepared statements and result sets, parameters and array parameters, a little like &lt;a href=&quot;http://dbpedia.org/resource/Java_Database_Connectivity&quot; id=&quot;link-id0x181a27b0&quot;&gt;JDBC&lt;/a&gt; does now. But the extra was that we could do a mapping between a Lisp struct or object and a database key, so the &lt;code&gt;_ROW&lt;/code&gt; would automatically materialize into the Lisp struct or class instance. And the mapping between these materializations and the &lt;code&gt;row_keys&lt;/code&gt; identifying them in the database were kept in a thread environment called object space. Updates could be relational-style &lt;code&gt;UPDATEs&lt;/code&gt; or consist of putting a &lt;code&gt;_ROW&lt;/code&gt; serialization in database format back into the Kubl store with a single SQL function.&lt;/p&gt; &lt;p&gt;This was different from just storing object serializations into LOB columns, as is often done, insofar as the object classes and data members were really database tables and columns, thus native to the DBMS, not just opaque data to be processed client-side only.&lt;/p&gt; &lt;p&gt;So it was then possible to program a little like is shown in the ADO .NET 3 demos today, some ten years later.&lt;/p&gt; &lt;p&gt;Some of these functions still exist in Virtuoso, albeit in a deprecated state, and there is no client that can use these to any advantage. Indeed, we dropped this line of work when Kubl became Virtuoso, mostly because there was no standard and no client applications that would use such features. Instead, we concentrated on virtual &lt;a href=&quot;http://dbpedia.org/resource/Relational_database_management_system&quot; id=&quot;link-id0xd06fd40&quot;&gt;RDBMS&lt;/a&gt;, transparently accessing any third party data via ODBC.&lt;/p&gt; &lt;p&gt;Now however, as objects, both native SQL and Java and .NET, have become mainstream citizens of relational databases in general, Virtuoso and otherwise, and as Microsoft has legitimized accessing whole objects and not only scalar columns in result sets as part of ADO .NET 3, these things might be worth a second look.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Phalanger - PHP5 Compiler for .NET and Mono</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-07-06#996</atom:id>
  <atom:published>2006-07-06T19:27:19Z</atom:published>
  <atom:updated>2006-07-06T16:07:37-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://www.php-compiler.net/&quot;&gt;Phalanger&lt;/a&gt; provides PHP5 bindings to Microsoft .NET/Mono such that PHP5 code can now be compiled into .NET assemblies.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Standards as social contracts</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-07-04#995</atom:id>
  <atom:published>2006-07-04T17:25:51Z</atom:published>
  <atom:updated>2006-07-04T14:53:48.000001-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://www.tnl.net/blog/2006/06/07/standards-as-social-contracts/#comments&quot;&gt;Standards as social contracts&lt;/a&gt;: &amp;quot;Looking at Dave Winer&amp;#39;s efforts in evangelizing OPML, I try to draw some rough lines into what makes a de-facto standard. De Facto standards are made and seldom happen on their own. In this entry, I look back at the history of HTML, RSS, the open source movement and try to draw some lines as to what makes a standard. &lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://feeds.tristanlouis.com/~a/TNLnet?a=nXIQUu&quot;&gt;&lt;img src=&quot;http://feeds.tristanlouis.com/~a/TNLnet?i=nXIQUu&quot; border=&quot;0&quot; /&gt; &lt;/a&gt; &lt;/p&gt; &lt;div class=&quot;feedflare&quot;&gt; &lt;a href=&quot;http://feeds.tristanlouis.com/~f/TNLnet?a=dklI2jYY&quot;&gt;&lt;img src=&quot;http://feeds.tristanlouis.com/~f/TNLnet?i=dklI2jYY&quot; border=&quot;0&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;http://feeds.tristanlouis.com/~f/TNLnet?a=HoauA2Ma&quot;&gt;&lt;img src=&quot;http://feeds.tristanlouis.com/~f/TNLnet?i=HoauA2Ma&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.tristanlouis.com/~f/TNLnet?a=DxOLN3Br&quot;&gt;&lt;img src=&quot;http://feeds.tristanlouis.com/~f/TNLnet?i=DxOLN3Br&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.tristanlouis.com/~f/TNLnet?a=zU2uLdOm&quot;&gt;&lt;img src=&quot;http://feeds.tristanlouis.com/~f/TNLnet?i=zU2uLdOm&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/div&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://www.tnl.net/blog&quot;&gt;Tristan Louis&lt;/a&gt;.)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;I posted a comment to the Tristan Louis&amp;#39; post along the following lines:&lt;/p&gt; &lt;p&gt;Analysis is spot on re. the link between de facto standardization and bootstrapping. Likewise, the clear linkage between boostrapping and connected communities (a variation of the social networking paradigm). &lt;/p&gt; &lt;p&gt;Dave built a community around a XML content syndication and subscription usecase demo that we know today as the blogosphere. Superficially, one may conclude that Semantic Web vision has suffered to date from a lack a similar bootstrap effort. Whereas in reality, we are dealing with &amp;quot;time and context&amp;quot; issues that are critical to the base understanding upon which a &amp;quot;Dave Winer&amp;quot; style bootstrap for the Semantic Web would occur.&lt;/p&gt; &lt;p&gt;Personally, I see the emergence of Web 2.0 (esp. the mashups phenomenon) as the &amp;quot;time and context&amp;quot; seeds from which the Semantic Web bootstrap will sprout. I see shared ontologies such as &lt;a href=&quot;http://oplussol5.usnet.private:8893/foaf&quot;&gt;FOAF&lt;/a&gt; and &lt;a href=&quot;http://rdfs.org/sioc/&quot;&gt;SIOC&lt;/a&gt; leading the way (they are the RSS 2.0&amp;#39;s of the Semantic Web IMHO).&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Contd: Ajax Database Connectivity Demos</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-06-01#988</atom:id>
  <atom:published>2006-06-02T02:48:00Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; Last week I put out a series of screencast style demos that sought to demonstrate the core elements of our soon to be released Javascript Toolkit called OAT (&lt;a href=&quot;http://www.openlinksw.com/oat/&quot;&gt;OpenLink Ajax Toolkit&lt;/a&gt;) and its Ajax Database Connectivity layer. &lt;/p&gt; &lt;p&gt; The screencasts covered the following functionality realms: &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=982&quot;&gt;SQL Query By Example (basic)&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=983&quot;&gt;SQL Query By Example (advanced - pivot table construction)&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=981&quot;&gt;Web Form Design (basic database driven map based mashup)&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=985&quot;&gt;Web Form Design (advanced database driven map based mashup)&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt; To bring additional clarity to the screencasts demos and OAT in general, I have saved a number of documents that are the by products of activities in the screenvcasts: &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/queries/customer_qry1.xml&quot;&gt;Live XML Document produced using SQL Query By Example (basic)&lt;/a&gt; (you can use drag and drop columns across the grid to reorder and sort presentation)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/reports/Pivots/employee_sales_by_ship_country_pivot.xml&quot;&gt;Live XML Document produced using QBE and Pivot Functionality&lt;/a&gt; (you can drag and drop the aggregate columns and rows to create your own views etc..)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/reports/MapMashups/country_flags_google_frm2.xml&quot;&gt;Basic database driven map based mashup&lt;/a&gt; (works with FireFox, Webkit, Camino; click on pins to see national flag)&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/reports/MapMashups/employee_sales_by_ship_country_pivot_google.xml&quot;&gt;Advanced database driven map based mashup&lt;/a&gt; (works with FireFox, Webkit, Camino; records, 36, 87, and 257 will unveil pivots via lookup pin)&lt;/li&gt; &lt;/ol&gt; &lt;p&gt; Notes: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;“Advanced”, as used above, simply means that I am embedding images (employee photos and national flags) and a database driven pivot into the map pins that serve as details lookups in classic SQL master/details type scenarios.&lt;/li&gt; &lt;li&gt;The “Ajax Call In Progress..” dialog is there to show live interaction with a remote database (in this case &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;Virtuoso&lt;/a&gt; but this could be any ODBC, JDBC, OLEDB, ADO.NET, or XMLA accessible data source)&lt;/li&gt; &lt;li&gt;The data access magic source (if you want to call it that) is XMLA - a standard that has been in place for years but completely misunderstood and as a result under utilized&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; You can see a full collection of saved documents at the following locations: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/reports/MapMashups/&quot;&gt;My Mashups demo directory&lt;/a&gt; (Google and Yahoo! demo variants but note these do not work with Safari or IE at the current time. IE7 issues will be resolved in the next day or so) &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/reports/Pivots/&quot;&gt;My Pivots demo directory&lt;/a&gt; (other Pivots will be added as I build and save them) &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/public_demos/queries/&quot;&gt;My Saved Queries&lt;/a&gt; (a collection of saved QBE generated queries)&lt;/li&gt; &lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Screencast: Ajax Database Connectivity and SQL Query By Example</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-05-26#982</atom:id>
  <atom:published>2006-05-26T21:59:00Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">AJAX Database Connectivity is the Data Access Component of OAT (&lt;a href=&quot;http://www.openlinksw.com/oat/&quot;&gt;OpenLink AJAX Toolkit&lt;/a&gt;). It&amp;#39;s basically an &lt;a href=&quot;http://www.xmla.org/&quot;&gt;XML for Analysis&lt;/a&gt; (XMLA) client that enables the development and deployment of database independent Rich Internet Applications (RIAs). Thus, you can now develop database centric AJAX applications without lock-in at the Operating System, Database Connectivity mechanism (ODBC, JDBC, OLEDB, ADO.NET), or back-end Database levels. &lt;br /&gt; &lt;br /&gt;XMLA has been around for a long time. Its fundamental goal was to provide Web Applications with Tabular and Multi-dimensional data access before it fell off the radar (a story too long to tell in this post).&lt;br /&gt; &lt;br /&gt;AJAX Database connectivity only requires your target DBMS to be XMLA (direct), ODBC, JDBC, OLEDB, or ADO.NET accessible. &lt;br /&gt; &lt;br /&gt;I have attached a Query By Example (QBE) screencast movie enclosure to this post (should you be reading this post Web 1.0 style). The demo shows how Paradox-, Quattro Pro-, Access-, and MS Query-like user friendly querying is achieved using AJAX Database  Connect Connectivity&lt;br /&gt; &lt;br /&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SPARQL Parameterized Queries (Virtuoso using SPARQL in SQL)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-05-11#973</atom:id>
  <atom:published>2006-05-11T18:54:47Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;h2&gt;SPARQL with SQL (Inline) &lt;/h2&gt; &lt;p&gt;Virtuoso extends its SQL3 implementation with syntax for integrating SPARQL into queries and subqueries.Thus, as part of a SQL SELECT query or subquery, one can write the SPARQL keyword and a SPARQL query as part of query text processed by Virtuoso&amp;#39;s SQL Query Processor.&lt;/p&gt; &lt;h4&gt;Example 1 (basic) : &lt;/h4&gt; &lt;p&gt;Using Virtuoso&amp;#39;s Command line or the Web Based ISQL utility type in the following (note: &amp;quot;SQL&amp;gt;&amp;quot; is the command line prompt for the native ISQL utility): &lt;/p&gt; &lt;pre&gt;SQL&amp;gt; sparql select distinct ?p where { graph ?g { ?s ?p ?o } };&lt;/pre&gt; &lt;p&gt;Which will return the following: &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt; p varchar ---------- http://example.org/ns#b http://example.org/ns#d http://xmlns.com/foaf/0.1/name http://xmlns.com/foaf/0.1/mbox ... &lt;/pre&gt; &lt;/blockquote&gt; &lt;h4&gt;Example 2 (a subquery variation):&lt;/h4&gt; &lt;pre&gt;SQL&amp;gt; select distinct subseq (p, strchr (p, &amp;#39;#&amp;#39;)) as fragment from (sparql select distinct ?p where { graph ?g { ?s ?p ?o } } ) as all_predicates where p like &amp;#39;%#%&amp;#39; ;&lt;/pre&gt; &lt;blockquote&gt; &lt;pre&gt; fragment varchar ---------- #query #data #name #comment ...&lt;/pre&gt; &lt;/blockquote&gt; &lt;h3&gt;Parameterized Queries:&lt;/h3&gt; &lt;p&gt;You can pass parameters to a SPARQL query using a Virtuoso-specific syntax extension. &amp;#39;??&amp;#39; or &amp;#39;$?&amp;#39; indicates a positional parameter similar to &amp;#39;?&amp;#39; in standard SQL. &amp;#39;??&amp;#39; can be used in graph patterns or anywhere else where a SPARQL variable is accepted. The value of a parameter should be passed in SQL form, i.e. this should be a number or an untyped string. An IRI ID can not be passed, but an absolute IRI can. Using this notation, a dynamic SQL capable client (ODBC, JDBC, ADO.NET, OLEDB, XMLA, or others) can execute parametrized SPARQL queries using parameter binding concepts that are common place in dynamic SQL. Which implies that existing SQL applications and development environments (PHP, Ruby, Python, Perl, VB, C#, Java, etc.) are capable of issuing SPARQL queries via their existing SQL bound data access channels against RDF Data stored in Virtuoso. &lt;/p&gt; &lt;p&gt;Note: This is the Virtuoso equivalent of a &lt;a href=&quot;http://seaborne.blogspot.com/2006/05/parameterized-queries_07.html&quot;&gt;recently published example using Jena &lt;/a&gt;(a Java based RDF Triple Store).&lt;/p&gt; &lt;h3&gt;Example:&lt;/h3&gt; &lt;p&gt;Create a Virtuoso Function by execting the following: &lt;/p&gt; &lt;pre&gt;SQL&amp;gt; create function param_passing_demo (); { declare stat, msg varchar; declare mdata, rset any; exec (&amp;#39;sparql select ?s where { graph ?g { ?s ?? ?? }}&amp;#39;, stat, msg, vector (&amp;#39;http://www.w3.org/2001/sw/DataAccess/tests/data/Sorting/sort-0#int1&amp;#39;, 4 ), -- Vector of two parameters 10, -- Max. result-set rows mdata, -- Variable for handling result-set metadata rset -- Variable for handling query result-set ); return rset[0][0]; } &lt;/pre&gt; Test new &amp;quot;param_passing_demo&amp;quot; function by executing the following: &lt;br /&gt; &lt;pre&gt;SQL&amp;gt; select param_passing_demo (); &lt;/pre&gt; &lt;p&gt;Which returns: &lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt; callret VARCHAR _______________________________________________________________________________&lt;/pre&gt; &lt;pre&gt;http://www.w3.org/2001/sw/DataAccess/tests/data/Sorting/sort-0#four&lt;/pre&gt; &lt;pre&gt;1 Rows. -- 00000 msec.&lt;/pre&gt; &lt;/blockquote&gt; &lt;h3&gt;Â &lt;/h3&gt; &lt;h3&gt;Using SPARQL in SQL Predicates:&lt;/h3&gt; &lt;p&gt;A SPARQL ASK query can be used as an argument of the SQL EXISTS predicate.&lt;/p&gt; &lt;pre&gt;create function sparql_ask_demo () returns varchar { if (exists (sparql ask where { graph ?g { ?s ?p 4}})) return &amp;#39;YES&amp;#39;; else return &amp;#39;NO&amp;#39;; }; &lt;/pre&gt; &lt;p&gt; &lt;br /&gt; Test by executing: &lt;/p&gt; &lt;pre&gt;SQL&amp;gt; select sparql_ask_demo (); &lt;/pre&gt; &lt;p&gt;Which returns:&lt;/p&gt; &lt;pre&gt;_________________________ YES&lt;/pre&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SPARQL Parameterized Queries (In Jena via Java)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-05-09#971</atom:id>
  <atom:published>2006-05-09T16:42:40Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://seaborne.blogspot.com/2006/05/parameterized-queries_07.html&quot;&gt;Parameterized Queries&lt;/a&gt;: &amp;quot; &lt;/p&gt; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt; &lt;p&gt;Sometimes, an application will be making a SPARQL query, using the results from a previous query or using some RDF term found through the other Jena APIs.&lt;/p&gt; &lt;p&gt;SQL has prepared statements - they allow an SQL statement to take a number of parameters. The application fills in the parameters and executes the statement.&lt;/p&gt; &lt;p&gt;One way is to resort to doing this in SPARQL by building a complete, new query string, parsing it and executing it. But it takes a little care to handle all cases like quoting special characters; you can at least use some of the many utilities in ARQ for producing strings such as &lt;code&gt;FmtUtils.stringForResource&lt;/code&gt; (it&amp;#39;s not in the application API but in the &lt;code&gt;util&lt;/code&gt; package currently).&lt;/p&gt; &lt;p&gt;Queries in ARQ can be &lt;a href=&quot;http://jena.sourceforge.net/ARQ/programmatic.html&quot;&gt;built programmatically&lt;/a&gt; but it is tedious, especially when the documentation hasn&amp;#39;t been written yet.&lt;/p&gt; &lt;p&gt;Another way is to use query variables and bind them to initial values that apply to all query solutions. Consider the query:&lt;/p&gt; &lt;pre class=&quot;box&quot;&gt;PREFIX dc &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt; SELECT ?doc { ?doc dc:title ?title }&lt;/pre&gt; &lt;p&gt;It gets documents and their titles.&lt;/p&gt; &lt;p&gt;Executing a query in program &lt;a href=&quot;http://jena.sourceforge.net/ARQ/app_api.html&quot;&gt;might look like&lt;/a&gt;:&lt;/p&gt; &lt;pre class=&quot;box&quot;&gt;import com.hp.hpl.jena.query.* ; Model model = ... ;&lt;/pre&gt; &lt;pre class=&quot;box&quot;&gt;String queryString = StringUtils.join(&amp;#39;\n&amp;#39;, new String[]{ &amp;#39;PREFIX dc &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt;&amp;#39;, &amp;#39;SELECT ?doc { ?doc dc:title ?title }&amp;#39; }) ; Query query = QueryFactory.create(queryString) ; QueryExecution qexec = QueryExecutionFactory.create(query, model) ; try { ResultSet results = qexec.execSelect() ; for ( ; results.hasNext() ; ) { QuerySolution soln = results.nextSolution() ; Literal l = soln.getLiteral(&amp;#39;doc&amp;#39;) ; } } finally { qexec.close() ; }&lt;/pre&gt; &lt;p&gt;Suppose the application knows the title it&amp;#39;s interesting in - can it use this to get the document?&lt;/p&gt; &lt;p&gt;The value of &lt;code&gt;?title&lt;/code&gt; made a parameter to the query and fixed by an initial binding. All query solutions will be restricted to patterns matches where &lt;code&gt;?title&lt;/code&gt; is that RDF term.&lt;/p&gt; &lt;pre class=&quot;box&quot;&gt;QuerySolutionMap initialSettings = new QuerySolutionMap() ; initialSettings.add(&amp;#39;title&amp;#39;, node) ;&lt;/pre&gt; &lt;p&gt;and this is passed to the factory that creates QueryExecution&amp;#39;s:&lt;/p&gt; &lt;pre class=&quot;box&quot;&gt;QueryExecution qexec = QueryExecutionFactory.create(query, model, &lt;b&gt;initialSettings&lt;/b&gt;) ;&lt;/pre&gt; &lt;p&gt;It doesn&amp;#39;t matter if the node is a literal, a resource with URI or a blank node. It becomes a fixed value in the query, even a blank node, because it&amp;#39;s not part of the SPARQL syntax, it&amp;#39;s a fixed part of every solution.&lt;/p&gt; &lt;p&gt;This gives named parameters to queries enabling something like SQL prepared statements except with named parameters not positional ones.&lt;/p&gt; &lt;p&gt;This can make a complex application easier to structure and clearer to read. It&amp;#39;s better than bashing strings together, which is error prone, inflexible, and does not lead to clear code.&lt;/p&gt; &lt;/div&gt; &amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://seaborne.blogspot.com&quot;&gt;ARQtick&lt;/a&gt;.)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&quot;Free&quot; Databases: Express vs. Open-Source RDBMSs</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-05-05#968</atom:id>
  <atom:published>2006-05-05T16:02:17Z</atom:published>
  <atom:updated>2006-07-21T07:21:57.000006-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Very detailed and insightful peek into the state of affairs re. database engines (Open &amp;amp; Closed Source).&lt;/p&gt; &lt;p&gt;I added the missing piece regarding the &amp;quot;Virtuoso Conductor&amp;quot; (the Web based Admin UI for Virtuoso) to the original post below. I also added a link to our live SPARQL Demo so that anyone interested can start playing around with SPARQL and SPARQL integrated into SQL right away.&lt;/p&gt; &lt;p&gt;Another good thing about this post is the vast amount of valuable links that it contains. To really appreciate this point simply visit my Linkblog (excuse the current layout :-) - a Tab if you come in via the front door of this &lt;a href=&quot;http://www.infoworld.com/opinions/index.html&quot;&gt;Data Space&lt;/a&gt; (what I used to call &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/&quot;&gt;My Weblog Home Page&lt;/a&gt;).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; &lt;a href=&quot;http://oakleafblog.blogspot.com/2006/05/free-databases-express-vs-open-source.html&quot;&gt;&amp;quot;Free&amp;quot; Databases: Express vs. Open-Source RDBMSs&lt;/a&gt;: &amp;quot;&lt;span style=&quot;font-family: verdana;&quot;&gt;Open-source relational database management systems (RDBMSs) are gaining IT mindshare at a rapid pace. As an example, &lt;em&gt;BusinessWeek&lt;/em&gt;&amp;#39;s February 6, 2006 &amp;#39;&lt;/span&gt; &lt;a href=&quot;http://www.businessweek.com/technology/content/feb2006/tc20060206_918648.htm&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Taking On the Database Giants&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&amp;#39; article asks &amp;#39;Can open-source upstarts compete with Oracle, IBM, and Microsoft?&amp;#39; and then provides the answer: &amp;#39;It&amp;#39;s an uphill battle, but customers are starting to look at the alternatives.&amp;#39;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;There&amp;#39;s no shortage of open-source alternatives to look at. The &lt;em&gt;BusinessWeek&lt;/em&gt; article concentrates on &lt;a href=&quot;http://www.mysql.com/&quot;&gt;MySQL&lt;/a&gt;, which &lt;em&gt;BW&lt;/em&gt; says &amp;#39;is trying to be the Ikea of the database world: cheap, needs some assembly, but has a sleek, modern design and does the job.&amp;#39; The article also discusses &lt;a href=&quot;http://www.postgresql.org/&quot;&gt;Postgre[SQL]&lt;/a&gt; and &lt;a href=&quot;http://www.ingres.com/products/Prod_Ingres_2006.html&quot;&gt;Ingres&lt;/a&gt;, as well as &lt;a href=&quot;http://www.enterprisedb.com/&quot;&gt;EnterpriseDB&lt;/a&gt;, an Oracle clone created from PostgreSQL code*. Sun includes &lt;a href=&quot;http://www.sun.com/software/solaris/postgres.jsp&quot;&gt;PostgreSQL with Solaris 10&lt;/a&gt; and, as of April 6, 2006, with &lt;a href=&quot;http://docs.sun.com/app/docs/doc/819-2183/6n4g726uc?a=view&quot;&gt;Solaris Express&lt;/a&gt;.**&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;*Frank Batten, Jr., the investor who originally funded Red Hat, invested a reported &lt;/span&gt; &lt;a href=&quot;http://www.theinquirer.net/?article=28201&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;$16 million into Great Bridge&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt; with the hope of making a business out of providing paid support to PostgreSQL users. &lt;/span&gt; &lt;a href=&quot;http://news.com.com/2100-1001-272715.html&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Great Bridge stayed in business only 18 months&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;, having &lt;/span&gt; &lt;a href=&quot;http://news.com.com/2100-1001-268915.html&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;missed an opportunity to sell the business to Red Hat&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt; and finding that selling &lt;/span&gt; &lt;a href=&quot;http://news.com.com/2100-1001-269729.html&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;$50,000-per-year support packages&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt; for an open-source database wasn&amp;#39;t easy. As Batten concluded, &amp;#39;We could not get customers to pay us big dollars for support contracts.&amp;#39; Perhaps EnterpriseDB will be more successful with a choice of &lt;/span&gt; &lt;a href=&quot;http://www.enterprisedb.com/shop.do?cID=10000&amp;pID=10001&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;$5,000, $3,000, or $1,000 annual support subscriptions&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;.&lt;/span&gt; &lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana; font-size: 85%;&quot;&gt;**Interestingly, &lt;a href=&quot;http://www.sun.com/smi/Press/sunflash/2005-11/sunflash.20051115.4.xml&quot;&gt;Oracle announced in November 2005&lt;/a&gt; that Solaris 10 is &amp;#39;its preferred development and deployment platform for most x64 architectures, including x64 (x86, 64-bit) AMD Opteron and Intel Xeon processor-based systems and Sun&amp;#39;s UltraSPARC(R)-based systems.&amp;#39;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;There is a surfeit of reviews of current MySQL, PostgreSQL andâto a lesser extentâIngres implementations. These three open-source RDBMSs come with their own or third-party management tools. These systems compete against free versions of commercial (proprietary) databases: &lt;a href=&quot;http://msdn.microsoft.com/vstudio/express/sql/&quot;&gt;SQL Server 2005 Express Edition&lt;/a&gt; (and its MSDE 2000 and 1.0 predecessors), &lt;a href=&quot;http://www.oracle.com/technology/products/database/xe/index.html&quot; target=&quot;_blank&quot;&gt;Oracle Database 10g Express Edition&lt;/a&gt;, &lt;a href=&quot;http://www-306.ibm.com/software/data/db2/udb/db2express/download.html&quot; target=&quot;_blank&quot;&gt;IBM DB2 Express-C&lt;/a&gt;, and &lt;a href=&quot;http://www.sybase.com/linux_promo&quot; target=&quot;_blank&quot;&gt;Sybase ASE Express Edition for Linux&lt;/a&gt; where database size and processor count limitations aren&amp;#39;t important. Click &lt;a href=&quot;http://www.ftponline.com/special/sqlserver/rjennings-overview/table4.aspx&quot;&gt;here&lt;/a&gt; for a summary of recent &lt;em&gt;InfoWorld&lt;/em&gt; reviews of the full versions of these four databases plus MySQL, which should be valid for Express editions also. The &lt;a href=&quot;http://www.ftponline.com/special/sqlserver/&quot;&gt;FTPOnline Special Report&lt;/a&gt; article, &amp;#39;Microsoft SQL Server Turns 17,&amp;#39; that contains the preceding table is &lt;a href=&quot;http://www.ftponline.com/special/sqlserver/rjennings-overview/&quot;&gt;here&lt;/a&gt; (requires registration.)&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;/p&gt; &lt;p&gt; &lt;strong&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;SQL Server 2005 Express Edition SP-1 Advanced Features&lt;/span&gt; &lt;/strong&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=4C6BA9FD-319A-4887-BC75-3B02B5E48A40&amp;displaylang=en&quot;&gt;SQL Server 2005 Express Edition with Advanced Features&lt;/a&gt; enhances SQL Server 2005 Express Edition (SQL Express or SSX) dramatically, so it deserves special treatment here. SQL Express gains full text indexing and now supports SQL Server Reporting Services (SSRS) on the local SSX instance. The SP-1 with Advanced Features setup package, which Microsoft released on April 18, 2006, installs the release version of SQL Server Management Studio Express (SSMSE) and the full version of Business Intelligence Development Studio (BIDS) for designing and editing SSRS reports. My &amp;#39;&lt;a href=&quot;http://www.ftponline.com/special/sqlserver/rjennings-sp1/&quot;&gt;Install SP-1 for SQL Server 2005 and Express&lt;/a&gt;&amp;#39; article for FTPOnline&amp;#39;s &lt;a href=&quot;http://www.ftponline.com/special/sqlserver/&quot;&gt;SQL Server Special Report&lt;/a&gt; provides detailed, illustrated installation instructions for and related information about the release version of SP-1. SP-1 makes SSX the most capable of all currently available Express editions of commercial RDBMSs for Windows.&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;strong&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;OpenLink Software&amp;#39;s Virtuoso Open-Source Edition&lt;/span&gt; &lt;/strong&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;a href=&quot;http://openlinksw.com/&quot;&gt;OpenLink Software&lt;/a&gt; announced an &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/&quot;&gt;open-source version&lt;/a&gt; of it&amp;#39;s &lt;a href=&quot;http://virtuoso.openlinksw.com/&quot;&gt;Virtuoso Universal Server&lt;/a&gt; commercial DBMS on April 11, 2006. On the initial date of this post, May 2, 2006, Virtuoso Open-Source Edition (VOS) was virtually under the radar as an open-source product. According to &lt;a href=&quot;http://www.openlinksw.com/press/VOSPressRelease.htm&quot;&gt;this press release&lt;/a&gt;, the new edition includes:&lt;/span&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;/blockquote&gt; &lt;blockquote&gt;&lt;/blockquote&gt; &lt;blockquote&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&quot;http://demo.openlinksw.com/sparql_demo/&quot;&gt;SPARQL compliant RDF Triple Store&lt;/a&gt; &lt;/li&gt; &lt;li&gt;SQL-200n Object-Relational Database Engine (SQL, XML, and Free Text) &lt;/li&gt; &lt;li&gt;Integrated BPEL Server and Enterprise Service Bus&lt;/li&gt; &lt;li&gt;WebDAV and Native File Server &lt;/li&gt; &lt;li&gt;Web Application Server that supports PHP, Perl, Python, ASP.NET, JSP, etc. &lt;/li&gt; &lt;li&gt;Runtime Hosting for Microsoft .NET, Mono, and Java &lt;/li&gt; &lt;/ul&gt;VOS only lacks the virtual server and replication features that are offered by the commercial edition. VOS includes a Web-based administration tool called the &amp;quot;Virtuoso Conductor&amp;quot; According to &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=951&amp;sid=&amp;realm=&quot;&gt;Kingsley Idehen&amp;#39;s Weblog&lt;/a&gt;, &amp;#39;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).&amp;#39;&lt;br /&gt; &lt;br /&gt; &lt;em&gt;InfoWorld&lt;/em&gt;&amp;#39;s Jon Udell has tracked Virtuoso&amp;#39;s progress since &lt;a href=&quot;http://www.infoworld.com/article/02/04/12/020415plvirtuoso_1.html&quot;&gt;2002&lt;/a&gt;, with an &lt;a href=&quot;http://www.infoworld.com/article/03/03/21/12virtuoso_1.html&quot;&gt;additional article in 2003&lt;/a&gt; and a &lt;a href=&quot;http://weblog.infoworld.com/udell/2006/04/28.html#a1437&quot;&gt;one-hour podcast with Kingsley Idehen&lt;/a&gt; on April 26, 2006. A major talking point for Virtuoso is its support for Atom 0.3 syndication and publication, Atom 1.0 syndication and (forthcoming) publication, and future support for Google&amp;#39;s &lt;a href=&quot;http://code.google.com/apis/gdata/overview.html&quot;&gt;GData protocol&lt;/a&gt;, as mentioned in &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=965&quot;&gt;this Idehen post&lt;/a&gt;. Yahoo!&amp;#39;s &lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/006687.html&quot;&gt;Jeremy Zawodny&lt;/a&gt; points out that the &amp;#39;fingerprints&amp;#39; of &lt;a href=&quot;http://oakleafblog.blogspot.com/2005/11/adam-bosworth-learning-from-web-and.html&quot;&gt;Adam Bosworth&lt;/a&gt;, Google&amp;#39;s VP of Engineering and the primary force behind the development of Microsoft Access, &amp;#39;are all over GData.&amp;#39; Click &lt;a href=&quot;http://search.blogger.com/?as_q=bosworth&amp;ie=UTF-8&amp;ui=blg&amp;amp;bl_url=oakleafblog.blogspot.com&amp;x=50&amp;y=10&quot;&gt;here&lt;/a&gt; to display a list of all OakLeaf posts that mention Adam Bosworth.&lt;br /&gt; &lt;br /&gt;One application for the GData protocol is querying and updating the Google Base database independently of the Google Web client, as mentioned by Jeremy: &amp;#39;It&amp;#39;s not about building an easier onramp to Google Base. ... Well, it is. But, again, that&amp;#39;s the small stuff.&amp;#39; Click &lt;a href=&quot;http://search.blogger.com/?as_q=%22google+base%22&amp;ie=UTF-8&amp;x=50&amp;y=9&amp;q=%22google+base%22+blogurl:oakleafblog.blogspot.com&amp;filter=0&amp;ui=blg&amp;sa=N&amp;start=0&quot;&gt;here&lt;/a&gt; for a list of posts about my experiences with Google Base. Watch for a future OakLeaf post on the subject as the GData APIs gain ground.&lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;strong&gt;Open-Source and Free Embedded Database Contenders&lt;/strong&gt; &lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;Open-source and free embedded SQL databases are gaining importance as the number and types of mobile devices and OSs proliferate. Embedded databases usually consist of Java classes or Windows DLLs that are designed to minimize file size and memory consumption. Embedded databases avoid the installation hassles, heavy resource usage and maintenance cost associated with client/server RDBMSs that run as an operating system service.&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;Andrew Hudson&amp;#39;s December 2005 &amp;#39;&lt;a href=&quot;http://www.theinquirer.net/?article=28201&quot;&gt;Open Source databases rounded up and rodeoed&lt;/a&gt;&amp;#39; review for The Enquirer provides brief descriptions of one commercial and eight open source database purveyors/products: Sleepycat, MySQL, PostgreSQL, Ingres, InnoBase, Firebird, IBM Cloudscape (a.k.a, Derby), Genezzo, and Oracle. Oracle &lt;a href=&quot;http://www.sleepycat.com/&quot;&gt;Sleepycat&lt;/a&gt;* isn&amp;#39;t an SQL Database, Oracle &lt;a href=&quot;http://www.innodb.com/index.php&quot;&gt;InnoDB&lt;/a&gt;* is an OEM database engine that&amp;#39;s used by MySQL, and &lt;a href=&quot;http://www.genezzo.com/&quot;&gt;Genezzo&lt;/a&gt; is a multi-user, multi-server distributed database engine written in Perl. These special-purpose databases are beyond the scope of this post.&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;* Oracle &lt;a href=&quot;http://www.oracle.com/sleepycat/index.html&quot;&gt;purchased Sleepycat Software, Inc. in February 2006&lt;/a&gt; and &lt;/span&gt; &lt;a href=&quot;http://www.oracle.com/innodb/index.html&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;purchased Innobase OY in October 2005&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;. The press release states: &amp;#39;Oracle intends to continue developing the InnoDB technology and expand our commitment to open source software.&amp;#39; &lt;/span&gt; &lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana; font-size: 85%;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt; &lt;a href=&quot;http://db.apache.org/derby/&quot;&gt;&lt;strong&gt;Derby&lt;/strong&gt; &lt;/a&gt; is an open-source release by the &lt;a href=&quot;http://www.apache.org/&quot;&gt;Apache Software Foundation&lt;/a&gt; of the &lt;a href=&quot;http://www.infoworld.com/article/04/08/03/HNcloudscape_1.html&quot;&gt;Cloudscape Java-based database that IBM acquired&lt;/a&gt; when it bought Informix in 2001. IBM offers a commercial release of Derby as &lt;a href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0408cline/&quot;&gt;IBM Cloudscape 10.1&lt;/a&gt;. Derby is a Java class library that has a relatively light footprint (2 MB), which make it suitable for &lt;a href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0503stumpf/&quot;&gt;client/server synchronization&lt;/a&gt; with the IBM DB2 Everyplace Sync Server in &lt;a href=&quot;http://www-128.ibm.com/developerworks/library/wi-cloud/&quot;&gt;mobile applications&lt;/a&gt;. The IBM DB2 Everyplace Express Edition isn&amp;#39;t open source or free*, so it doesn&amp;#39;t qualify for this post. The same is true for the corresponding Sybase SQL Anywhere components.**&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana; font-size: 85%;&quot;&gt;* IBM DB2 Everyplace Express Edition with synchronization costs $379 per server (up to two processors) and $79 per user. DB2 Everyplace Database Edition (without DB2 synchronization) is $49 per user. (Prices are based on those when &lt;/span&gt; &lt;a href=&quot;http://news.earthweb.com/wireless/article.php/3107101&quot;&gt;&lt;span style=&quot;font-family: verdana; font-size: 85%;&quot;&gt;IBM announced version 8&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-family: verdana; font-size: 85%;&quot;&gt; in November 2003.)&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana; font-size: 85%;&quot;&gt;** Sybase&amp;#39;s iAnywhere subsidiary calls SQL Anywhere &amp;#39;the industry&amp;#39;s leading mobile database.&amp;#39; A Sybase SQL Anywhere Personal DB seat license with synchronization to SQL Anywhere Server is $119; the cost without synchronization wasn&amp;#39;t available from the Sybase Web site. Sybase SQL Anywhere and IBM DB2 Everyplace perform similar replication functions.&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;Sun&amp;#39;s &lt;a href=&quot;http://developers.sun.com/prodtech/javadb/&quot;&gt;&lt;strong&gt;Java DB&lt;/strong&gt;&lt;/a&gt;, another commercial version of Derby, comes with the &lt;a href=&quot;http://www.sun.com/software/solaris/&quot;&gt;Solaris Enterprise Edition&lt;/a&gt;, which bundles Solaris 10, the Java Enterprise System, developer tools, desktop infrastructure and N1 management software. A recent Between the Lines blog entry by ZDNet&amp;#39;s David Berlind waxes enthusiastic over the use of &lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=2298&quot;&gt;Java DB embedded in a browser&lt;/a&gt; to provide offline persistence. RedMonk analyst &lt;a href=&quot;http://www.redmonk.com/jgovernor/archives/001151.html&quot;&gt;James Governor&lt;/a&gt; and &lt;em&gt;eWeek&lt;/em&gt;&amp;#39;s &lt;a href=&quot;http://www.eweek.com/article2/0,1895,1902407,00.asp&quot;&gt;Lisa Vaas&lt;/a&gt; wrote about the use of Java DB as a local data store when &lt;a href=&quot;http://www.sauria.com/blog/2005/12/13#1440&quot;&gt;Tim Bray announced Sun&amp;#39;s Derby derivative&lt;/a&gt; and &lt;a href=&quot;http://blogs.sun.com/roller/page/FrancoisOrsini?entry=derby_apachecon_demo&quot;&gt;Francois Orsini&lt;/a&gt; demonstrated Java DB embedded in the Firefox browser at the ApacheCon 2005 conference.&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt; &lt;a href=&quot;http://www.firebirdsql.org/&quot;&gt;&lt;strong&gt;Firebird&lt;/strong&gt; &lt;/a&gt; is derived from Borland&amp;#39;s InterBase 6.0 code, the first commercial relational database management system (RDBMS) to be released as open source. Firebird has excellent support for SQL-92 and comes in three versions: Classic, SuperServer and Embedded for Windows, Linux, Solaris, HP-UX, FreeBSD and MacOS X. The embedded version has a 1.4-MB footprint. Release Candidate 1 for Firebird 2.0 became available on March 30, 2006 and is a major improvement over earlier versions. &lt;a href=&quot;http://www.borland.com/us/products/interbase/index.html&quot;&gt;Borland continues to promote InterBase&lt;/a&gt;, now at version 7.5, as a small-footprint, embedded database with commercial Server and Client licenses.&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt; &lt;a href=&quot;http://www.sqlite.org/index.html&quot;&gt;&lt;strong&gt;SQLite&lt;/strong&gt; &lt;/a&gt; is a featherweight C library for an embedded database that implements most SQL-92 entry- and transitional-level requirements (some through the JDBC driver) and supports transactions within a tiny 250-KB code footprint. &lt;a href=&quot;http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers&quot;&gt;Wrappers&lt;/a&gt; support a multitude of languages and operating systems, including Windows CE, SmartPhone, Windows Mobile, and Win32. SQLite&amp;#39;s primary &lt;a href=&quot;http://www.sqlite.org/omitted.html&quot;&gt;SQL-92 limitations&lt;/a&gt; are lack of nested transactions, inability to alter a table design once committed (other than with RENAME TABLE and ADD COLUMN operations), and foreign-key constraints. SQLite provides read-only views, triggers, and 256-bit encryption of database files. A downside is the the entire database file is &lt;a href=&quot;http://weblogs.asp.net/jgalloway/archive/2006/04/12/442615.aspx&quot;&gt;locked when while a transaction is in progress&lt;/a&gt;. SQLite uses file access permissions in lieu of GRANT and REVOKE commands. Using SQLite involves no license; its code is entirely in the public domain.&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: Verdana; font-size: 85%;&quot;&gt;The Mozilla Foundation&amp;#39;s &lt;a href=&quot;http://wiki.mozilla.org/Mozilla2:Unified_Storage&quot;&gt;Unified Storage wiki&lt;/a&gt; says this about SQLite: &amp;#39;SQLite will be the back end for the unified store [for Firefox]. Because it implements a SQL engine, we get querying &amp;#39;for free&amp;#39;, without having to invent our own query language or query execution system. Its code-size footprint is moderate (250k), but it will hopefully simplify much existing code so that the net code-size change should be smaller. It has exceptional performance, and supports concurrent access to the database. Finally, it is released into the public domain, meaning that we will have no licensing issues.&amp;#39;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;Vieka Technology, Inc.&amp;#39;s &lt;a href=&quot;http://vieka.com/esql.htm&quot;&gt;&lt;strong&gt;eSQL 2.11&lt;/strong&gt;&lt;/a&gt; is a port of SQLite to Windows Mobile (Pocket PC and Smartphone) and Win32, and includes development tools for Windows devices and PCs, as well as a .NET native data provider. A conventional ODBC driver also is available. eSQL for Windows (Win32) is free for personal and commercial use; eSQL for Windows Mobile requires a license for commercial (for-profit or business) use.&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt; &lt;a href=&quot;http://hsqldb.org/&quot;&gt;&lt;strong&gt;HSQLDB&lt;/strong&gt; &lt;/a&gt; isn&amp;#39;t on most reviewers&amp;#39; radar, which is surprising because it&amp;#39;s the default database for &lt;a href=&quot;http://www.openoffice.org/&quot;&gt;OpenOffice.org&lt;/a&gt; (OOo) 2.0&amp;#39;s &lt;a href=&quot;http://www.openoffice.org/product/base.html&quot;&gt;Base&lt;/a&gt; suite member. HSQLDB 1.8.0.1 is an open-source (BSD license) Java dembedded database engine based on Thomas Mueller&amp;#39;s original Hypersonic SQL Project. Using OOo&amp;#39;s Base feature requires installing the Java 2.0 Runtime Engine (which is not open-source) or the presence of an alternative open-source engine, such as Kaffe. My prior posts about OOo Base and HSQLDB are &lt;a href=&quot;http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access.html&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access_22.html&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://oakleafblog.blogspot.com/2005/10/openoffice-20-base-matches-microsoft.html&quot;&gt;here&lt;/a&gt;.&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;The &lt;a href=&quot;http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html&quot;&gt;HSQLDB 1.8.0 documentation&lt;/a&gt; on SourceForge states the following regarding SQL-92 and later conformance:&lt;/span&gt; &lt;/p&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt; &lt;blockquote&gt; &lt;p&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;HSQLDB 1.8.0 supports the dialect of SQL defined by SQL standards 92, 99 and 2003. This means where a feature of the standard is supported, e.g. left outer join, the syntax is that specified by the standard text. Many features of SQL92 and 99 up to Advanced Level are supported and here is support for most of SQL 2003 Foundation and several optional features of this standard. However, certain features of the Standards are not supported so no claim is made for full support of any level of the standards. &lt;/span&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Other less well-known embedded databases designed for or suited to mobile deployment are &lt;/span&gt; &lt;a href=&quot;http://www.mimer.com/leftright.asp?secId=172&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Mimer SQL Mobile&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt; and &lt;/span&gt; &lt;a href=&quot;http://www.vistadb.net/&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;VistaDB 2.1&lt;/span&gt; &lt;/a&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;. Neither product is open-source and require paid licensing; VistaDB requires a small up-front payment by developers but offers royalty-free distribution.&lt;/span&gt; &lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-family: Verdana;&quot;&gt;Java DB, Firebird embedded, SQLite and eSQL 2.11 are contenders for lightweight PC and mobile device database projects that aren&amp;#39;t Windows-only.&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;strong&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;SQL Server 2005 Everywhere&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt; &lt;/strong&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;If you&amp;#39;re a Windows developer, SQL Server Mobile is the logical embedded database choice for mobile applications for Pocket PCs and Smartphones. Microsoft&amp;#39;s April 19, 2006 press release delivered the news that SQL Server 2005 Mobile Editon (SQL Mobile or SSM) would gain a big brotherâSQL Server 2005 Everywhere Edition. &lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;/span&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;Currently, the SSM client is licensed (at no charge) to run in production on devices with Windows CE 5.0, Windows Mobile 2003 for Pocket PC or Windows Mobile 5.0, or on PCs with Windows XP Tablet Edition only. SSM also is licensed for development purposes on PCs running Visual Studio 2005.&lt;/span&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt; Smart Device replication with SQL Server 2000 SP3 and later databases has been the most common application so far for SSM.&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;By the end of 2006, Microsoft will license SSE for use on &lt;em&gt;all&lt;/em&gt; PCs running any Win32 version or the preceding device OSs. A version of SQL Server Management Studio Express (SSMSE)âupdated to support SSEâis expected to release by the end of the year. These features will qualify SSE as &lt;em&gt;the universal embedded database&lt;/em&gt; for Windows client and smart-device applications. &lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;span style=&quot;font-family: verdana;&quot;&gt;For more details on SSE, read &lt;a href=&quot;http://weblogs.asp.net/jgalloway/archive/2006/04/11/442451.aspx&quot;&gt;John Galloway&amp;#39;s April 11, 2006 blog post&lt;/a&gt; and my &amp;#39;&lt;a href=&quot;http://www.ftponline.com/special/sqlserver/rjennings-mobile/&quot;&gt;SQL Server 2005 Mobile Goes Everywhere&lt;/a&gt;&amp;#39; article for the &lt;a href=&quot;http://www.ftponline.com/special/sqlserver/&quot;&gt;FTPOnline Special Report on SQL Server&lt;/a&gt;.&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;/span&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://oakleafblog.blogspot.com&quot;&gt;OakLeaf Systems&lt;/a&gt;.)&lt;/p&gt; &lt;/span&gt; &lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Virtuoso is Officially Open Source!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-04-11#951</atom:id>
  <atom:published>2006-04-11T18:01:44Z</atom:published>
  <atom:updated>2006-07-21T07:22:20.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I am pleased to unveil (officially) the fact that &lt;a href=&quot;http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;STORY=/www/story/04-11-2006/0004338324&amp;EDATE=&quot;&gt;Virtuoso is now available in Open Source form&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What Is Virtuoso?&lt;/h4&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;Where did it come from?&lt;/h4&gt; &lt;p&gt;The &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory&quot;&gt;Virtuoso History page&lt;/a&gt; tells the whole story.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What Functionality Does It Provide?&lt;/h4&gt; The following: &lt;ul&gt; 1. Object-Relational DBMS Engine (ORDBMS like PostgreSQL and DBMS engine like MySQL) &lt;/ul&gt; &lt;ul&gt; 2. XML Data Management (with support for XQuery, XPath, XSLT, and XML Schema) &lt;/ul&gt; &lt;ul&gt; 3. RDF Triple Store (or Database) that supports SPARQL (Query Language, Transport Protocol, and XML Results Serialization format) &lt;/ul&gt; &lt;ul&gt; 4. Service Oriented Architecture (it combines a BPEL Engine with an ESB) &lt;/ul&gt; &lt;ul&gt; 5. Web Application Server (supports HTTP/WebDAV) &lt;/ul&gt; &lt;ul&gt; 6. NNTP compliant Discussion Server &lt;/ul&gt; And more. (see: &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;Virtuoso Web Site&lt;/a&gt;) &lt;p&gt; 90% of the aforementioned functionality has been available in Virtuoso since 2000 with the RDF Triple Store being the only 2006 item.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What Platforms are Supported&lt;/h4&gt; &lt;p&gt; 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).&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;Why Open Source?&lt;/h4&gt; &lt;p&gt;Simple, there is no value in a product of this magnitude remaining the &amp;quot;best kept secret&amp;quot;. 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.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What Open Source License is it under?&lt;/h4&gt; &lt;p&gt;GPL version 2.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What&amp;#39;s the business model?&lt;/h4&gt; &lt;p&gt;Dual licensing.&lt;/p&gt; &lt;p&gt;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. &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;Where is the Project Hosted?&lt;/h4&gt; &lt;p&gt;On &lt;a href=&quot;http://sourceforge.net/projects/virtuoso&quot;&gt;SourceForge.&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;Is there a product Blog?&lt;/h4&gt; &lt;p&gt;Of course! &lt;/p&gt; &lt;p&gt;Up until this point, the &lt;a href=&quot;http://virtuoso.openlinksw.com/blog/&quot;&gt;Virtuoso Product Blog&lt;/a&gt; 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.&lt;/p&gt; &lt;p&gt;Is There a product Wiki?&lt;/p&gt; &lt;p&gt;Sure! &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/&quot;&gt;The Virtuoso Product Wiki&lt;/a&gt; is also an instance of Virtuoso demonstrating another aspect of the Content Management prowess of Virtuoso.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What About Online Documentation?&lt;/h4&gt; &lt;p&gt;Yep! &lt;a href=&quot;http://docs.openlinksw.com/virtuoso/&quot;&gt;Virtuoso Online Documentation&lt;/a&gt; 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).&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;What about Tutorials and Demos?&lt;/h4&gt; &lt;p&gt;The &lt;a href=&quot;http://demo.openlinksw.com/tutorial/&quot;&gt;Virtuoso Online Tutorial&lt;/a&gt; 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).&lt;/p&gt; &lt;p&gt;BTW - We have also updated the &lt;a href=&quot;http://virtuoso.openlinksw.com/FAQ/&quot;&gt;Virtuoso FAQ&lt;/a&gt; and also released a number of missing &lt;a href=&quot;http://virtuoso.openlinksw.com/Whitepapers/&quot;&gt;Virtuoso White Papers&lt;/a&gt; (amongst many long overdue action items).&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Future Of The Internet</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-03-29#943</atom:id>
  <atom:published>2006-03-29T18:26:07Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://123suds.blogspot.com/2006/03/future-of-internet.html&quot;&gt;The Future Of The Internet&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p align=&quot;justify&quot;&gt;While the &lt;a href=&quot;http://123suds.blogspot.com/2005/11/wsis-agrees-on-evolutionary-framework.html&quot; target=&quot;_blank&quot;&gt;framework of governance&lt;/a&gt; continues to evolve there is a widespread belief that along with the growth of the internet, more and more problems such as spam, viruses and &amp;#39;denial of service&amp;#39; attacks that can cripple large websites shall begin to be felt. It seems reasonable to assume that the number of devices on the network will continue to multiply in new and unforeseen ways. &lt;strong&gt;So researchers are starting from the assumption that communications chips and sensors will eventually be embedded in almost everything, from furniture to cereal boxes - &amp;#39;hundreds of billions of such devices&amp;#39;. While today&amp;#39;s internet traffic is generally initiated by humans- as they send e-mails, click on web links, or download music tracks- in future, the vast majority of traffic may be &amp;#39;machine to machine&amp;#39; communications: things flirting with other things â all ready to be connected wirelessly, and will move around&lt;/strong&gt;.&lt;br /&gt; &lt;br /&gt;The Economist has a related article titled &lt;a href=&quot;http://www.economist.com/printedition/displaystory.cfm?story_id=5571596&quot; target=&quot;_blank&quot;&gt;Reinventing the Internet&lt;/a&gt;. Asking the question if a can a âclean slateâ redesign of the internet can ever be implemented. &lt;br /&gt;Few solutions float around:&lt;br /&gt;- &lt;strong&gt;One is âtrust-modulated transparencyâ. The network&amp;#39;s traffic-routing infrastructure shall judge the trustworthiness of packets of data as they pass by and deliver only those deemed trustworthy &amp;amp; dubious packets might be shunted aside for screening&lt;/strong&gt;. The whole system would be based on a âweb of trustâ, in which traffic flows freely between devices that trust each other, but is closely scrutinized between those that do not.&lt;br /&gt;- &lt;strong&gt;Another idea is a new approach to addressing, called âinternet indirection infrastructureâ - It would overlay an additional addressing system on top of the internet-protocol numbers now used to identify devices on the internet&lt;/strong&gt;. This would make it easier to support mobile devices, and would also allow for âmulticastingâ of data to many devices at once, enabling the efficient distribution of audio, video and software. &lt;strong&gt;With Activenets or metanets, devices at the edge of the network could then dynamically reprogram all the routers along the network path between them to use whatever new protocol they wanted. &lt;br /&gt;While the research is still on there some hopes of making some progress on the technical front â but It may well transpire that the greatest impediment to upgrading the internet will turn out to be political disagreements like &lt;a href=&quot;http://123suds.blogspot.com/2005/10/breaking-us-grip-on-net-or-its.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt; , &lt;a href=&quot;http://123suds.blogspot.com/2005/10/breaking-us-grip-on-net-or-its.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;, over how it should work, rather than the technical difficulty of bringing it about.&lt;/strong&gt;The OECD hosted a workshop titled &lt;a href=&quot;http://www.oecd.org/document/5/0,2340,en_2649_201185_36169989_1_1_1_1,00.htm&quot; target=&quot;_blank&quot;&gt;The Future of the Internet&lt;/a&gt; in Paris on 8 March 2006. Some of the &lt;a href=&quot;http://www.oecd.org/document/5/0,2340,en_2649_201185_36169989_1_1_1_1,00.htm&quot; target=&quot;-blank&quot;&gt;presentations&lt;/a&gt; look good and a few of them make a compelling reading. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt;Category :&lt;a href=&quot;http://yahoo.com/tag/internet&quot; rel=&quot;tag&quot;&gt;Internet&lt;/a&gt;, &lt;a href=&quot;http://del.icio.us/tag/emerging + technologies&quot; rel=&quot;tag&quot;&gt;Emerging Technologies&lt;/a&gt;, &lt;a href=&quot;http://del.icio.us/tag/emerging + trends&quot; rel=&quot;tag&quot;&gt;Emerging Trends&lt;/a&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://123suds.blogspot.com&quot;&gt;Sadagopan&amp;#39;s weblog on Emerging Technologies,Thoughts, Ideas,Trends and Cyberworld&lt;/a&gt;.)&lt;/p&gt; &lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=Internet&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;Internet&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=Emerging Technologies&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;Emerging Technologies&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=Emerging Trends&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;Emerging Trends&lt;/a&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Getting Closer (Booting solved): WinXP and OSX dual boot in MacBook Pro</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-03-19#941</atom:id>
  <atom:published>2006-03-19T22:40:55Z</atom:published>
  <atom:updated>2006-07-21T07:23:10.000001-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Directly From &lt;a href=&quot;http://nirlog.com&quot;&gt;Nirlog.com&lt;/a&gt;:)&lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://nirlog.com/2006/03/18/winxp-and-osx-dual-boot-in-macbook-pro/#comments&quot;&gt;WinXP and OSX dual boot in MacBook Pro&lt;/a&gt;: &amp;quot;&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;332&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-start2.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;Finally Iâve succeeded in installing Windows XP in MacBook Pro. Now it can dual boot between Windows XP and MacOS X. Thereâre few issues with windows xp but being able to boot smoothly between these 2 OSes are really amazing. Iâve followed this &lt;a href=&quot;http://wiki.onmac.net/index.php/HOWTO&quot;&gt;HOWTO&lt;/a&gt; where more and more information is being added every few hours. I think most of the minor problems will be solved soon. If you want to install it for your self or want more information &lt;a href=&quot;http://wiki.onmac.net/index.php/Main_Page&quot;&gt;this wiki&lt;/a&gt; is the best place to go. Here Iâm posting the photos of major installation sequence and some problems I encountered.&lt;/p&gt; &lt;p&gt; &lt;a id=&quot;more-96&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Installation&lt;/strong&gt; &lt;/p&gt; &lt;p&gt; 1. Downloaded &lt;a href=&quot;http://download.onmac.net/Winxponmac_0.1.zip&quot;&gt;winxponmac0.1.zip&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Windows XP Pro CD that came with my Samsung Notebook is SP1 but the patch works only with SP2. So this is what I did:&lt;/p&gt; &lt;p&gt; 2. Downloaded &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=049C9DBE-3B8E-4F30-8245-9E368D3CDB5A&amp;displaylang=en&quot;&gt;WinXP SP2&lt;/a&gt; separately.&lt;/p&gt; &lt;p&gt; 3. Used the free tool &lt;a href=&quot;http://www.nliteos.com/nlite.html&quot;&gt;nLite&lt;/a&gt; to integrate the WinXP SP2 with the XP Pro CD (SP1) and created the WinXP SP2 CD source.&lt;/p&gt; &lt;p&gt; 4. Then followed &lt;a href=&quot;http://wiki.onmac.net/index.php/HOWTO#Step-by-step_Instructions&quot;&gt;Step-by-step-instruction&lt;/a&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt; Burned the customized WinXP CD.&lt;/li&gt; &lt;li&gt; Partitioned the disk using OSX CD.&lt;/li&gt; &lt;li&gt; Installed OSX.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;img height=&quot;282&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-burn-cd.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt; 5. Started Windows XP installation.&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;356&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-xpinstall.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt; 6. I encountered a problem with the partition listing. I was presented with following options.&lt;/p&gt; &lt;ul&gt; &lt;li&gt; C: Partition 1 (EFI) [FAT32]&lt;/li&gt; &lt;li&gt; unpartitioned space&lt;/li&gt; &lt;li&gt; E: Partition 2 [unknown]&lt;/li&gt; &lt;li&gt; unpartitioned space&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;img height=&quot;341&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-partition-problem.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;According to the guide the correct option should be as following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;E: Partition1 (EFI) [FAT32]&lt;/li&gt; &lt;li&gt;C: Partition2 [Unknown]&lt;/li&gt; &lt;li&gt;F: Partition3 [Unknown]&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;If you choose the Partition2 then youâll get follwing error:&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;344&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-partition-problem1.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt; 7. To solve the above problem I selected the first &amp;#39;unpartitioned space,&amp;#39; then pressed &amp;#39;C&amp;#39; to create a new partition. As described in &lt;a href=&quot;http://www.macfixit.com/article.php?story=20060317100333451&quot;&gt;this solution&lt;/a&gt;. After this things went smoothly.&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;360&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-partition-ok.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt; 8. Finally itâs installed&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;332&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-start1.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;9. System Properties&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;531&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-sys-prop.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;10. Device Manager with unrecognized devices.&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;399&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-device.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;11. Downloaded the drivers from &lt;a href=&quot;http://wiki.onmac.net/index.php/Drivers&quot;&gt;here&lt;/a&gt;. Ethernet works fine. Wireless doesnât work. If I press restart it will shutdown.&lt;/p&gt; &lt;p&gt;12. Browsing my blog.&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;363&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-firefox.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;13. Boot Choice: Mac OSX&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;360&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-apple.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;14. Boot Choice: Windows XP&lt;/p&gt; &lt;p&gt; &lt;img height=&quot;360&quot; width=&quot;484&quot; style=&quot;margin:5px;&quot; alt=&quot;&quot; src=&quot;http://nirlog.com/wp-content/uploads/2006/03/xponmac-12.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;Now thereâre few driver issues Iâm quite sure theyâll be solved soon.&lt;/p&gt;&amp;quot;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Ted Nelson&#39;s Perspective on Technology Lock-in</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-02-15#935</atom:id>
  <atom:published>2006-02-15T19:50:41Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt; &lt;a href=&quot;http://www.invisiblerevolution.net/ted-bar-it/top-level.html&quot;&gt;Ted Nelson expresses technology lock-in dislike&lt;/a&gt;. This applies to Operating System, Programming Language, Database, or any other forms. &lt;/p&gt; Amen! &lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=zigzag&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;zigzag&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=xanadu&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;xanadu&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=semantic_web&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;semantic_web&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=semweb&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;semweb&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=visionary&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;visionary&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=history&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;history&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=hypertext&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;hypertext&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=hyperlink&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;hyperlink&lt;/a&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Video: Tribute to Innovation (featuring: Doug Engelbart)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-02-15#934</atom:id>
  <atom:published>2006-02-15T19:08:55Z</atom:published>
  <atom:updated>2006-07-21T07:22:48.000001-04:00</atom:updated>
  <atom:content type="html">A really nice &lt;a href=&quot;http://www.invisiblerevolution.net/index-video-web.html&quot;&gt;video tribute to Doug Engelbart&lt;/a&gt; and the fundamental challenges of seeing way ahead of your time (aka. Prescience) :-) &lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=semantic_web&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;semantic_web&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=semweb&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;semweb&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=visionary&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;visionary&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=history&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;history&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=hypertext&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;hypertext&lt;/a&gt;&lt;a href=&quot;http://www.openlinksw.com:8889/index.vspx?tag=hyperlink&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;hyperlink&lt;/a&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Web &amp; XML Glossary</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-02-06#931</atom:id>
  <atom:published>2006-02-06T23:14:41Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">Nice &lt;a href=&quot;http://dret.net/glossary/&quot;&gt;XML and Web Glossary&lt;/a&gt; by &lt;a href=&quot;http://dret.net/netdret/foaf.rdf&quot;&gt;Dr. Eric Wilde&lt;/a&gt;.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Booting Windows on MacIntel Step-By Guide</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2006-01-30#928</atom:id>
  <atom:published>2006-01-30T19:04:00Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">Here is yet another &amp;quot;&lt;a href=&quot;http://neosmart.net/blog/dual-booting-windows-xp-on-a-macbook/&quot;&gt;Booting Windows on MacIntel&lt;/a&gt;&amp;quot; Guide (courtesy of the &lt;a href=&quot;http://neosmart.net/blog/&quot;&gt;&amp;quot;Ramblings of a Computer Guru&amp;quot; blog&lt;/a&gt;).</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Woz Describes the Apple-II</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-11-17#907</atom:id>
  <atom:published>2005-11-17T21:12:56Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">From Byte Magazine (From BYTE, May 1977, Vol. 2, No. 5): &lt;a href=&quot;http://members.cox.net/oldcomputerads/byteappleII.html&quot;&gt;Woz Describes The Apple-II&lt;/a&gt;.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Saving the Net from the pipeholders</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-11-16#904</atom:id>
  <atom:published>2005-11-16T18:23:13Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;An interesting post that I have place verbatim for the following reasons: &lt;/p&gt;&lt;ul&gt;1. Its Importance (generally speaking)&lt;/ul&gt;&lt;ul&gt;2. Lot&amp;#39;s of Link Love (A-List Blogger Style see: &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=linkblog&quot;&gt;LinkBlog&lt;/a&gt; and &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=summary&quot;&gt;Summary&lt;/a&gt; to see what &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen&quot;&gt;My Blog&lt;/a&gt; does with these links)&lt;/ul&gt;&lt;ul&gt;3. Time-to-show on &lt;a href=&quot;http://memeorandum.com&quot;&gt;Memeorandum&lt;/a&gt; (how, when, and if at all, are results that are of personal interest)&lt;/ul&gt;&lt;p&gt;Anyway, read the post from &lt;a href=&quot;http://doc.weblogs.com/&quot;&gt;Doc Searls&lt;/a&gt; titled: &lt;a href=&quot;http://doc.weblogs.com/2005/11/16#savingTheNetFromThePipeholders&quot;&gt;Saving the Net from the pipeholders&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;quot;I&amp;#39;ve spent much of the last two weeks writing an essay that just went up at &lt;a href=&quot;http://linuxjournal.com&quot;&gt;Linux Journal&lt;/a&gt;: &lt;a href=&quot;http://www.linuxjournal.com/article/8673&quot;&gt;Saving the Net: How to Keep the Carriers from Flushing the Net Down the Tubes&lt;/a&gt;. It&amp;#39;s probably the longest post I&amp;#39;ve ever put up on the Web. It&amp;#39;s certainly the most important. And not just to me.&lt;/p&gt;&lt;p&gt;I started writing it after a recent surprise visit by &lt;a href=&quot;http://www.isen.com/blog/&quot;&gt;David Isenberg&lt;/a&gt; to Santa Barbara. He&amp;#39;s the one who got me â and, I hope, us â going.&lt;/p&gt;&lt;p&gt;I finished writing it yesterday after &lt;a href=&quot;http://blogs.zdnet.com/BTL/&quot;&gt;David Berlind&lt;/a&gt; published &lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=2160&quot;&gt;three&lt;/a&gt;&lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=2161&quot;&gt;excellent&lt;/a&gt;&lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=2157&quot;&gt;pieces&lt;/a&gt;, which I highly recommend reading, and acting upon.&lt;/p&gt;&lt;p&gt;For guidance during the rest of this thing (whether they knew it or not), I also want to thank &lt;a href=&quot;http://www.hyperorg.com/blogger/&quot;&gt;David Weinberger&lt;/a&gt;, &lt;a href=&quot;http://scripting.com/&quot;&gt;Dave Winer&lt;/a&gt;, &lt;a href=&quot;http://blogs.zdnet.com/Gillmor/&quot;&gt;Steve Gillmor&lt;/a&gt;, &lt;a href=&quot;http://werblog.com/&quot;&gt;Kevin Werbach&lt;/a&gt;, &lt;a href=&quot;http://craphound.com/&quot;&gt;Cory Doctorow&lt;/a&gt;, &lt;a href=&quot;http://zgp.org/~dmarti/&quot;&gt;Don Marti&lt;/a&gt;, &lt;a href=&quot;http://www.stallman.org/&quot;&gt;Richard M. Stallman&lt;/a&gt;, &lt;a href=&quot;http://esr.ibiblio.org/&quot;&gt;Eric S. Raymond&lt;/a&gt;, &lt;a href=&quot;http://scrawford.blogware.com/blog&quot;&gt;Susan Crawford&lt;/a&gt;, &lt;a href=&quot;http://lessig.org/blog/&quot;&gt;Larry Lessig&lt;/a&gt;, &lt;a href=&quot;http://blogs.law.harvard.edu/palfrey/&quot;&gt;John Palfrey&lt;/a&gt;, &lt;a href=&quot;http://www.spot-on.com/nolan/&quot;&gt;Chris Nolan&lt;/a&gt;, &lt;a href=&quot;http://www.buzzmachine.com/&quot;&gt;Jeff Jarvis&lt;/a&gt;, &lt;a href=&quot;http://www.craigburton.com/&quot;&gt;Craig Burton&lt;/a&gt;,&lt;a href=&quot;http://www.andrewsullivan.com/&quot;&gt; Andrew Sullivan&lt;/a&gt;, &lt;a href=&quot;http://arstechnica.com/news.ars/post/20011210-2489.html&quot;&gt;Paul Kunz&lt;/a&gt;, &lt;a href=&quot;http://blog.deanland.com/&quot;&gt;Dean Landsman&lt;/a&gt;, &lt;a href=&quot;http://www.mattwelch.com/warblog.html&quot;&gt;Matt Welch&lt;/a&gt;, &lt;a href=&quot;http://www.projo.com/shenews&quot;&gt;Sheila Lennon&lt;/a&gt;, &lt;a href=&quot;http://www.georgelakoff.com/&quot;&gt;George Lakoff&lt;/a&gt;, &lt;a href=&quot;http://gigaom.com/&quot;&gt;Om Malik&lt;/a&gt;, &lt;a href=&quot;http://www.ssc.com/xstatic/corporate/staff/phil.html&quot;&gt;Phil Hughes&lt;/a&gt;, &lt;a href=&quot;http://www.newmediamusings.com/&quot;&gt;J.D. Lasica&lt;/a&gt;, &lt;a href=&quot;http://www.dynamist.com/weblog/&quot;&gt;Virginia Postrel&lt;/a&gt;, &lt;a href=&quot;http://longtail.typepad.com/the_long_tail/&quot;&gt;Chris Anderson&lt;/a&gt;, &lt;a href=&quot;http://www.release1-0.com/esther/&quot;&gt;Esther Dyson&lt;/a&gt;, &lt;a href=&quot;http://www.smallworks.com/&quot;&gt;Jim Thompson&lt;/a&gt;, &lt;a href=&quot;http://micah.sifry.com/&quot;&gt;Micah Sifry&lt;/a&gt;, &lt;a href=&quot;http://blog.barlowfriendz.net/&quot;&gt;John Perry Barlow&lt;/a&gt;, &lt;a href=&quot;http://www.eff.org/&quot;&gt;The EFF&lt;/a&gt;, &lt;a href=&quot;http://cyber.law.harvard.edu&quot;&gt;the Berkman Center&lt;/a&gt;, the &lt;a href=&quot;http://www.personaldemocracy.com/&quot;&gt;Personal Democracy Forum&lt;/a&gt; and others I&amp;#39;m overlooking but will fill in later when I have the time.&lt;/p&gt;&lt;p&gt;Although it&amp;#39;s kinda huge, &lt;a href=&quot;http://www.linuxjournal.com/article/8673&quot;&gt;Saving the Net&lt;/a&gt; wasn&amp;#39;t written as a Finished Work, but rather as a conversation starter â a way to change a rock we&amp;#39;re pushing uphill to a &lt;a href=&quot;http://doc.weblogs.com/2005/03/28#betOnTheSnowball&quot;&gt;snowball&lt;/a&gt; we&amp;#39;re rolling downhill.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://randomfoo.net/oscon/2002/lessig/&quot;&gt;Larry Lessig started rolling&lt;/a&gt; it at OSCON in 2002, and in various other ways before that, and the whole thing has been too damn &lt;a href=&quot;http://en.wikipedia.org/wiki/Sisyphus&quot;&gt;sisyphean&lt;/a&gt; for too damn long. Time to change that.&lt;/p&gt;&lt;p&gt;There&amp;#39;s a thesis involved: that the Net is in danger of becoming what &lt;a href=&quot;http://werblog.com/&quot;&gt;Kevin Werbach&lt;/a&gt;&lt;a href=&quot;http://werbach.com/blog/archives/2005/11/not_the_interne.html&quot;&gt;calls&lt;/a&gt;&amp;#39;a private toiled garden for the phone companies&amp;#39;, but that the real enemy is in how we understand the Net itself. We have choices there, and those choices may mean life or death for the Net as most of us have known it â and taken it for granted â for the last decade or more.&lt;/p&gt;&lt;p&gt;A couple days ago I spoke to a group of about thirty local citizens here in Santa Barbara County, gathered in the County supervisors&amp;#39; conference room to discuss forming a broadband task force. Early on, I asked people what the Net was. The answers were varied, but had one thing in common: it was a &lt;i&gt;place&lt;/i&gt;, and not just fiber and copper.&amp;quot; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>This Week&amp;rsquo;s Semantic Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-11-14#902</atom:id>
  <atom:published>2005-11-14T19:44:03Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;(Via &lt;a href=&quot;http://dannyayers.com&quot;&gt;Danny Ayers&lt;/a&gt;.):&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://dannyayers.com/archives/2005/11/13/this-weeks-semantic-web/&quot;&gt;This Weekâs Semantic Web&lt;/a&gt;: &lt;/p&gt;&lt;p&gt;&amp;quot;Ok, my first attempt at a round-up (in response to Philâs observation of &lt;a href=&quot;http://weblog.philringnalda.com/?p=1008&quot;&gt;Planetary damage&lt;/a&gt;). Thanks to the conference thereâs loads more here than thereâs likely to be subsequent weeks, although itâs still only a fairly random sample and some of the links here are to heaps of other resourcesâ¦&lt;br /&gt; &lt;em&gt;Incidentally, if anyoneâs got a list/links for SemWeb-related blogs that arenât on &lt;a href=&quot;http://planetrdf.com&quot;&gt;Planet RDF&lt;/a&gt;, Iâd be grateful for a pointer. PS. Ok, I forgetâ¦ are there any blogs that arenât on Daveâs &lt;a href=&quot;http://journal.dajobe.org/journal/2003/07/semblogs/&quot;&gt;list&lt;/a&gt; yet..?&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Quote of the week:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt; In the Semantic Web, it is not the Semantic which is new, it is the Web which is new. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;- &lt;a href=&quot;http://www.research.ibm.com/people/w/welty/&quot;&gt;Chris Welty&lt;/a&gt;, IBM (lifted from TimBLâs &lt;a href=&quot;http://www.w3.org/2005/Talks/1110-iswc-tbl/&quot;&gt;slides&lt;/a&gt;)&lt;/p&gt; &lt;h4&gt;Events&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://iswc2005.semanticweb.org/&quot;&gt;4th International Semantic Web Conference&lt;/a&gt; - happened this week, see : &lt;a href=&quot;http://simile.mit.edu/conference/iswc2005/&quot;&gt;ISWC2005 Semantic Bank&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://www.gnowsis.org/Events/HackBerlin2005&quot;&gt;Semantic Desktop Workshop&lt;/a&gt;, 9-13 December 2005, Berlin&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://trinity.dit.unitn.it/vikef/swap2005/&quot;&gt;Semantic Web Applications and Perspectives/Workshop&lt;/a&gt; (SWAP2005), 14-16 December, 2005&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://jena.hpl.hp.com/juc2006&quot;&gt; Jena User Conference&lt;/a&gt; - May 10-11 2006, Bristol UK&lt;/li&gt; &lt;/ul&gt; &lt;h4&gt;Docs etc&lt;/h4&gt; &lt;ul&gt; &lt;li&gt; Conference highlights on the #swig chump: &lt;a href=&quot;http://swig.xmlhack.com/2005/11/06/2005-11-06.html&quot;&gt;2005-11-06&lt;/a&gt;, &lt;a href=&quot;http://swig.xmlhack.com/2005/11/06/2005-11-07.html&quot;&gt;-07&lt;/a&gt;, &lt;a href=&quot;http://swig.xmlhack.com/2005/11/06/2005-11-08.html&quot;&gt;-08&lt;/a&gt;, &lt;a href=&quot;http://swig.xmlhack.com/2005/11/06/2005-11-09.html&quot;&gt;-09&lt;/a&gt;, &lt;a href=&quot;http://swig.xmlhack.com/2005/11/06/2005-11-10.html&quot;&gt;-10&lt;/a&gt;; Ianâs &lt;a href=&quot;http://internetalchemy.org/tag/iswc2005&quot;&gt;notes&lt;/a&gt;; Johnâs &lt;a href=&quot;http://www.johnbreslin.com/blog/2005/11/06/iswc-2005/&quot;&gt;resources&lt;/a&gt;; Leoâs &lt;a href=&quot;http://leobard.twoday.net/topics/SemWeb&quot;&gt;stories&lt;/a&gt;; Uldisâ &lt;a href=&quot;http://captsolo.net/info/blog_a.php/2005/11/12/iswc_2005_do_the_right_thing&quot;&gt;call to action&lt;/a&gt;; &lt;a href=&quot;http://del.icio.us/tag/iswc2005&quot;&gt;del.icio.us/iswc2005&lt;/a&gt;; &lt;a href=&quot;http://www.flickr.com/photos/tags/iswc2005/&quot;&gt;flickr/iswc2005&lt;/a&gt;; &lt;a href=&quot;http://www.foaf-project.org/2004/media/date/2005/11/&quot;&gt;foaf-moblog&lt;/a&gt;. &lt;/li&gt; &lt;li&gt;Slides from Sir TimBLâs conference keynotes: &lt;a href=&quot;http://www.w3.org/2005/Talks/1107-iswc-tbl/&quot;&gt;Semantic Web for the Industry&lt;/a&gt;, &lt;a href=&quot;http://www.w3.org/2005/Talks/1110-iswc-tbl/&quot;&gt;Putting the Web back in Semantic Web&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Daniel Weitznerâs keynote: &lt;a href=&quot;http://www.w3.org/2005/Talks/1110-p4-semweb-iswc/&quot;&gt;Privacy, Provenance, Property and Personhood&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Long-time SW researcher &lt;a href=&quot;http://www.stefandecker.org&quot;&gt;Stefan Decker&lt;/a&gt; now has a blog, inspirationally entitled &lt;a href=&quot;http://www.stefandecker.org/blog/&quot;&gt;Stefan Decker on the Semantic Web&lt;/a&gt;. (Stefanâs one of the head honchos at &lt;a href=&quot;http://www.deri.ie/&quot;&gt;DERI&lt;/a&gt;). Sample snippet:&lt;br /&gt; &lt;blockquote&gt;&lt;p&gt; I just noticed the article from Dan Zambonini â&lt;a href=&quot;http://www.oreillynet.com/pub/wlg/8013?CMP=OTC-TY3388567169&quot;&gt;Is Web 2.0 killing the Semantic Web?&lt;/a&gt;â. From my perspective the article shows a misconception that people seems to have around the Semantic Web: the Semantic Web effort itself is not provide applications (like the &lt;a href=&quot;http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html&quot;&gt;Web 2.0 meme&lt;/a&gt; indicates) - it rather provides standards to interlink applications. &lt;/p&gt;&lt;/blockquote&gt; &lt;/li&gt; &lt;li&gt;Leigh Dodds has two pieces demonstrating neat facilities offered by &lt;a href=&quot;http://jena.sourceforge.net/ARQ&quot;&gt;ARQ&lt;/a&gt; the SPARQL query API for Java: &lt;a href=&quot;http://www.ldodds.com/blog/archives/000251.html&quot;&gt;parameterised queries&lt;/a&gt; and &lt;a href=&quot;http://www.ldodds.com/blog/archives/000252.html&quot;&gt;extension functions&lt;/a&gt;. &lt;/li&gt; &lt;li&gt;A new W3C Working Group has been chartered: &lt;a href=&quot;http://www.w3.org/2005/rules/wg/charter&quot;&gt;Rule Interchange Format WG&lt;/a&gt; - &lt;em&gt;â to produce a core rule language plus extensions which together allow rules to be translated between rule languages and thus transferred between rule systems.â&lt;/em&gt;. As noted by &lt;a href=&quot;http://journal.dajobe.org/journal/&quot;&gt;dajobe&lt;/a&gt;, phase 1 includes making a new XML syntax for RDFâ¦&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://ebiquity.umbc.edu/resource/html/id/94/&quot;&gt;UMBC Semantic Web Reference Card&lt;/a&gt; &lt;em&gt;- if you only print one thing this yearâ¦or did you already do the &lt;a href=&quot;http://www.dajobe.org/2005/04-sparql/&quot;&gt;SPARQL Reference card&lt;/a&gt;..?&lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://esw.w3.org/topic/WebDescription&quot;&gt;WebDescription&lt;/a&gt; - root wiki page for collecting notes on web description languages (ESW Wiki, &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-web-http-desc/2005Nov/0000.html&quot;&gt;announcement&lt;/a&gt;)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://esw.w3.org/topic/Bot&quot;&gt;Bot&lt;/a&gt; - IRC/Jabber chat bots that are either in use by Semantic Web developers or use Semantic Web technologies (ESW Wiki)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://microformats.org/wiki/faqs-for-rdf&quot;&gt;microformat FAQs for RDF fans&lt;/a&gt; (ESW Wiki)&lt;/li&gt; &lt;li&gt; W3C working draft : &lt;a href=&quot;http://www.w3.org/TR/wsdl20-rdf/&quot;&gt;WSDL 2.0 - RDF Mapping&lt;/a&gt;&lt;/li&gt; &lt;li&gt;SKOS (Simple Knowledge Organisation System) updated drafts: &lt;a href=&quot;http://www.w3.org/TR/swbp-skos-core-spec&quot;&gt;SKOS Core Vocabulary Specification&lt;/a&gt;, &lt;a href=&quot;http://www.w3.org/TR/swbp-skos-core-guide&quot;&gt;SKOS Core Guide&lt;/a&gt;&lt;/li&gt; &lt;li&gt;working draft: &lt;a href=&quot;http://www.w3.org/TR/sprot11/&quot;&gt;SPARQL Protocol for RDF Using WSDL 1.1&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://www.hpl.hp.com/techreports/2005/HPL-2005-170.html&quot;&gt;A relational algebra for SPARQL&lt;/a&gt;, &lt;a href=&quot;http://www.hpl.hp.com/techreports/2005/HPL-2005-171.html&quot;&gt;Note on database layouts for SPARQL datastores&lt;/a&gt; (PDFs, Richard Cyganiak, HP)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://eprints.ecs.soton.ac.uk/11042/&quot;&gt;Amateur Fiction Online&lt;/a&gt; - The Web of Community Trust A Case Study in Community Focused Design for the SemanticWeb (&lt;a href=&quot;http://eprints.ecs.soton.ac.uk/11042/01/case_study.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe36ec/index.jsp?&amp;pName=dso_level1&amp;path=dsonline/0511&amp;file=x5sem.xml&amp;xsl=article.xsl&quot;&gt;Building a Semantic Wiki&lt;/a&gt; - IEEE article. See also: &lt;a href=&quot;http://m3pe.org/semperwiki/&quot;&gt;SemperWiki - Semantic Personal Wiki&lt;/a&gt;, &lt;a href=&quot;http://wiki.navigable.info/&quot;&gt; WikSAR - Towards a Semantic Wiki Experience&lt;/a&gt; &lt;br /&gt; &lt;/li&gt; &lt;/ul&gt; &lt;h4&gt;Software and stuff&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://challenge.semanticweb.org/&quot;&gt;Semantic Web Challenge&lt;/a&gt; applications (winner: &lt;a href=&quot;http://www.confoto.org/&quot;&gt;CONFOTO&lt;/a&gt; - congrats bengee!)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://simile.mit.edu/piggy-bank/&quot;&gt;Piggy Bank 2.1.1&lt;/a&gt; released.&lt;/li&gt; &lt;li&gt; &lt;a href=&quot;http://www.openiris.org/&quot;&gt;IRIS&lt;/a&gt; is a semantic desktop application framework that enables users to create a âpersonal mapâ across their office-related information objects. IRIS includes a machine-learning platform to help automate this process. It provides âdashboardâ views, contextual navigation, and relationship-based structure across an extensible suite of office applications, including a calendar, web and file browser, e-mail client, and instant messaging client.&lt;br /&gt; &lt;em&gt;(open source release due Jan 2006)&lt;/em&gt; &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://www.mksearch.mkdoc.org/&quot;&gt;MKSearch&lt;/a&gt; - &lt;em&gt;âA new kind of search engineâ&lt;/em&gt; - RDF-backed (Sesame) with Web crawler, extracts and indexes metadata.&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://www.foafrealm.org&quot;&gt;FOAFRealm&lt;/a&gt; - Our goal is to design and implement D-FOAF, a distributed authentication and trust infrastructure without a centralised authority. D-FOAF will be a backbone for trust applications based on social relationships and will establish identity of users similar to the way we establish identify and trust in real life.&lt;/li&gt; &lt;li&gt;Perl &lt;a href=&quot;http://search.cpan.org/dist/Net-Flickr-RDF-1.1/&quot;&gt;Net::Flickr::RDF&lt;/a&gt;&lt;/li&gt; &lt;li&gt;WordPress &lt;a href=&quot;http://rdfs.org&quot;&gt;SIOC&lt;/a&gt; (Semantically-Interlinked Online Communities) plugin updated (just copy &lt;a href=&quot;http://sw.deri.org/svn/sw/2005/08/sioc/wordpress/wp-sioc.php&quot;&gt;wp-sioc.php&lt;/a&gt; into the root of your WP install and it &lt;em&gt;just works&lt;/em&gt;)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://ontomedia.ecs.soton.ac.uk/&quot;&gt;OntoMedia&lt;/a&gt; is intended for the representation of heterogenous media through description of the semantic content of that media. The representation may be limited to the description of some or all of the elements contained within the source or may include information regarding the narrative relationship that these elements have both to the media and to each other.&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://mspace.fm/&quot;&gt;mSpace&lt;/a&gt; is an interaction model to help explore relationships in information - &lt;em&gt;âImagine Google on iTunesâ&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Blog post title of the week: &lt;/p&gt; &lt;blockquote&gt;&lt;p&gt; &lt;a href=&quot;http://copia.ogbuji.net/blog/2005-11-12/Don_t_give&quot;&gt;Donât give me that monkey-ass Web 1.0, either&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;- &lt;a href=&quot;http://copia.ogbuji.net/blog/&quot;&gt;Uche Ogbuji&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Alsoâ¦a new threat to Semantic Web developers has been discovered: &lt;a href=&quot;http://planb.nicecupoftea.org/archives/001309.html&quot;&gt;typhoid&lt;/a&gt;!, and the key to the Webâs full potential isâ¦&lt;a href=&quot;http://www.foaf-project.org/2004/media/2005/11/07/3448&quot;&gt;Tetris&lt;/a&gt;.&amp;quot; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Clone the Google APIs: Kill That Noise</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-11-03#892</atom:id>
  <atom:published>2005-11-03T22:44:04Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I am kinda scratching my head a little re. the &amp;quot;Clone Google APIs&amp;quot; call; especially as Amazon&amp;#39;s &lt;a href=&quot;http://opensearch.a9.com/&quot;&gt;A9&lt;/a&gt; already provides &lt;a href=&quot;http://opensearch.a9.com/docs/howto.jsp&quot;&gt;infrastructure for generic search&lt;/a&gt;. A9 is open at both ends; you can consume search services via a RESTian API or plug your search engine into A9 (playing the role of A9 search service provider). &lt;/p&gt;&lt;p&gt;Quick Example using my blog: &lt;/p&gt;&lt;ul&gt;1. &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&quot;&gt;My Blog&amp;#39;s Search Page&lt;/a&gt; (note it support Full Text and XPath/XQuery)&lt;/ul&gt;&lt;ul&gt;2. &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=#39web%202.0#39&amp;type=text&amp;output=html&quot;&gt;Search on pattern &amp;#39;Web 2.0&amp;#39;&lt;/a&gt; via my Blog&amp;#39;s Search Engine&lt;/ul&gt;&lt;ul&gt;3. &lt;a href=&quot;http://en.wikipedia.org/wiki/Hacktivism&quot; xmlns:n0=&quot;http&quot; n0:=&quot;http:&quot; a9.com=&quot;a9.com&quot; search=&quot;search&quot; morecolumns.jsp=&quot;morecolumns.jsp&quot; a=&quot;a&quot;&gt;Hactivism&lt;/a&gt;&amp;quot; regarding this matter. Certainly worth a full-post-scrape for my ongoing content annotation efforts (see &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=linkblog&quot;&gt;Linkblog&lt;/a&gt; and &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=summary&quot;&gt;BlogSummary&lt;/a&gt;). &lt;p&gt;Digest the rest of Dare&amp;#39;s post:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=3faf48bb-cf43-4fad-9145-cd749bd0288e&quot;&gt;Clone the Google APIs: Kill That Noise&lt;/a&gt;: &amp;quot;&lt;/p&gt;&lt;p&gt; Yesterday Dave Winer wrote in a post about &lt;a href=&quot;http://www.scripting.com/2005/11/02.html#When:2:31:38PM&quot;&gt;cloning the Google API&lt;/a&gt; Dave Winer wrote &lt;/p&gt;&lt;blockquote&gt;&lt;i&gt;Let&amp;#39;s make the &lt;a href=&quot;http://www.clonethegoogleapi.com/&quot;&gt;Google API an open standard&lt;/a&gt;. Back in 2002, Google took a bold first step to enable open architecture search engines, by creating an API that allowed developers to build applications on top of their search engine. However, there were severe limits on the capacity of these applications. So we got a good demo of what might be, now three years later, it&amp;#39;s time for the real thing.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/blockquote&gt;and earlier that &lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;If you didn&amp;#39;t get a chance to hear &lt;a href=&quot;http://www.scripting.com/2005/11/01.html#When:12:26:58AM&quot;&gt;yesterday&amp;#39;s podcast&lt;/a&gt;, it recommends that Microsoft clone the &lt;a href=&quot;http://davenet.scripting.com/2002/04/13/whatsNextAfterTheGoogleApi&quot;&gt;Google API&lt;/a&gt; for search, without the keys, and without the limits. When a developer&amp;#39;s application generates a lot of traffic, buy him a plane ticket and dinner, and ask how you both can make some money off their excellent booming application of search. This is something Google can&amp;#39;t do, because search is their cash cow. That&amp;#39;s why Microsoft should do it. And so should Yahoo. Also, there&amp;#39;s no doubt Google will be competing with Apple soon, so they should be also thinking about ways to devalue Google&amp;#39;s advantage.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p&gt; This doesn&amp;#39;t seem like a great idea to me for a wide variety of reasons but first, let&amp;#39;s start with a history lesson before I tackle this specific issue &lt;/p&gt;&lt;p&gt;&lt;b&gt;A Trip Down Memory Lane&lt;/b&gt;&lt;br /&gt; This history lesson &lt;strike&gt;used to be in&lt;/strike&gt; is in a post entitled &lt;a href=&quot;http://web.archive.org/web/20041011135623/http://www.evhead.com/archives/2003_05_10_archive_default.asp&quot;&gt;The Tragedy of the API&lt;/a&gt; by &lt;a href=&quot;http://www.evhead.com/&quot;&gt;Evan Williams&lt;/a&gt; &lt;strike&gt;but seems to be gone now&lt;/strike&gt;. Anyway, back in the early days of blogging the folks at Pyra [which eventually got bought by Google] created the &lt;a href=&quot;http://www.blogger.com/developers/api/1_docs/&quot;&gt;Blogger API&lt;/a&gt; for their service. Since Blogspot/Blogger was a popular service, a the number of applications that used the API quickly grew. At this point Dave Winer decided that since the Blogger API was so popular he should implement it in his weblogging tools but then he decided that he didn&amp;#39;t like some aspects of it such as application keys (sound familiar?) and did without them in his version of the API. Dave Winer&amp;#39;s version of the Blogger API became the &lt;a href=&quot;http://www.xmlrpc.com/metaWeblogApi&quot;&gt;MetaWeblog API&lt;/a&gt;. These APIs became de facto standards and a number of other weblogging applications implemented them. &lt;/p&gt;&lt;p&gt; After a while, the folks at Pyra decided that their API needed to evolve due to various flaws in its design. As Diego Doval put it in his post &lt;a href=&quot;http://www.dynamicobjects.com/d2r/archives/001921.html&quot;&gt;a review of blogging APIs&lt;/a&gt;, &lt;i&gt;The Blogger API is a joke, and a bad one at that&lt;/i&gt;. This lead to the creation of the &lt;a href=&quot;http://www.blogger.com/developers/api/documentation20.html&quot;&gt;Blogger API 2.0&lt;/a&gt;. At this point a heated debate erupted online where Dave Winer berated the Blogger folks for deviating from an industry standard. The irony of flaming a company for coming up with a v2 of their own API seemed to be lost on many of the people who participated in the debate. Eventually the Blogger API 2.0 went nowhere. &lt;/p&gt;&lt;p&gt; Today the blogging API world is a few de facto standards based on a hacky API created by a startup a few years ago, a number of site specific APIs (&lt;a href=&quot;http://www.livejournal.com/doc/server/ljp.csp.xml-rpc.protocol.html&quot;&gt;LiveJournal API&lt;/a&gt;, &lt;a href=&quot;http://www.sixapart.com/movabletype/docs/mtmanual_programmatic.html&quot;&gt;MovableType API&lt;/a&gt;, etc) and a number of inconsistently implemented versions of the &lt;a href=&quot;http://bitworking.org/projects/atom/&quot;&gt;Atom API&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;On Cloning the Google Search API&lt;/b&gt;&lt;br /&gt; To me the most salient point in the hijacking of the Blogger API from Pyra is that it didn&amp;#39;t change the popularity of their service or even make Radio Userland (Dave Winer&amp;#39;s product) catch up to them in popularity. This is important to note since this is Dave Winer&amp;#39;s key argument for Microsoft cloning the Google API. &lt;/p&gt;&lt;p&gt; Off the top of my head, here are my top three technical reasons for Microsoft to ignore the calls to clone the Google Search APIs&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;u&gt;Difference in Feature Set:&lt;/u&gt; The features exposed by the API do not run the entire gamut of features that other search engines may want to expose. Thus even if you implement something that looks a lot like the Google API, you&amp;#39;d have to extend it to add the functionality that it doesn&amp;#39;t provide. For example, compare the &lt;a href=&quot;http://www.google.com/apis/reference.html&quot;&gt;features provided by the Google API&lt;/a&gt; to the &lt;a href=&quot;http://developer.yahoo.net/search/&quot;&gt;features provided by the Yahoo! search API&lt;/a&gt;. I can count about half a dozen features in the Yahoo! API that aren&amp;#39;t in the Google API. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;u&gt;Difference in Technology Choice:&lt;/u&gt; The Google API uses SOAP. This to me is a phenomenally bad technical decision because it raises the bar to performing a basic operation (data retrieval) by using a complex technology. I much prefer Yahoo!&amp;#39;s approach of providing a RESTful API and &lt;strike&gt;MSN&lt;/strike&gt; Windows Live Search&amp;#39;s approach of providing RSS search feeds and a SOAP API for the folks who need such overkill. &lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;u&gt;Unreasonable Demands:&lt;/u&gt; A number of Dave Winer&amp;#39;s demands seem contradictory. He asks companies to not require application keys but then advises them to contact application developers who&amp;#39;ve built high traffic applications about revenue sharing. Exactly how are these applications to be identified without some sort of application ID? As for removing the limits on the services? I guess Dave is ignoring the fact that providing services costs money, which I seem to remember is why &lt;a href=&quot;http://www.kottke.org/05/10/weblogscom-sold-to-verisign&quot;&gt;he sold weblogs.com to Verisign for a few million dollars&lt;/a&gt;. I do agree that some of the limits on existing search APIs aren&amp;#39;t terribly useful. The Google API limit of 1000 queries a day seems to guarantee that you won&amp;#39;t be able to power a popular application with the service. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;u&gt;Lack of Innovation:&lt;/u&gt; Copying Google sucks. &lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;(Via &lt;a href=&quot;http://www.25hoursaday.com/weblog/&quot;&gt;Dare Obasanjo aka Carnage4Life&lt;/a&gt;.)&lt;/p&gt;&lt;/blockquote&gt;&lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Self Annotation of Semantic Web (BBC Demo)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-28#887</atom:id>
  <atom:published>2005-10-28T22:54:44Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://theobvious.typepad.com/blog/2005/10/stop_whatever_y.html&quot;&gt;Stop whatever you are doing ...&lt;/a&gt;: &amp;quot; &lt;/p&gt;&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;p&gt;.. and go and read &lt;a href=&quot;http://www.plasticbag.org/archives/2005/10/on_the_bbc_annotatable_audio_project.shtml&quot;&gt;Tom Coates&amp;#39; explanation&lt;/a&gt; of his last project with the BBC. After 21 years working in broadcasting Ireckon this is one of the coolest things to happen for a very, very long time.&lt;/p&gt;&lt;p&gt;The ramifications of this will go very deep indeed.&amp;quot;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;(Spotted Via &lt;a href=&quot;http://theobvious.typepad.com/blog/&quot;&gt;The Obvious?&lt;/a&gt;.)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt; Yes, the ramifications are deep! &lt;a href=&quot;http://www.plasticbag.org/&quot;&gt;Tom Coates&amp;#39;&lt;/a&gt; screencast demonstrates an internal variation of an activity that is taking place on many fronts (concurrently) across the NET. I tend to refer to this effort as &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/weblog/kidehen@openlinksw.com/127/index.vspx?page=&amp;id=849&quot;&gt;Self Annotation&lt;/a&gt;&amp;quot;; the very process that will ultimately take us straight to &amp;quot;&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=#39semantic%20web#39%20&amp;type=text&amp;output=html&quot;&gt;Semantic Web&lt;/a&gt;&amp;quot;. It is going to happen much quicker than anticipated because technology is taking the pain out of metadata annotation (e.g. what you do when you tag everything that is ultimately URI accessible). Technology is basically delivering what &lt;a href=&quot;http://weblog.infoworld.com/udell&quot;&gt;Jon Udell&lt;/a&gt; calls: &lt;a href=&quot;http://weblog.infoworld.com/udell/2004/11/08.html&quot;&gt;&amp;quot;reducing the activation threshold&amp;quot;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Using my comments above for context placement, I suggest you take a look at, or re-read &lt;a href=&quot;http://weblog.infoworld.com/udell/2005/10/27.html#a1330&quot;&gt;Jon Udell&amp;#39;s post titled: Many Meanings of Metadata&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Once again, the Web 2.0 brouhaha (in every sense of the word) is a reaction to a critical inflection that ultimately transitions the &amp;quot;Semantic Web&amp;quot; from &amp;quot;Mirage&amp;quot; to &amp;quot;Nirvana&amp;quot;. Put differently (with humor in mind solely!), Web 2.0 is what I tend to call a &amp;quot;John the Baptist&amp;quot; paradigm, and we all know what happened to him :-)&lt;/p&gt;&lt;p&gt;Web 2.0 is a conduit to a far more important destination. The tendency to treat Web 2.0 as a destination rather than a conduit has contributed to the recent spate of &lt;a href=&quot;http://c2.com/cgi/wiki?SetTheBozoBit&quot;&gt;Bozo bit&lt;/a&gt; flipping posts all over the blogosphere (is this an attempt to behead John, metaphorically speaking?). Humor aside, a really important thing about the Web 2.0 situation is that when we make the quantum &lt;a href=&quot;http://www.pbs.org/wgbh/nova/link/evolution.html&quot;&gt;evolutionary leap (internet time, mind you) to the &amp;quot;Semantic Web&amp;quot;&lt;/a&gt; (or whatever groovy name we dig up for it in due course) we will certainly have a plethora of reference points (I mean &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=#39web%202.0#39&amp;type=text&amp;output=html&quot;&gt;Web 2.0 URIs&lt;/a&gt;) ensuring that we do not revisit the &amp;quot;Missing Link&amp;quot; evolutionary paradox :-)&lt;/p&gt;&lt;p&gt; BTW - You can see some example of my contribution to the ongoing annotation process by looking at: &lt;/p&gt;&lt;ul&gt;&lt;a href=&quot;http://www.openlinksw.com/weblog/kidehen@openlinksw.com/127/index.vspx?page=summary&quot;&gt;My Blog Summary Page&lt;/a&gt;&lt;/ul&gt;&lt;ul&gt;&lt;a href=&quot;http://www.openlinksw.com/weblog/kidehen@openlinksw.com/127/index.vspx?page=linkblog&quot;&gt;My Linkblog&lt;/a&gt;&lt;/ul&gt;&lt;ul&gt;&lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&quot;&gt;My Blog Search&lt;/a&gt;&lt;/ul&gt;&lt;ul&gt;&lt;a href=&quot;http://www.openlinksw.com/BlogAPI/services.vsmx&quot;&gt;My Blog Query Service&lt;/a&gt; (click on the enhanced view if you&amp;#39;re a SOAP geek; also note blogid=127)&lt;/ul&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SIOC Vocabulary</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-28#886</atom:id>
  <atom:published>2005-10-28T21:37:19Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://dannyayers.com/archives/2005/10/28/sioc-vocabulary/&quot;&gt;SIOC Vocabulary&lt;/a&gt;: &amp;quot;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt; &lt;a href=&quot;http://rdfs.org/sioc/&quot;&gt;SIOC&lt;/a&gt;&lt;br /&gt; (Semantically Interlinked Online Communities) is an attempt to link online community sites and to use Semantic Web technologies to describe the information community sites have about their structure and contents and to find related information and new connections between posts. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;From the &lt;a href=&quot;http://rdfs.org/sioc/spec/&quot;&gt;spec&lt;/a&gt;, main terms:&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://dannyayers.com/2005/10/sioc_terms.png&quot; alt=&quot;SIOC terms&quot; /&gt;&lt;/p&gt; &lt;p&gt;I think I probably linked to this before, but it’s come on apace. They’ve now got plugins for Drupal and WordPress, and from the look of it, a fair load more…&lt;/p&gt; &lt;p&gt;There’s obviously some intersection here with the &lt;a href=&quot;http://atomowl.org/&quot;&gt;Atom/OWL&lt;/a&gt; stuff, and for that matter a &lt;a href=&quot;http://microformats.org/wiki/hatom&quot;&gt;hAtom&lt;/a&gt;. Heh, gonna be fun figuring out the equivalences.&lt;/p&gt; &lt;p&gt;(via &lt;a href=&quot;http://captsolo.net/info/ &quot;&gt;Uldis&lt;/a&gt;)&lt;/p&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://dannyayers.com&quot;&gt;Raw&lt;/a&gt;.)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Breaking the Web Wide Open!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-26#882</atom:id>
  <atom:published>2005-10-26T19:28:47Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://marc.blogs.it/&quot;&gt;Marc Canter&lt;/a&gt;&amp;#39;s &lt;a href=&quot;http://marc.blogs.it/archives/2005/10/breaking_the_we.html&quot;&gt;Breaking the Web Wide Open! &lt;/a&gt; article is something I found pretty late (by my normal discovery standards). This was partly due to the pre- and post- Web 2.0 event noise levels that have dumped the description of an important industry inflection into the &amp;quot;Bozo Bin&amp;quot; of many. Personally, I think we shouldn&amp;#39;t confuse the Web 2.0 traditional-pitch-fest conference with an attempt to identify an important industry inflection).&lt;/p&gt;&lt;p&gt; Anyway, Marc&amp;#39;s article is a very refreshing read because it provides a really good insight into the general landscape of a rapidly evolving Web alongside genuine appreciation of our broader timeless pursuit of &amp;quot;Openness&amp;quot;. &lt;/p&gt;&lt;p&gt;To really help this document provide additional value have scrapped the content of the original post and dumped it below so that we can appreciate the value of the links embedded within the article (note: thanks to Virtuoso I only had to paste the content into my blog, the extraction to my &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=linkblog&quot;&gt;Linkblog&lt;/a&gt; and &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=summary&quot;&gt;Blog Summary&lt;/a&gt; Pages are simply features of my &lt;a href=&quot;http://www.openlinksw.com/virtuos&quot;&gt;Virtuoso &lt;/a&gt;based Blog Engine):&lt;/p&gt;&lt;blockquote&gt;&lt;h3 class=&quot;hed2&quot; style=&quot;padding-bottom: 10px&quot;&gt;Breaking the Web Wide Open! (complete story)&lt;/h3&gt;&lt;p&gt;Even the web giants like AOL, Google, MSN, and Yahoo need to observe these open standards, or they&amp;#39;ll risk becoming the &amp;quot;walled gardens&amp;quot; of the new web and be coolio no more.&lt;/p&gt;&lt;p class=&quot;byline&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://community.alwayson-network.com/cgi-bin/WebObjects/AlwaysOn.woa/wa/display?id=9254:Person&quot;&gt;Marc Canter&lt;/a&gt;&lt;/b&gt; [&lt;a href=&quot;http://community.alwayson-network.com/cgi-bin/WebObjects/AlwaysOn.woa/wa/display?id=9254:Person&quot;&gt;&lt;b&gt;Broadband Mechanics, Inc.&lt;/b&gt;&lt;/a&gt;] | POSTED: 09.26.05 @12:00&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td valign=&quot;TOP&quot; class=&quot;copy1&quot;&gt;&lt;img src=&quot;http://community.alwayson-network.com/ao/images/thumb/19433429363e7cd6b1ecfb7.jpg&quot; align=&quot;LEFT&quot; border=&quot;0&quot; width=&quot;80&quot; style=&quot;margin: 0px 10px 5px 0px&quot; alt=&quot;&quot; /&gt;&lt;i&gt;&lt;b&gt;Editorial Note:&lt;/b&gt; Several months ago, AlwaysOn got a personal invitation from Yahoo founder Jerry Yang &amp;quot;to see and give us feedback on our new social media product, y!360.&amp;quot; We were happy to oblige and dutifully showed up, joining a conference room full of hard-core bloggers and new, new media types. The geeks gave Yahoo 360 an overwhelming thumbs down, with comments like, &amp;quot;So the only services I can use within this new network are Yahoo services? What if I don&amp;#39;t use Yahoo IM?&amp;quot; In essence, the Yahoo team was booed for being &amp;quot;closed web,&amp;quot; and we heartily agreed. With Yahoo 360, Yahoo continues building its own &amp;quot;walled garden&amp;quot; to control its 135 million customersÂan accusation also hurled at AOL in the early 1990s, before AOL migrated its private network service onto the web. As the&lt;/i&gt;Â  &lt;a href=&quot;http://bernardmoon.blogspot.com/2005/08/yahoos-personality-crisis.html&quot; target=&quot;_blank&quot;&gt;Economist&lt;i&gt; recently noted&lt;/i&gt;&lt;/a&gt;, &amp;quot;Yahoo, in short, has old media plans for the new-media era.&amp;quot;&lt;br /&gt;&lt;br /&gt;The irony to our view here is, of course, that today&amp;#39;s AO Network is also a &amp;quot;closed web.&amp;quot; In the end, Mr. Yang&amp;#39;s thoughtful invitation and our ensuing disappointment in his new service led to the assignment of this article. It also confirmed our existing plan to completely revamp the AO Network around open standards. To tie it all together, we recruited the chief architect of our new site, &lt;a href=&quot;http://www.corante.com/amateur/articles/20030211-3564.html&quot; target=&quot;_blank&quot;&gt;the notorious Marc Canter&lt;/a&gt;, to pen this piece. We look forward to our reader feedback.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Breaking the Web Wide Open!&lt;/b&gt;&lt;br /&gt;By Marc Canter&lt;br /&gt;&lt;br /&gt;For decades, &amp;quot;walled gardens&amp;quot; of proprietary standards and content have been the strategy of dominant players in mainframe computer software, wireless telecommunications services, and the World Wide WebÂit was their successful lock-in strategy of keeping their customers theirs. But like it or not, those walls are tumbling down. Open web standards are being adopted so widely, with such value and impact, that the web giantsÂAmazon, AOL, eBay, Google, Microsoft, and YahooÂare facing the difficult decision of opening up to what they don&amp;#39;t control.&lt;br /&gt;&lt;br /&gt;The online world is evolving into a new open web (sometimes called the Web 2.0), which is all about being personalized and customized for each user. Not only open source software, but &lt;i&gt;open standards&lt;/i&gt;Â are becoming an essential component. &lt;br /&gt;&lt;br /&gt;Many of the web giants have been using open source software for years. Most of them use at least parts of the &lt;a href=&quot;http://www.onlamp.com/pub/a/onlamp/2001/01/25/lamp.html&quot; target=&quot;_blank&quot;&gt;LAMP&lt;/a&gt; (Linux, Apache, MySQL, Perl/Python/PHP) stack, even if they aren&amp;#39;t well-known for giving back to the open source community. For these incumbents that grew big on proprietary web services, the methods, practices, and applications of open source software development are difficult to fully adopt. And the next open source movementsÂwhich will be as much about open standards as about codeÂwill be a lot harder for the incumbents to exploit.&lt;br /&gt;&lt;br /&gt;While the incumbents use cheap open source software to run their back-ends systems, their business models largely depend on proprietary software and algorithms. But our view a new slew of open software, open protocols, and open standards will confront the incumbents with the classic &lt;i&gt;&lt;a href=&quot;http://www.businessweek.com/chapter/christensen.htm&quot; target=&quot;_blank&quot;&gt;Innovator&amp;#39;s Dilemma&lt;/a&gt;&lt;/i&gt;.Â  Should they adopt these tools and standards, painfully cannibalizing their existing revenue for a new unproven concept, or should they stick with their currently lucrative model with the risk that eventually a bunch of upstarts eat their lunch? &lt;br /&gt;&lt;br /&gt;Credit should go to several of the web giants who have been making efforts to &amp;quot;open up.&amp;quot; Google, Yahoo, eBay, and Amazon all have Open APIs (Application Programming Interfaces) built into their data and systems. Any software developer can access and use them for whatever creative purposes they wish. This means that the API provider becomes an open platform for everyone to use and build on top of. This notion has expanded like wildfire throughout the blogosphere, so nowadays, Open APIs are pretty much required.&lt;br /&gt;&lt;br /&gt;Other incumbents also have open strategies. AOL has got the RSS religion, &lt;a href=&quot;http://www.siliconbeat.com/entries/2005/07/27/aol_gets_rss_religion_with_my_aoland_feedsters_help.html&quot; target=&quot;_blank&quot;&gt;providing a feedreader and RSS search&lt;/a&gt; in order to escape the &amp;quot;walled garden of content&amp;quot; stigma. &lt;a href=&quot;http://www.apple.com/podcasting/&quot; target=&quot;_blank&quot;&gt;Apple now incorporates podcasts&lt;/a&gt;, the &amp;quot;personal radio shows&amp;quot; that are latest rage in audio narrowcasting, into iTunes. Even Microsoft is supporting open standards, for example &lt;a href=&quot;http://www.microsoft.com/technet/prodtechnol/winxppro/plan/rtcprot.mspx#EKAA&quot; target=&quot;_blank&quot;&gt;by endorsing SIP (Session Initiation Protocol) for internet telephony and conferencing&lt;/a&gt; over Skype&amp;#39;s proprietary format or one of its own devising.&lt;br /&gt;&lt;br /&gt;But new open standards and protocols are in use, under construction, or being proposed every day, pushing the envelope of where we are right now. Many of these standards are coming from startup companies and small groups of developers, not from the giants. Together with the Open APIs, those new standards will contribute to a new, open infrastructure. Tens of thousands of developers will use and improve this open infrastructure to create new kinds of web-based applications and services, to offer web users a highly personalized online experience.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Brief History of Openness&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;At this point, I have to admit that I am not just a passive observer, full-time journalist or &amp;quot;just some blogger&amp;quot;Âbut an active evangelist and developer of these standards. It&amp;#39;s the vision of &amp;quot;open infrastructure&amp;quot; that&amp;#39;s driving &lt;a href=&quot;http://www.broadbandmechanics.com/bbm2005.htm&quot; target=&quot;_blank&quot;&gt;my company &lt;/a&gt; and the reason why I&amp;#39;m writing this article. This article will give you some of the background behind on these standards, and what the evolution of the next generation of open standards will look like.&lt;br /&gt;&lt;br /&gt;Starting back in the 1980s, establishing a software standard was a key strategy for any software company. My former company, MacroMind (which became Macromedia), achieved this goal early on with Director. As &lt;a href=&quot;http://webmonkey.wired.com/webmonkey/99/27/index3a_page6.html?tw=multimedia&quot; target=&quot;_blank&quot;&gt;Director evolved into Flash&lt;/a&gt;, the world saw that other companies besides Microsoft, Adobe, and Apple could establish true cross-platform, independent media standards.&lt;br /&gt;&lt;br /&gt;Then &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/&quot; target=&quot;_blank&quot;&gt;Tim Berners-Lee&lt;/a&gt; and &lt;a href=&quot;http://www.ibiblio.org/pioneers/andreesen.html&quot; target=&quot;_blank&quot;&gt;Marc Andreessen&lt;/a&gt; came along, and changed the rules of the software business and of entrepreneurialism. No matter how entrenched and &amp;quot;standardized&amp;quot; software was, the rug could still get pulled out from under it. &lt;a href=&quot;http://geekphilosopher.com/MainPage/WebBrowserWars.htm?q=Stocks&quot; target=&quot;_blank&quot;&gt;Netscape did it to Microsoft, and then Microsoft did it &lt;i&gt;back&lt;/i&gt;Â  to Netscape&lt;/a&gt;. The web evolved, and lots of standards evolved with it. The leading open source standards (such as the LAMP stack) became widely used alternatives to proprietary closed-source offerings. &lt;br /&gt;&lt;br /&gt;Open standards are more than just technology. Open standards mean sharing, empowering, and community support. Someone floats a new idea (or &lt;a href=&quot;http://en.wikipedia.org/wiki/Meme&quot; target=&quot;_blank&quot;&gt;meme&lt;/a&gt;) and the community runs with it â with each person making their own contributions to the standard â evolving it without a moment&amp;#39;s hesitation about &amp;quot;giving away their intellectual property.&amp;quot;&lt;br /&gt;&lt;br /&gt;One good example of this was &lt;a href=&quot;http://www.sifry.com/alerts/&quot; target=&quot;_blank&quot;&gt;Dave Sifry&lt;/a&gt;, who built the Technorati blog-tracking technology inspired by the &lt;a href=&quot;http://www.myelin.co.nz/ecosystem/&quot; target=&quot;_blank&quot;&gt;Blogging Ecosystem&lt;/a&gt;, a weekend project by young hacker &lt;a href=&quot;http://marc.blogs.it/archives/2005/07/phil_pearson_jo.html&quot; target=&quot;_blank&quot;&gt;Phil Pearson&lt;/a&gt;. Dave liked what he saw and he ran with itÂturning Technorati into what it is today.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dave_Winer&quot; target=&quot;_blank&quot;&gt;Dave Winer&lt;/a&gt; has contributed enormously to this area of open standards. He defined and personally created several open standards and protocolsÂsuch as RSS, OPML, and XML-RPC. Dave has also &lt;a href=&quot;http://newhome.weblogs.com/historyOfWeblogs&quot; target=&quot;_blank&quot;&gt;helped build&lt;/a&gt; the blogosphere through his enthusiasm and passion.&lt;br /&gt;&lt;br /&gt;By 2003, hundreds of programmers were working on creating and establishing new standards for almost everything. The best of these new standards have evolved into compelling web services platforms â such as &lt;a href=&quot;http://del.icio.us/&quot; target=&quot;_blank&quot;&gt;del.icio.us&lt;/a&gt;, &lt;a href=&quot;http://webjay.org/about&quot; target=&quot;_blank&quot;&gt;Webjay&lt;/a&gt;, or &lt;a href=&quot;http://www.flickr.com/photos/tags/ao2005/&quot; target=&quot;_blank&quot;&gt;Flickr&lt;/a&gt;. Some have even spun off formal standards â like XSPF (a standard for playlists) or instant messaging standard XMPP (also known as Jabber).&lt;br /&gt;&lt;br /&gt;Today&amp;#39;s Open APIs are complemented by standardized SchemasÂthe structure of the data itself and its associated meta-data. Take for example a &lt;a href=&quot;http://www.ipodder.org/whatIsPodcasting&quot; target=&quot;_blank&quot;&gt;podcasting feed&lt;/a&gt;. It consists of: a) the radio show itself, b) information on who is on the show, what the show is about and how long the show is (the meta-data) and also c) API calls to retrieve a show (a single feed item) and play it from a specified server. &lt;br /&gt;&lt;br /&gt;The combination of Open APIs, standardized schemas for handling meta-data, and an industry which agrees on these standards are breaking the web wide open right now. So what new open standards should the web incumbentsÂand youÂbe watching? Keep an eye on the following developments:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Identity&lt;br /&gt;Attention&lt;br /&gt;Open Media&lt;br /&gt;Microcontent Publishing&lt;br /&gt;Open Social Networks&lt;br /&gt;Tags&lt;br /&gt;Pinging &lt;br /&gt;Routing&lt;br /&gt;Open Communications&lt;br /&gt;Device Management and Control&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Identity&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Right now, you don&amp;#39;t really control your own online identity. At the core of just about every online piece of software is a membership system. Some systems allow you to browse a site anonymouslyÂbut unless you register with the site you can&amp;#39;t do things like search for an article, post a comment, buy something, or review it. The problem is that each and every site has its own membership system. So you constantly have to register with new systems, which cannot share dataÂeven you&amp;#39;d want them to. By establishing a &lt;a href=&quot;http://www.wired.com/news/privacy/0,1848,68329-2,00.html?tw=wn_story_page_next1&quot; target=&quot;_blank&quot;&gt;&amp;quot;single sign-on&amp;quot; standard&lt;/a&gt;, disparate sites can allow users to freely move from site to site, and let them control the movement of their personal profile data, as well as any other data they&amp;#39;ve created. &lt;br /&gt;&lt;br /&gt;With &lt;a href=&quot;http://www.thehindubusinessline.com/2005/01/03/stories/2005010301440200.htm&quot; target=&quot;_blank&quot;&gt;Passport, Microsoft unsuccessfully attempted&lt;/a&gt; to force its proprietary standard on the industry. Instead, a world is evolving where most people assume that users want to control their own data, whether that data is their profile, their blog posts and photos, or some collection of their past interactions, purchases, and recommendations. As long as users can control their digital identity, any kind of service or interaction can be layered on top of it.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.identity20.com/media/OSCON2005/&quot; target=&quot;_blank&quot;&gt;Identity 2.0&lt;/a&gt; is all about users controlling their own profile data and becoming their own agents. This way the users themselves, rather than other intermediaries, will profit from their ID info. Once developers start offering single sign-on to their users, and users have trusted places to store their dataÂwhich respect the limits and provide access controls over that data, users will be able to access personalized services which will understand and use their personal data.&lt;br /&gt;&lt;br /&gt;Identity 2.0 may seem like some geeky, visionary future standard that isn&amp;#39;t defined yet, but by putting each user&amp;#39;s digital identity at the core of all their online experiences, Identity 2.0 is becoming the cornerstone of the new open web. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Initiatives:&lt;/b&gt;&lt;br /&gt;Right now, Identity 2.0 is under construction through various efforts from Microsoft (the &lt;a href=&quot;http://msdn.microsoft.com/webservices/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/identitymetasystem.asp&quot; target=&quot;_blank&quot;&gt;&amp;quot;InfoCard&amp;quot; component built into the Vista operating system&lt;/a&gt; and its &amp;quot;&lt;a href=&quot;http://garage.docsearls.com/node/605&quot; target=&quot;_blank&quot;&gt;Identity Metasystem&lt;/a&gt;&amp;quot;), &lt;a href=&quot;http://sxip.com&quot; target=&quot;_blank&quot;&gt;Sxip Identity&lt;/a&gt;, &lt;a href=&quot;http://www.identtycommons.net&quot; target=&quot;_blank&quot;&gt;Identity Commons&lt;/a&gt;, &lt;a href=&quot;http://www.projectliberty.org/&quot; target=&quot;_blank&quot;&gt;Liberty Alliance&lt;/a&gt;, &lt;a href=&quot;http://lid.netmesh.org/&quot; target=&quot;_blank&quot;&gt;LID&lt;/a&gt; (NetMesh&amp;#39;s Lightweight ID), and SixApart&amp;#39;s &lt;a href=&quot;http://openid.net/&quot; target=&quot;_blank&quot;&gt;OpenID&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More Movers and Shakers:&lt;/b&gt;&lt;br /&gt;Identity Commons and &lt;a href=&quot;http://www.identitywoman.net&quot; target=&quot;_blank&quot;&gt;Kaliya Hamlin&lt;/a&gt;, Sxip Identity and &lt;a href=&quot;http://blame.ca/dick/&quot; target=&quot;_blank&quot;&gt;Dick Hardt&lt;/a&gt;, the &lt;a href=&quot;http://www.identitygang.org/&quot; target=&quot;_blank&quot;&gt; Identity Gang&lt;/a&gt; and &lt;a href=&quot;http://www.searls.com/dochome.html#Bio&quot; target=&quot;_blank&quot;&gt;Doc Searls&lt;/a&gt;, Microsoft&amp;#39;s &lt;a href=&quot;http://www.identityblog.com/&quot; target=&quot;_blank&quot;&gt;Kim Cameron&lt;/a&gt;, &lt;a href=&quot;http://www.craigburton.com/&quot; target=&quot;_blank&quot;&gt;Craig Burton&lt;/a&gt;, &lt;a href=&quot;http://phil.windley.org/&quot; target=&quot;_blank&quot;&gt;Phil Windley&lt;/a&gt;, and &lt;a href=&quot;http://slashdot.org/article.pl?sid=05/07/05/2020221&amp;from=rss&quot; target=&quot;_blank&quot;&gt;Brad Fitzpatrick&lt;/a&gt;, to name a few.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Attention&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;How many readers know what their online attention is worth? If you don&amp;#39;t, Google and Yahoo doÂthey make their living off our attention. They know what we&amp;#39;re searching for, happily turn it into a keyword, and sell that keyword to advertisers. They make money off our attention. We don&amp;#39;t. &lt;br /&gt;&lt;br /&gt;Technorati and friends proposed &lt;a href=&quot;http://blogs.zdnet.com/Gillmor/index.php?p=74&quot; target=&quot;_blank&quot;&gt;an attention standard, Attention.xml&lt;/a&gt;, designed to &amp;quot;help you keep track of what you&amp;#39;ve read, what you&amp;#39;re spending time on, and what you should be paying attention to.&amp;quot; &lt;a href=&quot;http://attentiontrust.org/&quot; target=&quot;_blank&quot;&gt;AttentionTrust&lt;/a&gt; is an effort by &lt;a href=&quot;http://blogs.zdnet.com/Gillmor/?p=132&quot; target=&quot;_blank&quot;&gt;Steve Gillmor&lt;/a&gt; and &lt;a href=&quot;http://majestic.typepad.com/seth/2005/07/attentiontrusto.html&quot; target=&quot;_blank&quot;&gt;Seth Goldstein &lt;/a&gt;to standardize on how captured end-user performance, browsing, and interest data are used. &lt;br /&gt;&lt;br /&gt;Blogger &lt;a href=&quot;http://worcester.typepad.com/pc4media/2005/07/attentiontrusto_1.html&quot; target=&quot;_blank&quot;&gt;Peter Caputa gives a good summary&lt;/a&gt; of AttentionTrust: &lt;blockquote&gt;&amp;quot;As we use the web, we reveal lots of information about ourselves by what we pay attention to. Imagine if all of that information could be stored in a nice neat little xml file. And when we travel around the web, we can optionally share it with websites or other people. We can make them pay for it, lease it ... we get to decide who has access to it, how long they have access to it, and what we want in return. And they have to tell us what they are going to do with our Attention data.&amp;quot;&lt;/blockquote&gt;&lt;br /&gt;So when you give your attention to sites that adhere to the AttentionTrust, your attention rights (&lt;i&gt;you own your attention, you can move your attention, you can pay attention and be paid for it&lt;/i&gt;,Â  and &lt;i&gt;you can see how your attention is used&lt;/i&gt;) are guaranteed. Attention data is crucial to the future of the open web, and Steve and Seth are making sure that no one entity or oligopoly controls it. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://blogs.zdnet.com/Gillmor/&quot; target=&quot;_blank&quot;&gt;Steve Gillmor&lt;/a&gt;, &lt;a href=&quot;http://majestic.typepad.com/about.html&quot; target=&quot;_blank&quot;&gt;Seth Goldstein&lt;/a&gt;, &lt;a href=&quot;http://www.sifry.com/alerts/&quot; target=&quot;_blank&quot;&gt;Dave Sifry&lt;/a&gt; and the &lt;a href=&quot;http://developers.technorati.com/wiki/attentionxml&quot; target=&quot;_blank&quot;&gt;other Attention.xml folks&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Open Media&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Proprietary media standardsÂFlash, Windows Media, and QuickTime, to name a few Âhelped liven up the web. But they are proprietary standards that try to keep us locked in, and they weren&amp;#39;t created from scratch to handle today&amp;#39;s online content. That&amp;#39;s why, for many of us, an Open Media standard has been a holy grail. Yahoo&amp;#39;s new Media RSS standard brings us one step closer to achieving open media, as do &lt;a href=&quot;http://www.vorbis.com/faq/#what&quot; target=&quot;_blank&quot;&gt;Ogg Vorbis&lt;/a&gt; audio codecs, &lt;a href=&quot;http://webjay.org/&quot; target=&quot;_blank&quot;&gt;XSPF playlists&lt;/a&gt;, or &lt;a href=&quot;http://musicbrainz.org/&quot; target=&quot;_blank&quot;&gt;MusicBrainz&lt;/a&gt;. And several sites offer digital creators not only a place to store their content, but also to sell it. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://search.yahoo.com/mrss&quot; target=&quot;_blank&quot;&gt;Media RSS &lt;/a&gt;(being developed by Yahoo with help from the community) extends RSS and combines it with &amp;quot;RSS enclosures&amp;quot; Âadds metadata to any media itemÂto create a comprehensive solution for media &amp;quot;narrowcasters.&amp;quot; To gain acceptance for Media RSS, Yahoo knows it has to work with the community. As an active member of this community, I can tell you that we&amp;#39;ll create Media RSS equivalents for &lt;a href=&quot;http://www.xml.com/pub/a/2001/01/24/rdf.html&quot; target=&quot;_blank&quot;&gt;rdf&lt;/a&gt; (an alternative subscription format) and &lt;a href=&quot;http://www.atomenabled.org/&quot; target=&quot;_blank&quot;&gt;Atom&lt;/a&gt; (yet &lt;i&gt;another&lt;/i&gt;Â  subscription format), so no one will be able to complain that Yahoo is picking sides in format wars.&lt;br /&gt;&lt;br /&gt;When Yahoo announced the purchase of Flickr, Yahoo founder Jerry Yang insinuated that Yahoo is acquiring &amp;quot;open DNA&amp;quot; to turn Yahoo into &lt;a href=&quot;http://www.flickr.com/services/api/&quot; target=&quot;_blank&quot;&gt;an open standards player&lt;/a&gt;. Yahoo is showing what happens when you take a multi-billion dollar company and make openness one of its core valuesÂso Google, beware, even if Google does have more research fellows and Ph.D.s. &lt;br /&gt;&lt;br /&gt;The open media landscape is far and wide, reaching from game machine hacks and mobile phone downloads to PC-driven bookmarklets, players, and editors, and it includes many other standardization efforts. &lt;a href=&quot;http://www.xspf.org/&quot; target=&quot;_blank&quot;&gt;XSPF&lt;/a&gt; is an open standard for playlists, and MusicBrainz is an alternative to the proprietary (and originally effectively stolen) database that &lt;a href=&quot;http://en.wikipedia.org/wiki/Gracenote&quot; target=&quot;_blank&quot;&gt;Gracenote&lt;/a&gt; licenses. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.ourmedia.org/&quot; target=&quot;_blank&quot;&gt;Ourmedia.org&lt;/a&gt; is a community front-end to Brewster Kahle&amp;#39;s &lt;a href=&quot;http://www.archive.org&quot; target=&quot;_blank&quot;&gt;Internet Archive&lt;/a&gt;. Brewster has promised free bandwidth and free storage forever to any content creators who choose to share their content via the Internet Archive. Ourmedia.org is providing an easy-to-use interface and community to get content in and out of the Internet Archive, giving ourmedia.org users the ability to share their media anywhere they wish, without being locked into a particular service or tool. Ourmedia plans to offer open APIs and an open media registry that interconnects other open media repositories into a DNS-like registry (just like the www domain system), so folks can browse and discover open content across many open media services. Systems like &lt;a href=&quot;http://www.brightcove.com/&quot; target=&quot;_blank&quot;&gt;Brightcove&lt;/a&gt; and &lt;a href=&quot;http://www.evhead.com/2005/02/how-odeo-happened.asp&quot; target=&quot;_blank&quot;&gt;Odeo&lt;/a&gt; support the concept of an open registry, and hope to work with digital creators to sell their work to fulfill the financial aspect of &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Long_Tail&quot; target=&quot;_blank&quot;&gt;the &amp;quot;Long Tail.&amp;quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://creativecommons.org/about/people&quot; target=&quot;_blank&quot;&gt;Creative Commons&lt;/a&gt;, the &lt;a href=&quot;http://www.omn.org/&quot; target=&quot;_blank&quot;&gt;Open Media Network&lt;/a&gt;, &lt;a href=&quot;http://www.momentshowing.net/about.html&quot; target=&quot;_blank&quot;&gt;Jay Dedman&lt;/a&gt;, &lt;a href=&quot;http://ryanedit.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Ryanne Hodson&lt;/a&gt;, &lt;a href=&quot;http://michaelverdi.com/index.php&quot; target=&quot;_blank&quot;&gt;Michael Verdi&lt;/a&gt;, &lt;a href=&quot;http://www.chapmanlogic.com/blog/aboutEli.html&quot; target=&quot;_blank&quot;&gt;Eli Chapman&lt;/a&gt;, &lt;a href=&quot;http://www.unmediated.org/&quot; target=&quot;_blank&quot;&gt;Kenyatta Cheese&lt;/a&gt;, &lt;a href=&quot;http://www.itconversations.com/about.html&quot; target=&quot;_blank&quot;&gt;Doug Kaye&lt;/a&gt;, &lt;a href=&quot;http://www.wired.com/wired/archive/13.09/yahoo.html&quot; target=&quot;_blank&quot;&gt;Brad Horowitz&lt;/a&gt;, &lt;a href=&quot;http://webjay.org/about#colophon&quot; target=&quot;_blank&quot;&gt;Lucas Gonze&lt;/a&gt;, &lt;a href=&quot;http://musicbrainz.org/wd/MusicBrainzBio&quot; target=&quot;_blank&quot;&gt;Robert Kaye&lt;/a&gt;, &lt;a href=&quot;http://www.lifewithalacrity.com/&quot; target=&quot;_blank&quot;&gt;Christopher Allen&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Brewster_Kahle&quot; target=&quot;_blank&quot;&gt;Brewster Kahle&lt;/a&gt;, &lt;a href=&quot;http://www.newmediamusings.com/&quot; target=&quot;_blank&quot;&gt;JD Lasica&lt;/a&gt;, and indeed, &lt;a href=&quot;http://www.corante.com/amateur/articles/20030211-3564.html&quot; target=&quot;_blank&quot;&gt;Marc Canter&lt;/a&gt;, among others.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Microcontent Publishing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Unstructured content is cheap to create, but hard to search through. Structured content is expensive to create, but easy to search. &lt;a href=&quot;http://developers.technorati.com/wiki/MicroFormats&quot; target=&quot;_blank&quot;&gt;Microformats&lt;/a&gt; resolve the dilemma with simple structures that are cheap to use and easy to search.&lt;br /&gt;&lt;br /&gt;The first kind of widely adopted microcontent is blogging. Every post is an encapsulated idea, addressable via a URL called a permalink. You can syndicate or subscribe to this microcontent using RSS or an RSS equivalent, and news or blog aggregators can then display these feeds in a convenient readable fashion. But a blog post is just a block of unstructured textânot a bad thing, but just a first step for microcontent. When it comes to&lt;i&gt;structured&lt;/i&gt;Â data, such as personal identity profiles, product reviews, or calendar-type event data, RSS was not designed to maintain the integrity of the structures. &lt;br /&gt;&lt;br /&gt;Right now, blogging doesn&amp;#39;t have the underlying structure necessary for full-fledged microcontent publishing. But that will change. Think of local information services (such as movie listings, event guides, or restaurant reviews) that any college kid can access and use in her weekend programming project to create new services and tools.&lt;br /&gt;&lt;br /&gt;Today&amp;#39;s blogging tools will evolve into microcontent publishing systems, and will help spread the notion of structured data across the blogosphere. New ways to store, represent and produce microcontent will create new standards, such as &lt;a href=&quot;http://structuredblogging.org/&quot; target=&quot;_blank&quot;&gt;Structured Blogging&lt;/a&gt; and &lt;a href=&quot;http://microformats.org/&quot; target=&quot;_blank&quot;&gt;Microformats&lt;/a&gt;. Microformats differ from RSS feeds in that you can&amp;#39;t subscribe to them. Instead, Microformats are embedded into webpages and discovered by search engines like Google or Technorati. Microformats are creating common definitions for &amp;quot;What is a review or event? What are the specific fields in the data structure?&amp;quot; They can also specify what we can do with all this information.&lt;a href=&quot;http://www.opml.org/spec&quot; target=&quot;_blank&quot;&gt;OPML (Outline Processor Markup Language)&lt;/a&gt; is a hierarchical file format for storing microcontent and structured data. It was developed by &lt;a href=&quot;http://en.wikipedia.org/wiki/Dave_Winer&quot; target=&quot;_blank&quot;&gt;Dave Winer&lt;/a&gt; of RSS and podcast fame.&lt;br /&gt;&lt;br /&gt;Events are one popular type of microcontent. &lt;a href=&quot;http://www.openevents.com&quot; target=&quot;_blank&quot;&gt;OpenEvents&lt;/a&gt; is already working to create shared databases of standardized events, which would get used by a new generation of event portalsâsuch as &lt;a href=&quot;http://eventful.com/gotevents/&quot; target=&quot;_blank&quot;&gt;Eventful/EVDB&lt;/a&gt;, &lt;a href=&quot;http://upcoming.org/&quot; target=&quot;_blank&quot;&gt;Upcoming.org&lt;/a&gt;, and &lt;a href=&quot;http://www.whizspark.com/&quot; target=&quot;_blank&quot;&gt;WhizSpark&lt;/a&gt;. The idea of OpenEvents is that event-oriented systems and services can work together to establish shared events databases (and associated APIs) that any developer could then use to create and offer their own new service or application. &lt;a href=&quot;http://marc.blogs.it/archives/2005/04/rvw_redux_openr.html&quot; target=&quot;_blank&quot;&gt;OpenReviews&lt;/a&gt; is still in the conceptual stage, but it would make it possible to provide open alternatives to closed systems like Epinions, and establish a shared database of local and global reviews. Its shared open servers would be filled with all sorts of reviews for anyone to access. &lt;br /&gt;&lt;br /&gt;Why is this important? Because I predict that in the future, 10 times more people will be writing reviews than maintaining their own blog. The list of possible microcontent standards goes on: OpenJobpostings, OpenRecipes, and even OpenLists. Microsoft &lt;a href=&quot;http://www.reallysimplesyndication.com/2005/06/22&quot; target=&quot;_blank&quot;&gt;recently revealed&lt;/a&gt; that it has been working on an important new kind of microcontent: Listsâso OpenLists will attempt to establish standards for the &lt;i&gt;kind&lt;/i&gt;Â of lists we all use, such as lists of Links, lists of To Do Items, lists of People, Wish Lists, etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://tantek.com/log/2005/09.html&quot; target=&quot;_blank&quot;&gt;Tantek Ãelik&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Kevin_Marks&quot; target=&quot;_blank&quot;&gt;Kevin Marks&lt;/a&gt; of &lt;a href=&quot;http://developers.technorati.com/wiki/MicroFormats&quot; target=&quot;_blank&quot;&gt;Technorati&lt;/a&gt;, &lt;a href=&quot;http://dannyayers.com/&quot; target=&quot;_blank&quot;&gt;Danny Ayers&lt;/a&gt;, &lt;a href=&quot;http://www.meyerweb.com/&quot; target=&quot;_blank&quot;&gt;Eric Meyer&lt;/a&gt;, &lt;a href=&quot;http://photomatt.net/&quot; target=&quot;_blank&quot;&gt;Matt Mullenweg&lt;/a&gt;, &lt;a href=&quot;http://zlab.commerce.net/&quot; target=&quot;_blank&quot;&gt;Rohit Khare&lt;/a&gt;, &lt;a href=&quot;http://ifindkarma.typepad.com/relax/&quot; target=&quot;_blank&quot;&gt;Adam Rifkin&lt;/a&gt;, &lt;a href=&quot;http://www.sivas.com/aleene/&quot; target=&quot;_blank&quot;&gt;Arnaud Leene&lt;/a&gt;, &lt;a href=&quot;http://radio.weblogs.com/0110772/&quot; target=&quot;_blank&quot;&gt;Seb Paquet&lt;/a&gt;, &lt;a href=&quot;http://hublog.hubmed.org/&quot; target=&quot;_blank&quot;&gt;Alf Eaton&lt;/a&gt;, &lt;a href=&quot;http://www.myelin.co.nz/post/&quot; target=&quot;_blank&quot;&gt;Phil Pearson&lt;/a&gt;, &lt;a href=&quot;http://www.joereger.com/&quot; target=&quot;_blank&quot;&gt;Joe Reger&lt;/a&gt;, &lt;a href=&quot;http://bobwyman.pubsub.com/&quot; target=&quot;_blank&quot;&gt;Bob Wyman&lt;/a&gt; among others.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Open Social Networks&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I&amp;#39;ll never forget the first time I met &lt;a href=&quot;http://www.jabrams.com/&quot; target=&quot;_blank&quot;&gt;Jonathan Abrams&lt;/a&gt;, the founder of Friendster. He was arrogant and brash and he claimed he &amp;quot;&lt;i&gt;owned&lt;/i&gt;&amp;quot;Â  all his users, and that he was going to monetize them and make a fortune off them. This attitude robbed Friendster of its momentum, letting MySpace, Facebook, and other social networks take Friendster&amp;#39;s place.&lt;br /&gt;&lt;br /&gt;Jonathan&amp;#39;s notion of social networks as a way to control users is typical of the Web 1.0 business model and its attitude towards users in general. Social networks have become one of the battlegrounds between old and new ways of thinking. Open standards for Social Networking will define those sides very clearly. Since meeting Jonathan, I have been working towards finding and establishing open standards for social networks. Instead of closed, centralized social networks with 10 million people in them, the goal is making it possible to have 10 million social networks that each have 10 people in them.&lt;br /&gt;&lt;br /&gt;FOAF (which stands for Friend Of A Friend, and describes people and relationships in a way that computers can parse) is a schema to represent not only your personal profile&amp;#39;s meta-data, but your social network as well. Thousands of researchers use the &lt;a href=&quot;http://www.foaf-project.org/&quot; target=&quot;_blank&quot;&gt;FOAF schema&lt;/a&gt; in their &amp;quot;Semantic Web&amp;quot; projects to connect people in all sorts of new ways. &lt;a href=&quot;http://gmpg.org/xfn/&quot; target=&quot;_blank&quot;&gt;XFN&lt;/a&gt; is a microformat standard for representing your social network, while &lt;a href=&quot;http://www.imc.org/pdi/&quot; target=&quot;_blank&quot;&gt;vCard&lt;/a&gt; (long familiar to users of contact manager programs like Outlook) is a microformat that contains your profile information. Microformats are baked into any xHTML webpage, which means that&lt;i&gt;any&lt;/i&gt;Â blog, social network page, or any webpage in general can &amp;quot;contain&amp;quot; your social network in itÂand be used by&lt;i&gt;any&lt;/i&gt;Â compatible tool, service or application. &lt;br /&gt;&lt;br /&gt;PeopleAggregator is an earlier project now being integrated into &lt;a href=&quot;http://drupal.org/&quot; target=&quot;_blank&quot;&gt;open content management framework Drupal&lt;/a&gt;. The &lt;a href=&quot;http://www.broadbandmechanics.com/PeopleAggregator/&quot; target=&quot;_blank&quot;&gt;PeopleAggregator APIs&lt;/a&gt; will make it possible to establish relationships, send messages, create or join groups, and post between different social networks. (Sneak preview: this technology will be available in the upcoming GoingOn Network.) &lt;br /&gt;&lt;br /&gt;All of these open social networking standards mean that inter-connected social networks will form a mesh that will parallel the blogosphere. This vibrant, distributed, decentralized world will be driven by open standards: personalized online experiences are what the new open web will be all aboutÂand what could be more personalized than people&amp;#39;s networks?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://esigler.2nw.net/&quot; target=&quot;_blank&quot;&gt;Eric Sigler&lt;/a&gt;, &lt;a href=&quot;http://lucifer.intercosmos.net/index.php?view=about&quot; target=&quot;_blank&quot;&gt;Joel De Gan&lt;/a&gt;, &lt;a href=&quot;http://crschmidt.net/&quot; target=&quot;_blank&quot;&gt;Chris Schmidt&lt;/a&gt;, &lt;a href=&quot;http://voidstar.com/&quot; target=&quot;_blank&quot;&gt;Julian Bond&lt;/a&gt;, &lt;a href=&quot;http://people.tribe.net/paul?_click_path=Application%5Btribe%5D.Person%5Bf2232c95-e123-43a3-b48d-24a5f11f09dc%5D&amp;r=10535&quot; target=&quot;_blank&quot;&gt;Paul Martino&lt;/a&gt;, &lt;a href=&quot;http://napsterization.org/stories/archives/000513.html&quot; target=&quot;_blank&quot;&gt;Mary Hodder&lt;/a&gt;, &lt;a href=&quot;http://public.2idi.com/=Drummond.Reed&quot; target=&quot;_blank&quot;&gt;Drummond Reed&lt;/a&gt;, &lt;a href=&quot;http://danbri.org/&quot; target=&quot;_blank&quot;&gt;Dan Brickley&lt;/a&gt;, &lt;a href=&quot;http://360.yahoo.com/profile-9lciejI3aafX1stHPoIRNmkmv4EowQ--&quot; target=&quot;_blank&quot;&gt;Randy Farmer&lt;/a&gt;, and &lt;a href=&quot;http://www.kaliyasblogs.net/Iwoman/&quot; target=&quot;_blank&quot;&gt;Kaliya Hamlin&lt;/a&gt;, to name a few.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. Tags&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nowadays, no self-respecting tool or service can ship without &lt;a href=&quot;http://www.salon.com/tech/feature/2005/02/08/tagging/index_np.html&quot; target=&quot;_blank&quot;&gt;tags&lt;/a&gt;. Tags are keywords or phrases attached to photos, blog posts, URLs, or even video clips. These user- and creator-generated tags are an open alternative to what used to be the domain of librarians and information scientists: categorizing information and content using taxonomies. Tags are instead creating &lt;a href=&quot;http://www.wired.com/wired/archive/13.04/view.html?pg=4&quot; target=&quot;_blank&quot;&gt;&amp;quot;folksonomies.&amp;quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The recently proposed OpenTags concept would be an open, community-owned version of the popular &lt;a href=&quot;http://www.technorati.com/tag/&quot; target=&quot;_blank&quot;&gt;Technorati Tags service&lt;/a&gt;. It would aggregate the usage of tags across a wide range of services, sites, and content tools. In addition to Technorati&amp;#39;s current tag features, OpenTags would let groups of people share their tags in &amp;quot;&lt;a href=&quot;http://www.zeldman.com/daily/0405d.shtml/&quot; target=&quot;_blank&quot;&gt;TagClouds&lt;/a&gt;.&amp;quot; Open tagging is likely to include some of the open identity features discussed above, to create a tag system that is resilient to spam, and yet trustable across sites all over the web.&lt;br /&gt;&lt;br /&gt;OpenTags owes a debt to earlier versions of shared tagging systems, which include &lt;a href=&quot;http://www.topicexchange.com/&quot; target=&quot;_blank&quot;&gt;Topic Exchange&lt;/a&gt; and something called the &lt;a href=&quot;http://www.evectors.com/itkcollector/&quot; target=&quot;_blank&quot;&gt;k-collector&lt;/a&gt;Âa knowledge management tag aggregatorÂfrom Italian company eVectors. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers &amp;amp; Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.myelin.co.nz/notes/&quot; target=&quot;_blank&quot;&gt;Phil Pearson&lt;/a&gt;, &lt;a href=&quot;http://matt.blogs.it/&quot; target=&quot;_blank&quot;&gt;Matt Mower &lt;/a&gt;, &lt;a href=&quot;http://paolo.evectors.it/&quot; target=&quot;_blank&quot;&gt;Paolo Valdemarin&lt;/a&gt;, and &lt;a href=&quot;http://marc.blogs.it/archives/2005/03/opentopics.html&quot; target=&quot;_blank&quot;&gt;Mary Hodder&lt;/a&gt; and &lt;a href=&quot;http://www.equalsdrummond.name/index.php?p=39&quot; target=&quot;_blank&quot;&gt; Drummond Reed&lt;/a&gt; again, among others.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. Pinging&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Websites used to be mostly static. Search engines that &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_crawler&quot; target=&quot;_blank&quot;&gt;crawled&lt;/a&gt; (or &amp;quot;spidered&amp;quot;) them every so often did a good enough job to show reasonably current versions of your cousin&amp;#39;s homepage or even &lt;i&gt;Time&lt;/i&gt;Â magazine&amp;#39;s weekly headlines. But when blogging took off, it became hard for search engines to keep up. (Google has only &lt;a href=&quot;http://searchenginewatch.com/searchday/article.php/3548411&quot; target=&quot;_blank&quot;&gt;just managed&lt;/a&gt; to offer &lt;a href=&quot;http://www.google.com/help/about_blogsearch.html&quot; target=&quot;_blank&quot;&gt;blog-search functionality&lt;/a&gt;, despite &lt;a href=&quot;http://www.alwayson-network.com/comments.php?id=325_0_2_0_C&quot; target=&quot;_blank&quot;&gt;buying Blogger&lt;/a&gt; back in early 2003.)&lt;br /&gt;&lt;br /&gt;To know what was new in the blogosphere, users couldn&amp;#39;t depend on services that spidered webpages once in a while. The solution: a way for blogs themselves to automatically notify blog-tracking sites that they&amp;#39;d been updated. &lt;a href=&quot;http://weblogs.com/&quot; target=&quot;_blank&quot;&gt;Weblogs.com&lt;/a&gt; was the first blog &amp;quot;ping service&amp;quot;: it displayed the name of a blog whenever that blog was updated. Pinging sites helped the blogosphere grow, and &lt;a href=&quot;http://blo.gs/&quot; target=&quot;_blank&quot;&gt;more tools&lt;/a&gt;, services, and portals started using pinging in new and different ways. Dozens of pinging services and sitesÂmost of which can&amp;#39;t talk to each otherÂsprang up. &lt;br /&gt;&lt;br /&gt;Matt Mullenweg (the creator of open source blogging software WordPress) decided that a one-stop service for pinging was needed. He created &lt;a href=&quot;http://pingomatic.com/&quot; target=&quot;_blank&quot;&gt;Ping-o-Matic&lt;/a&gt;Âwhich aggregates ping services and simplifies the pinging process for bloggers and tool developers. With Ping-o-Matic, any developer can alert all of the industry&amp;#39;s blogging tools and tracking sites at once. This new kind of open standard, with shared infrastructure, is a critical to the scalability of Web 2.0 services.&lt;br /&gt;&lt;br /&gt;As &lt;a href=&quot;http://pingomatic.com/about/&quot; target=&quot;_blank&quot;&gt;Matt said&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;There are a number of services designed specifically for tracking and connecting blogs. However it would be expensive for all the services to crawl all the blogs in the world all the time. By sending a small ping to each service you let them know you&amp;#39;ve updated so they can come check you out. They get the freshest data possible, you don&amp;#39;t get a thousand robots spidering your site all the time. Everybody wins.&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://photomatt.net/about/&quot; target=&quot;_blank&quot;&gt;Matt Mullenweg&lt;/a&gt;, &lt;a href=&quot;http://trainedmonkey.com/entry/2251&quot; target=&quot;_blank&quot;&gt;Jim Winstead&lt;/a&gt;, &lt;a href=&quot;http://newhome.weblogs.com/faq&quot; target=&quot;_blank&quot;&gt;Dave Winer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8. Routing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Bloggers used to have to manually enter the links and content snippets of blog posts or news items they wanted to blog. Today, some RSS aggregators can send a specified post directly into an associated blogging tool: as bloggers browse through the feeds they subscribe to, they can easily specify and send any post they wish to &amp;quot;&lt;a href=&quot;http://www.microsoftmonitor.com/archives/010209.html&quot; target=&quot;_blank&quot;&gt;reblog&lt;/a&gt;&amp;quot; from their news aggregator or feed reader into their blogging tool. (This is usually referred to as &amp;quot;&lt;a href=&quot;http://help.blogger.com/bin/answer.py?answer=152&amp;topic=17&quot; target=&quot;_blank&quot;&gt;BlogThis&lt;/a&gt;.&amp;quot;) As structured blogging comes into its own (see the section on Microcontent Publishing), it will be increasingly important to maintain the structural integrity of these pieces of microcontent when reblogging them. &lt;br /&gt;&lt;br /&gt;Promising standard &lt;a href=&quot;http://redirectthis.com/&quot; target=&quot;_blank&quot;&gt;RedirectThis&lt;/a&gt; will combine a &amp;quot;BlogThis&amp;quot;-like capability while maintaining the integrity of the microcontent. RedirectThis will let bloggers and content developers attach a simple &amp;quot;PostThis&amp;quot; button to their posts. Clicking on that button will send that post to the reader/blogger&amp;#39;s favorite &lt;a href=&quot;http://ecto.kung-foo.tv/archives/000990.php&quot; target=&quot;_blank&quot;&gt;blogging tool&lt;/a&gt;. This favorite tool is specified at the RedirectThis web service, where users register their blogging tool of choice. RedirectThis also helps maintain the integrity and structure of microcontentÂthen it&amp;#39;s just up to the user to prefer a blogging tool that also attains that lofty goal of microcontent integrity. &lt;br /&gt;&lt;br /&gt;OutputThis is another nascent web services standard, to let bloggers specify what &amp;quot;destinations&amp;quot; they&amp;#39;d like to have as options in their blogging tool. As new destinations are added to the service, more checkboxes would get added to their blogging toolÂallowing them to route their published microcontent to additional destinations.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://reblog.org/&quot; target=&quot;_blank&quot;&gt;Michael Migurski&lt;/a&gt;, &lt;a href=&quot;http://www.gonze.com/about&quot; target=&quot;_blank&quot;&gt;Lucas Gonze&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9. Open Communications&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Likely, you&amp;#39;ve experienced the joys of finding friends on AIM or Yahoo Messenger, or the convenience of Skyping with someone overseas. Not that you&amp;#39;re about to throw away your mobile phone or BlackBerry, but for many, also having access to Instant Messaging (IM) and Voice over IP (VoIP) is crucial. &lt;br /&gt;&lt;br /&gt;IM and VoIP are mainstream technologies that already enjoy the benefits of open standards. Entire industries are bornÂright this secondÂbased around these open standards. &lt;a href=&quot;http://www.jabber.org/&quot; target=&quot;_blank&quot;&gt;Jabber&lt;/a&gt; has been an open IM technology for yearsÂin fact, &lt;a href=&quot;http://www.xmpp.org/history.html&quot; target=&quot;_blank&quot;&gt;as XMPP&lt;/a&gt;, it was officially dubbed a standard by &lt;a href=&quot;http://www.ietf.org/overview.html&quot; target=&quot;_blank&quot;&gt;the IETF&lt;/a&gt;. Although becoming an &lt;a href=&quot;http://en.wikipedia.org/wiki/IETF&quot; target=&quot;_blank&quot;&gt;official IETF standard&lt;/a&gt; is usually the kiss of death, Jabber looks like it&amp;#39;ll be around for a while, as entire generations of collaborative, work-group applications and services have been built on top of its messaging protocol. For VoIP, &lt;a href=&quot;http://skype.com/helloagain.html&quot; target=&quot;_blank&quot;&gt;Skype&lt;/a&gt; is clearly the leading standard todayÂthough one could &lt;a href=&quot;http://socialsoftware.weblogsinc.com/entry/1234000923058521/&quot; target=&quot;_blank&quot;&gt;argue just how &amp;quot;open&amp;quot; it is&lt;/a&gt; (and defenders of the IETF&amp;#39;s &lt;a href=&quot;http://www.cs.columbia.edu/sip/&quot; target=&quot;_blank&quot;&gt;SIP standard&lt;/a&gt; often do). But it is free and user-friendly, so there won&amp;#39;t be much argument from &lt;i&gt;users&lt;/i&gt;Â  about it being insufficiently open. Yet there may be a cloud on Skype&amp;#39;s horizon: web behemoth Google recently released a beta of &lt;a href=&quot;http://www.google.com/talk/developer.html&quot; target=&quot;_blank&quot;&gt;Google Talk, an IM client committed to open standards&lt;/a&gt;. It currently &lt;a href=&quot;http://radar.oreilly.com/archives/2005/08/google_talk_rel.html&quot; target=&quot;_blank&quot;&gt;supports XMPP, and will support SIP&lt;/a&gt; for VoIP calls.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Movers and Shakers:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.jabber.org/people/jer.shtml&quot; target=&quot;_blank&quot;&gt;Jeremie Miller&lt;/a&gt;, &lt;a href=&quot;http://www.cs.columbia.edu/~hgs/&quot; target=&quot;_blank&quot;&gt;Henning Schulzrinne&lt;/a&gt;, &lt;a href=&quot;http://www.von.com/schedule_eos11114704148.html&quot; target=&quot;_blank&quot;&gt;Jon Peterson&lt;/a&gt;, &lt;a href=&quot;http://www.pulver.com/jeff/&quot; target=&quot;_blank&quot;&gt;Jeff Pulver&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;10. Device Management and Control&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To access online content, we&amp;#39;re using more and more devices. BlackBerrys, iPods, Treos, you name it. As the web evolves, more and more different devices will have to communicate with each other to give us the content we want when and where we want it. No-one wants to be dependent on one vendor anymoreÂlike, &lt;a href=&quot;http://www.alwayson-network.com/comments.php?id=P9409_0_6_0_C&quot; target=&quot;_blank&quot;&gt;say, Sony&lt;/a&gt;Âfor their laptop, phone, MP3 player, PDA, and digital camera, so that it all works together. We need fully interoperable devices, and the standards to make that work. And to fully make use of how content is moving online content and innovative web services, those standards need to be open.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Midi&quot; target=&quot;_blank&quot;&gt;MIDI (musical instrument digital interface)&lt;/a&gt;, one of the very first open standards in music, connected disparate vendors&amp;#39; instruments, post-production equipment, and recording devices. But MIDI is limited, and &lt;a href=&quot;http://www.oreillynet.com/pub/wlg/8015&quot; target=&quot;_blank&quot;&gt;MIDI II has been very slow to arrive&lt;/a&gt;. Now a new standard for controlling musical devices has emerged: &lt;a href=&quot;http://www.cnmat.berkeley.edu/OpenSoundControl/&quot; target=&quot;_blank&quot;&gt;OSC (Open SoundControl)&lt;/a&gt;. This protocol is optimized for modern networking technology and inter-connects music, video and controller devices with &amp;quot;other multimedia devices.&amp;quot; OSC is used by a wide range of developers, and is being taken up in the mainstream MIDI marketplace.&lt;br /&gt;&lt;br /&gt;Another open-standards-based device management technology is &lt;a href=&quot;http://www.zigbee.org&quot; target=&quot;_blank&quot;&gt;ZigBee&lt;/a&gt;, for building wireless intelligence and network monitoring into all kinds of devices. ZigBee is supported by many networking, consumer electronics, and mobile device companies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Â  Â  Â  Â· Â· Â· Â· Â· Â· Â  Â  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Change to Openness&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The rise of open source software and its &amp;quot;&lt;a href=&quot;http://www.oreillynet.com/pub/a/oreilly/tim/articles/architecture_of_participation.html&quot; target=&quot;_blank&quot;&gt;architecture of participation&lt;/a&gt;&amp;quot; are completely shaking up the old proprietary-web-services-and-standards approach. Sun MicrosystemsÂwhose proprietary Java standard helped define the Web 1.0Âis opening its Solaris OS and has even announced the apparent paradox of an &lt;a href=&quot;http://blogs.zdnet.com/open-source/?p=418&quot; target=&quot;_blank&quot;&gt;open-source Digital Rights Management&lt;/a&gt; system.&lt;br /&gt;&lt;br /&gt;Today&amp;#39;s incumbents will have to adapt to the new openness of the Web 2.0. If they stick to their &lt;a href=&quot;http://www.gartner.com/DisplayDocument?doc_cd=131038&quot; target=&quot;_blank&quot;&gt;proprietary standards&lt;/a&gt;, code, and content, they&amp;#39;ll become the new walled gardensÂplaces users visit briefly to retrieve data and content from enclosed data silos, but not where users &amp;quot;live.&amp;quot; The incumbents&amp;#39; revenue models will have to change. Instead of &amp;quot;owning&amp;quot; their users, users will know they own themselves, and will expect a return on their valuable identity and attention. Instead of being locked into incompatible media formats, users will expect easy access to digital content across many platforms. &lt;br /&gt;&lt;br /&gt;Yesterday&amp;#39;s web giants and tomorrow&amp;#39;s users will need to find a mutually beneficial new balanceÂbetween open and proprietary, developer and user, hierarchical and horizontal, owned and shared, and compatible and closed. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Marc Canter is an active evangelist and developer of open standards. Early in his career, Marc founded MacroMind, which became Macromedia. These days, he is CEO of Broadband Mechanics, a founding member of the Identity Gang and of ourmedia.org. Broadband Mechanics is currently developing the &lt;a href=&quot;http://www.alwayson-network.com/comments.php?id=11262_0_1_0_C&quot; target=&quot;_blank&quot;&gt;GoingOn Network&lt;/a&gt; (with the AlwaysOn Network), as well as an open platform for social networking called the PeopleAggregator.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A version of the above post appears in the Fall 2005 issue of AlwaysOn&amp;#39;s quarterly print blogozine, and ran as &lt;a href=&quot;http://www.alwayson-network.com/comments.php?id=12063_0_1_0_C&quot; target=&quot;_blank&quot;&gt;a four-part series&lt;/a&gt; on the AlwaysOn Network website.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;(Via &lt;a href=&quot;http://marc.blogs.it/&quot;&gt;Marc&amp;#39;s Voice&lt;/a&gt;.)&lt;/p&gt;&lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>TechCrunch Top Web 2.0 VCs</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-20#876</atom:id>
  <atom:published>2005-10-20T03:50:55Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;span style=&quot;font-family:Verdana;font-size:10pt;&quot;&gt; By way of the upcoming &lt;a href=&quot;http://wiki.techcrunch.com/third_meetup&quot;&gt;TechCrunch âun-conferenceâ style demo-brainstorm-fest Wiki&lt;/a&gt; I came across a blog post by &lt;a href=&quot;http://www.techcrunch.com/&quot;&gt;Michael Arrington&lt;/a&gt; titled: &lt;a href=&quot;http://www.techcrunch.com/2005/10/19/top-five-web-20-venture-capitalists/&quot;&gt;Top 5 Web 2.0 VCs&lt;/a&gt;. Here is the entire list (Top 5, Notables, and Up and Coming) extracted from the post (see &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?page=linkblog&quot;&gt;my linkblog page&lt;/a&gt; to get some insight into the motivation behind this post): &lt;/span&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.bvp.com/about/bio.asp?id=7&quot; id=&quot;7&quot;&gt;David Cowan&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is a partner at &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.bvp.com/&quot;&gt;Bessemer Venture Partners&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; and writes a blog called &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://whohastimeforthis.blogspot.com/&quot;&gt;Who Has Time For This&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;. Heâs on this list partially because he incubated the hottest and most anticipated company on the web right now, Flock. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.dfj.com/team/tim_bio.shtml&quot;&gt;Tim Draper&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; invested in Skype. Done. He also sits on the board of SocialText, and his fund was in Baidu. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.augustcap.com/team/dh.shtml&quot;&gt;David Hornik&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is is a General Partner at August Capital and writes a &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.ventureblog.com/&quot;&gt;blog&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; that has over 10,000 RSS readers. &lt;br /&gt;Josh Kopelman, through &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.firstroundcapital.com/&quot;&gt;FirstRoundCapital&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;, is quietly filtering through just about every young web 2.0 company, and investing in many of them. &lt;br /&gt;&lt;br /&gt;Fred Wilson is a founding partner of &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.unionsquareventures.com/&quot;&gt;Union Square Ventures&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; and writes the extremely popular &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://avc.blogs.com/a_vc/&quot;&gt;A VC&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;. If you are new to web 2.0, start with his &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://avc.blogs.com/a_vc/2005/02/blogging_10.html&quot;&gt;Blogging 1.0&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; post. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://softtechvc.blogs.com&quot;&gt;Jeff Clavier&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://softtechvc.blogs.com/about.html&quot;&gt;Jeff&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is a former VC and still makes the odd angel investment (Feedster, Truveo, and a few others). His &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.softtechvc.com/&quot;&gt;new venture&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; allows him to work with pre-funding companies and get them ready for prime time. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.feld.com/blog/&quot;&gt;Brad Feld&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - Brad is a managing director at &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.mobiusvc.com/index.php&quot;&gt;Mobius Venture Capital&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; and writes a must-read web 2.0 blog called Feld Thoughts. Read his &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.feld.com/blog/archives/term_sheet/index.html&quot;&gt;posts on Term Sheets&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; if you are in the process of raising capital. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.oatv.com/&quot;&gt;OâReilly AlphaTech Ventures&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size:9pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - This is the only non-person on here. &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.oatv.com/&quot;&gt;OATV&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; just closed a $50 million fund to invest in young companies. Given the incredible access Tim OâReilly has to these companies, OATV could quickly become an important fund in the web 2.0 space. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://pierre.typepad.com/&quot;&gt;Pierre Omidyar&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://pierre.typepad.com/&quot;&gt;Pierre&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; founded ebay and is the Co-founder of &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.omidyar.net/index.html&quot;&gt;Omidyar Network&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;, where heâs invested in a number of interesting companies including EVDB, SocialText and Feedster, and others. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://earlystagevc.typepad.com/&quot;&gt;Peter Rip&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - Peter is a founding partner of &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.leapfrogventures.com/&quot;&gt;Leapfrog Ventures&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;, a $100 million fund. Peter also writes &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://earlystagevc.typepad.com/&quot;&gt;Early Stage VC&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;, another must-read blog. His investments include ojos, an incredible new photo-metadata service that is going to be extremely disruptive (and useful). &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.thefoundersfund.com/index.html&quot;&gt;Peter Thiel&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - Peter, the former CEO of paypal, has invested in LinkedIn, Friendster, LinkedIn and other web 2.0 companies. Heâs just created the &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.thefoundersfund.com/index.html&quot;&gt;Founders Fund&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size:9pt;&quot;&gt;. &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;color:#51796f;font-size:9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.austinventures.com/team/teammember.asp?id=81&quot; id=&quot;81&quot;&gt;Thomas Ball&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.austinventures.com/team/teammember.asp?id=81&quot; id=&quot;81&quot;&gt;Tom&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is a Venture Partner at Austin Ventures, a fund with $3 billion under management. Heâs their consumer and web 2.0 guy and seems to be spending a lot of time in Silicon Valley and at web 2.0 event. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.venrock.com/bio_deg.html&quot;&gt;Dan Grossman&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.venrock.com/bio_deg.html&quot;&gt;Dan&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is a principal at Venrock Associates and has recently started a great blog called &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.aventureforth.com/&quot;&gt;A Venture Forth&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; (where he wrote a much bookmarked post on &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.aventureforth.com/2005/09/06/top-10-ajax-applications/&quot;&gt;Ajax&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;). &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.shastaventures.com/pressman.htm&quot;&gt;Jason Pressman&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt;&lt;a href=&quot;http://www.shastaventures.com/pressman.htm&quot;&gt;Jason&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Verdana;font-size:9pt;&quot;&gt; is a principal at Shasta Ventures, a young $200 million fund that has a deep commitment to and expertise in consumer-focused businesses. &lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Web 2.0 Conference Trip Report: Mash-ups 2.0 - Where#39s the Business Model?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-06#871</atom:id>
  <atom:published>2005-10-06T18:43:31Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Great report from Dare as usual :-) Beyond the obvious value of the post (information wise), I am also using the post placement here as a simple demonstration of what Blogs can offer (if driven or built atop a Web 2.0+ platform like&lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt; Virtuoso&lt;/a&gt;). See the post that follows...&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=fe52dada-78e0-4508-80c2-8764d9668651&quot;&gt;Web 2.0 Conference Trip Report: Mash-ups 2.0 - Where&amp;#39;s the Business Model?&lt;/a&gt;: &amp;quot;&lt;/p&gt;&lt;p&gt; I attended the panel on business models for mash-ups hosted by &lt;a href=&quot;http://www.web2con.com/cs/web2005/view/e_spkr/2453&quot;&gt;DaveÂ McClure&lt;/a&gt;,&lt;br /&gt;&lt;a href=&quot;http://www.web2con.com/cs/web2005/view/e_spkr/1637&quot;&gt;JeffreyÂ McManus&lt;/a&gt;,Â &lt;a href=&quot;http://www.web2con.com/cs/web2005/view/e_spkr/2277&quot;&gt;PaulÂ Rademacher&lt;/a&gt;, and &lt;a href=&quot;http://www.web2con.com/cs/web2005/view/e_spkr/1518&quot;&gt;AdamÂ Trachtenberg&lt;/a&gt;. &lt;/p&gt;&lt;p&gt; A mash up used to mean remixing two songs into something new and cool but now the term has been hijacked by geeks to means mixing two or more web-based data sources and/or services. &lt;/p&gt;&lt;p&gt; Paul Rademacher is theÂ author ofÂ the &lt;a href=&quot;http://www.housingmaps.com/&quot;&gt;Housing Maps mash-up&lt;/a&gt; which he usedÂ as a way to find a house using Craig&amp;#39;sList + Google Maps. The data obtained from Craig&amp;#39;s List is fetched via screen scraping. AlthoughÂ Craig&amp;#39;s List has RSS feeds, they didn&amp;#39;t meet his needs. Paul also talked about some of the issues he had with building the site such as the fact that since most browsers block cross-site scripting using XMLHttpRequest then a server needs to be set up to aggregate the data instead of all the code running in the browser. The site has been very popular and has garnered over 900,000 unique visitors based solely on word-of-mouth. &lt;/p&gt;&lt;p&gt; The question was asked as to whyÂ he didn&amp;#39;t make this a businessÂ but instead took a job atÂ Google. HeÂ listed a number of very good reasons &lt;/p&gt;&lt;ol&gt;&lt;li&gt; He did not own the data that was powering the application.&lt;/li&gt;&lt;li&gt; The barrier to entry for such an application was low since there was no unique intellectual property or user interface design to his application &lt;/li&gt;&lt;/ol&gt;&lt;p&gt; I asked whether he&amp;#39;d gotten any angry letters from the legal department at Craig&amp;#39;s List and he said they seem to be tolerating him because he drives traffic to their site and caches a bunch of data on his servers so as not to hit their servers with a lot of traffic.Â  &lt;/p&gt;&lt;p&gt; A related mash-up site which scrapes real estate websites called &lt;a href=&quot;http://www.trulia.com/&quot;&gt;Trulia&lt;/a&gt; was then demoed. A member of the audience askedÂ whether Paul thoughtÂ the complexity of mash-ups using more than two data sources and/or services increased in a linear or exponential fashion. Paul saidÂ he felt it increased in a linear fashion.Â This segued into a demo of &lt;a href=&quot;http://www.simplyhired.com/&quot;&gt;SimplyHired&lt;/a&gt; with integrates with a number of sites including &lt;a href=&quot;http://www.payscale.com/&quot;&gt;PayScale&lt;/a&gt;, &lt;a href=&quot;http://www.linkedin.com/&quot;&gt;LinkedIn&lt;/a&gt;, Job databases, etc. &lt;/p&gt;&lt;p&gt; At this point I asked whether they would have service providers giving their perspective on making money from mash-ups since they are the gating factor because they own the data and/or services mash-ups are built on.Â TheÂ reply was that the eBay &amp;amp; Yahoo folks would give their perspective later. &lt;/p&gt;&lt;p&gt; Then we get a demo of aÂ &lt;a href=&quot;http://www.trachtenberg.com/emgm/&quot;&gt;Google Maps &amp;amp; eBay Motors mash-up&lt;/a&gt;. Unlike the &lt;a href=&quot;http://www.housingmaps.com/&quot;&gt;Housing Maps mash-up&lt;/a&gt;, all the data is queried live instead of cached on the server. eBay has dozens of APis that encourage people to build against their platform and they have an affiliates program so people can make money from building on their API. We also got showed &lt;a href=&quot;http://www.unwiredbuyer.com/&quot;&gt;Unwired Buyer&lt;/a&gt;Â which is a site that enables you to bid on eBay using your cell phone and even calls you just beforeÂ anÂ auction is about to close. Adam Trachtenberg pointed out that since there is a &lt;a href=&quot;http://share.skype.com/sdp&quot;&gt;Skype API&lt;/a&gt; perhaps some enterprising soul could mash-up eBay &amp;amp; Skype. &lt;/p&gt;&lt;p&gt; Jeffrey McManus of Yahoo! pointed out that you don&amp;#39;t even need coding skills to build a Yahoo! Maps mash-up since all it takes is specifying your RSS feed with longitude and latitude elements on each item to have it embedded in the map. I asked why unlike Google Maps and MSN Virtual Earth, Yahoo! Maps doesn&amp;#39;t allow users to host the maps on their page nor does there seem to be an avenue for revenue sharing with mash-up authors via syndicated advertising. The response I got was that they polled various developers and there wasn&amp;#39;t significant interest in embedding the maps on developer&amp;#39;s sites especially when this would require paying for hosting. &lt;/p&gt;&lt;p&gt; We then got showed a number mapping mashups includingÂ a mashup of the &lt;a href=&quot;http://geepster.com/london.php&quot;&gt;London bombings which used Google Maps, Flickr &amp;amp; RSS feeds of news&lt;/a&gt; (the presenter had the poor taste to point out opportunities to place ads on the site),Â a mashup from alkemis which &lt;a href=&quot;http://www.alkemis.com/default.php?pID=laboratory&amp;pID2=googleMapA&quot;&gt;mashes Google Maps, A9.com street level photos and traffic cams&lt;/a&gt;, and a mash-up from Analygis which &lt;a href=&quot;http://www.analygis.com/products/google_api.htm&quot;&gt;integrates census data with Google Maps data&lt;/a&gt;. &lt;/p&gt;&lt;p&gt; The following items were then listed as the critical components of mash-ups&lt;br /&gt; Â - AJAX (Jeffrey McManusÂ said it isn&amp;#39;t key but a few of the guys on the panel felt that at least dynamic UIs are better) &lt;br /&gt; Â - APIs&lt;br /&gt; Â - Advertising&lt;br /&gt; Â - Payment&lt;br /&gt; Â - Identity/Acct mgmt&lt;br /&gt; Â - Mapping Services&lt;br /&gt; Â - Content Hosting&lt;br /&gt; Â - Other? &lt;/p&gt;&lt;p&gt; On the topic of identity and account management, the problem of how mash-ups handle user passwords came up as a problem. If a website is password protected then user&amp;#39;s often have to enter their usernames and passwords into third party sites. An example of this was the fact that PayPal used to store lots of username/password information of eBay users which caused the company some consternation since eBay went through a lot of trouble to protect their sensitive data only to have a lot of it being stored on Paypal servers. &lt;/p&gt;&lt;p&gt; eBay&amp;#39;s current solution is similar to that used by &lt;a href=&quot;http://www.passport.net&quot;&gt;Microsoft Passport&lt;/a&gt; in that applications are expected to have user&amp;#39;s login via the eBay website then the user is redirected to the originating website with a ticket indicating they have been authenticated. I pointed out that although this works fine for websites, it offers no solution for people trying to build desktop applications that are not browser based. The response I got indicated that eBay hasn&amp;#39;t solved this problem. &lt;/p&gt;&lt;p&gt; My main comment about this panel is that it didn&amp;#39;t meet expectations. I&amp;#39;d expected to hear a discussion about turning mashups [and maybe the web platforms they are built on] into money making businesses. What I got was a show-and-tell of various mapping mashups. Disappointing. &lt;/p&gt;&amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://www.25hoursaday.com/weblog/&quot;&gt;Dare Obasanjo aka Carnage4Life&lt;/a&gt;.)&lt;/p&gt;&lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Web 2.0 Litmus Test</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-10-04#870</atom:id>
  <atom:published>2005-10-04T19:52:58Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">I have just read &lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=e481327e-5e8b-4b93-982e-db206222a2cf&quot;&gt;Dare Obasanjo&amp;#39;s recent contribution to the Web 2.0 clarification effort&lt;/a&gt;. His post-processing of the &lt;a href=&quot;http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html?page=1&quot;&gt;Web 2.0 treatise by Tim O&amp;#39;Reilly&lt;/a&gt; certainly got me thinking about the thorny issue of attempting to define Web 2.0. As most already know, the subject of Web 2.0 definition has been contentious from the onset (unfortunately for the wrong reasons: hype over substance): &lt;cite&gt;&lt;blockquote&gt;just take a look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Talk:Web_2.0&quot;&gt;oxymoronic Wikipedia 2.0 imbroglio&lt;/a&gt; to get my drift. In retrospect, I should have called on &lt;a href=&quot;http://news.com.com/Esquire+wikis+article+on+Wikipedia/2100-1038_3-5885171.html&quot;&gt;Esquire magazine&lt;/a&gt; to get the Web 2.0 article going :-) ).&lt;/blockquote&gt;&lt;/cite&gt; Anyway, back to Dare&amp;#39;s analysis of Tim&amp;#39;s 7 Web 2.0 litmus test items listed below: &lt;blockquote&gt;&lt;cite&gt;&lt;ul&gt;&lt;li&gt; Services, not packaged software, with cost-effective scalability &lt;/li&gt;&lt;li&gt; Control over unique, hard-to-recreate data sources that get richer as more people use them &lt;/li&gt;&lt;li&gt; Trusting users as co-developers &lt;/li&gt;&lt;li&gt; Harnessing collective intelligence &lt;/li&gt;&lt;li&gt; Leveraging the long tail through customer self-service &lt;/li&gt;&lt;li&gt; Software above the level of a single device &lt;/li&gt;&lt;li&gt; Lightweight user interfaces, development models, AND business models &lt;/li&gt;&lt;/ul&gt;&lt;/cite&gt;&lt;/blockquote&gt; And trimmed down to 3 by Dare: &lt;blockquote&gt;&lt;cite&gt;&lt;ul dir=&quot;ltr&quot;&gt;&lt;li&gt;&lt;div&gt;Exposes Web services that can be accessed on any device or platform by any developer or user. RSS feeds, RESTful APIs and SOAP APIs are all examples of Web services. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Harnesses the collective knowledge of its user base to benefit users &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Leverages the long tail through customer self-service &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/cite&gt;&lt;/blockquote&gt; Well, I would like to summarize this a little further using a few excerpts from my numerous contributions to the Web 2.0 talk page on Wikipedia (albeit mildly revised; see strikeouts etc.): &lt;blockquote&gt;&lt;cite&gt;Web 2.0 is a web of &lt;strike&gt;executable&lt;/strike&gt; service invocation endpoints (those Web Services URIs) and well-formed content (all of that RSS, Atom, RDF, XHTML, etc. based Web Content out on the NET). The &lt;strike&gt;executable&lt;/strike&gt; service invocation endpoints and well-formed content are accessible via URIs. &lt;p&gt;Put in even simpler terms, Web 2.0 is an incarnation of the web defined by URIs for invoking Web Services and/or consuming or syndicating well-formed content.&lt;/p&gt;&lt;/cite&gt;&lt;p&gt;Looks like I&amp;#39;ve self edited my own definition in the process. :-)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;If you don&amp;#39;t grok this definition then consider using it as a trigger for taking a closer look at the dynamics that genuinely differentiate Web 1.0 and Web 2.0.&lt;/p&gt; In another Wikipedia &amp;quot;talk page&amp;quot; contribution (regarding &amp;quot;Web 2.0 Business Impact&amp;quot;) I attempt to answer the question posed &lt;a href=&quot;http://en.wikipedia.org/wiki/Talk:Web_2.0#Business_Impact&quot;&gt;here&lt;/a&gt;, which should also shed light on the premise of my definition above: &lt;blockquote&gt;&lt;cite&gt;&lt;p&gt;Web 1.0 was about web sites geared towards an interaction with human beings as opposed to computers. In a sense this mirrors the difference between HTML and XML.&lt;/p&gt;&lt;p&gt;A simple example (purchasing a book):&lt;/p&gt;&lt;p&gt;amazon.com provides value to you by enabling you to search and purchase the desired book online via the site http://www.amazon.com.&lt;/p&gt;&lt;p&gt;In the Web 1.0 era the process of searching for your desired book, and then eventually purchasing the book in question, required visible interaction with the site http://www.amazon.com. In today&amp;#39;s Web 2.0 based Web the process of discovering a catalog of books, searching for your particular book of interest, and eventually purchasing the book, occurs via Web Services which amazon has chosen to expose via an executable endpoint (&lt;i&gt;the Web point of presence for exposing its Web Services&lt;/i&gt;).&lt;/p&gt;&lt;p&gt;Direct interaction via http://www.amazon.com is no longer required. A weblog can quite easily associate keywords, tags, and post categories with items in amazon.com&amp;#39;s catalogs. In addition, weblogs can also act as entry points for consuming the amazon.com value proposition (making books available for purchase online), by enabling you to purchase a book directly from the weblog (assuming the blog owner is an amazon associate etc..). Now compare the impact of this kind of value discovery and consumption cycle driven by software to the same process driven by humans interaction with a static or dynamic HTML page (Web 1.0 site). &lt;/p&gt;&lt;/cite&gt;&lt;/blockquote&gt;&lt;p&gt;To surmise, Web 2.0 is a reflection of the potential of XML expressed through the collective impact of Web Services (XML based distributed computing) and Well-formed Content (Blogosphere, Wikisphere, XHTML micro content etc.). The potential simply comes down to the ability to ultimately connect events, triggers, impulses (chatter, conversation, etc.), and data in general via URIs.&lt;/p&gt;&lt;p&gt;Let&amp;#39;s never forget that XML is the reason why we have a blogosphere (RSS/Atom/RDF are applications of XML). Likewise, XML is also the reason why we have Web Services (doesn&amp;#39;t matter what format).&lt;/p&gt;&lt;p&gt;As I have stated in the past, we must go by Web 2.0 en route what is popularly referred to as the Semantic Web (it will be known by another name by the time we get there; 3.0 or 4.0, who knows or cares?). At the current time, the prerequisite activity of self annotation is in full swing on the current Web, thanks to the inflective effects of Web 2.0.&lt;/p&gt;&lt;p&gt;BTW - Would this &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=semantic%20web&amp;type=text&amp;output=html&quot;&gt;URI&lt;/a&gt; to &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=semantic%20web&amp;type=text&amp;output=html&quot;&gt;all Semantic Web related posts on my blog&lt;/a&gt; pass the Web 2.0 litmus test? Likewise, this &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=web%202.0&amp;type=text&amp;output=html&quot;&gt;URI&lt;/a&gt; to all &lt;a href=&quot;http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&amp;q=web%202.0&amp;type=text&amp;output=html&quot;&gt;Web 2.0 related posts&lt;/a&gt;? I wonder :-)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>NerdTV interviews first Macintosh programmer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-09-09#864</atom:id>
  <atom:published>2005-09-09T21:49:28Z</atom:published>
  <atom:updated>2006-07-21T07:23:28.000001-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://radio.weblogs.com/0001011/2005/09/09.html#a11066&quot;&gt;NerdTV has first Macintosh programmer&lt;/a&gt;: &amp;quot;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.pbs.org/cringely/nerdtv/&quot;&gt;NerdTV has Andy Hertzfield&lt;/a&gt;, the first Macintosh programmer.... &lt;/p&gt;&lt;p&gt;(Via &lt;a href=&quot;http://radio.weblogs.com/0001011/&quot;&gt;Scobleizer: Microsoft Geek Blogger&lt;/a&gt;.)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://www.pbs.org/hplink/redir/http://distribution.nerdtv.net/video/NTV001/ntvjuicy001.mp4&quot;&gt;Here&lt;/a&gt; is the juicy excerpt that covers the issue of &amp;quot;Bill Gates, Microsoft and Taste..&amp;quot; :-) Very funny!&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Regurgitating an old rant (Encoding, XForms, and SOAP/XML-RPC)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-08-24#862</atom:id>
  <atom:published>2005-08-24T07:56:52Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://copia.ogbuji.net/blog/2005/08/19#BinaryEncodingAndXMLRPCs&quot;&gt;Regurgitating an old rant (Encoding, XForms, and SOAP/XML-RPC)&lt;/a&gt;: &amp;quot; &lt;/p&gt;&lt;p&gt;&lt;!--keywords: xforms,soap,rest,webservices,encoding --&gt;&lt;/p&gt; &lt;p&gt;I ran into two work-related problems today that left me feeling like there are some aspects of two very recent (Web 2.0-esque if we wish to join the buzzword orgy of late) architectures (REST/Services and XForms) that are problematic:&lt;/p&gt; &lt;h3&gt;Demonstrating an Achilles Heel Of XML Messaging&lt;/h3&gt; &lt;p&gt;XML as a medium for remote communication (evangelized more with WSDL-related architectures than in &lt;a href=&quot;http://www.xfront.com/REST.html&quot;&gt;REST&lt;/a&gt;) has over-stated its usefullness in at least one concrete regard, in my estimation. I&amp;#39;ve had a hard time taking most of the architectural arguments on the pros/cons of SOAP/XML-RPC versus REST seriously because it seems to be nothing more than buzzword &lt;a href=&quot;http://blogs.msdn.com/dareobasanjo/archive/2005/03/22/400372.aspx&quot;&gt;warfare&lt;/a&gt;. However, I recently came across a concrete, real world example of the pitfalls of implementing certain remote service needs on XML-based communication mediums (such as SOAP/XML-RPC).&lt;/p&gt; &lt;p&gt;If the objects/resources you wish to manipulate at the service endpoints are run of the mill (consider the standard cliche purchase order example(s)) then the benefits of communicating in XML is obvious: portability, machine readability, extensibility, etc.. However consider the scenario (which I face) in which the objects/resources you wish to manipulate are XML documents themselves! This scenario seems to work to the disadvantage of the communication architecture.&lt;/p&gt; &lt;p&gt;Lets say you have a repository at one end (which I do) that has XML documents you wish to manipulate remotely. How do you update the documents? I&amp;#39;ve discussed this &lt;a href=&quot;http://copia.ogbuji.net/blog/2005-05-02/xdashboard&quot;&gt;before&lt;/a&gt; (see: &lt;em&gt;Base64 encoded XML content from an XForm&lt;/em&gt;) so I&amp;#39;ll spare the details of the problem. However, I will mention that in retrospect this particular problem further emphasizes the advantage of a MinimalistRemoteProcedureCall (MRPC) approach - MRPC is my alternative acronym for REST :).&lt;/p&gt; &lt;p&gt;Consider the setContent message:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;[SOAP:Envelope] [SOAP:Body] [foo:setContent] [path] .. path to document [/path] [src]... new document as a fragment ...[/src] [/foo:setContent] [/SOAP:Body] [/SOAP:Envelope] &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Notice that the location of the resource we wish to update is embedded within the message transmitted (via SOAP), which is transported on top of another communication medium (HTTP) that already has the neccessary semantics for saying the same thing:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Set the content of the resource identified by a path&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;In the SOAP scenario, the above message is delivered to a single service endpoint (which serves as an external gateway for &lt;em&gt;all&lt;/em&gt; SOAP messages) which has to then parse the &lt;em&gt;entire&lt;/em&gt; XML message in order to determine the method invoked (setContent in this case) and the parameters passed to it (both of which are only header information on a document that consists mostly of the new document).&lt;/p&gt; &lt;p&gt;However, in the MRPC scenario this service would be invoked simply as an HTTP PUT &lt;a href=&quot;http://www.w3.org/Protocols/HTTP/Request.html&quot;&gt;request&lt;/a&gt; sent &lt;em&gt;directly&lt;/em&gt; to the XML document we wish to update:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;Method: PUT Protocol: HTTP/1.0 URI: http://remoteHost:port/&amp;lt; .. path to XML document ..&amp;gt; CONTENT: ... new document in it&amp;#39;s entirety .. &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Here, there is no need for a service middleman to interpret the service requested (and no need to parse a large XML document that contains another document embedded as a fragment). The HTTP request by itself specifies everything we need and does it using HTTP alone as the communication medium. This is even more advantageous when the endpoint is a repository that has a very well defined URI scheme or general addressing mechanism for it&amp;#39;s resources (which 4Suite &lt;a href=&quot;http://uche.ogbuji.net/tech/akara/nodes/2003-10-03/ftss&quot;&gt;does&lt;/a&gt;, the repository in my case).&lt;/p&gt; &lt;h3&gt;The Headaches of Base 64 Encoding in XForms&lt;/h3&gt; &lt;p&gt;Since i didn&amp;#39;t have the option of a REST-based service architecture (the preferred solution) I was relegated to having to base64 encode the new XML content and embed it within the XML message submitted to the service endpoint, like so:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;[SOAP:Envelope] [SOAP:Body] [foo:setContent] [path] .. path to document [/path] [src]... base64 encoding of new document&amp;#39;s serialization ...[/src] [/foo:setContent] [/SOAP:Body] [/SOAP:Envelope] &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Base 64 seemed like the obvious encoding mechanism mostly because it would seem from an interpretation of the XForms &lt;a href=&quot;http://www.w3.org/TR/xforms/slice8.html#ui-upload&quot;&gt;specification&lt;/a&gt; that due to the data binding restrictions of the Upload Control when bound to instances of type xsd:base64Binary a conforming XForms processor is responsible for having the capability to encode to Base 64 &lt;em&gt;on the fly&lt;/em&gt;. Now, this is fine and dandy if the XML content you wish to submit is retrieved from a file on the local file system of the client communicating remotely with the server. However, what if you wish to use an instance (a live DOM) as the source for the update? This seems like a very reasonable requirement given that one of the primary motivation of XForms is to encourage the use of XML instances as the user interface data model (providing a complete solution to the &amp;#39;M&amp;#39; in the MVC architecture.)&lt;/p&gt; &lt;p&gt;However:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;There is no mechanism within XForms for serialising live instances (there needs to be such a standard so implementations don&amp;#39;t create their own proprietary mechanisms)&lt;/li&gt; &lt;li&gt;There is no mechanism within XForms for explicitely encoding text in some portable binary format (which is incredibly useful IMHO - as shown above)&lt;/li&gt; &lt;/ul&gt; &amp;quot; &lt;p&gt;(Via &lt;a href=&quot;http://copia.ogbuji.net/blog/&quot;&gt;Uche Ogbuji&lt;/a&gt;.)&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>World Wide Web of Junk</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-05-20#849</atom:id>
  <atom:published>2005-05-20T23:07:38Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;div align=&quot;left&quot;&gt;After digesting &lt;a href=&quot;http://obliqueangle.blogspot.com/&quot;&gt;Oblique Angle&lt;/a&gt;&amp;#39;s post titled: &lt;a href=&quot;http://obliqueangle.blogspot.com/2005/05/world-wide-web-of-junk.html&quot;&gt;World Wide Web of Junk&lt;/a&gt;, it was nice to be reassured that I am not part of a shrinking minority of increasingly peturbed Web users. The post excerptÂ below is what compelled me to contributeÂ some of my thoughts about the current state of the Web and a future &amp;quot;Semantic Web&amp;quot;.&lt;/div&gt; &lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;div align=&quot;left&quot;&gt;The value of the Internet as a repository of useful information is very low. &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/&quot;&gt;Carl Shapiro &lt;/a&gt;in &lt;a href=&quot;http://www.inforules.com/&quot;&gt;âInformation Rulesâ&lt;/a&gt; suggests that the amount of actually useful information on the Internet would fit within roughly 15,000 books, which is about half the size of an average mall bookstore. To put this in perspective: there are over 5 billion unique, static &amp;amp; publicly accessible web pages on the www. Apparently Only 6% of web sites have educational content (Maureen Henninger, &lt;a href=&quot;http://www.mja.com.au/public/bookroom/1999/mullins/mullins.html&quot;&gt;âDonât just surf the net: Effective research strategiesâ. &lt;/a&gt;UNSW Press). Even of the educational content only a fraction is of significant informational value.&lt;/div&gt;&lt;/blockquote&gt; &lt;div dir=&quot;ltr&quot; align=&quot;left&quot;&gt;Noise is taking over the Web at an alarming rate (to be expected in a sense ), and even though &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/&quot;&gt;Tim Berners-Lee&lt;/a&gt; (TBL) had the foresight to create the Web,Â many see nothing butÂ futilityÂ in hisÂ vision for a &amp;quot;Semantic Web&amp;quot; (I don&amp;#39;t!).Â  A recent exampleÂ of such commentary comes from Eric Nee&amp;#39;s CIO article, titled:Â  &lt;span class=&quot;print_article_title&quot;&gt;&lt;a href=&quot;http://www.cioinsight.com/print_article2/0,2533,a=151806,00.asp&quot;&gt;Web Future is Not Semantic, Or Overly Orderly&lt;/a&gt;. I take issue with this article because, like most (who have been bitten at least once),Â  I don&amp;#39;t like mono culture&lt;/span&gt;&lt;span class=&quot;print_article_title&quot;&gt;.Â  &lt;/span&gt;This article inadvertently promotes &amp;quot;Google Mono Culture&amp;quot;.Â  I haveÂ excerpted the more frustrating parts of this article below:&lt;/div&gt; &lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;div dir=&quot;ltr&quot; align=&quot;left&quot;&gt; &lt;p&gt;&lt;em&gt;..As Stanford students, Larry Page and Sergey Brin looked at the same problemâhow to impart meaning to all the content on the Webâand decided to take a different approach. The two developed sophisticated software that relied on other clues to discover the meaning of content, such as which Web sites the information was linked to. And in 1998 they launched Google..&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;You mean noise ranking. Now, I don&amp;#39;t think Larry and Sergey set out to do this, but Google page ranks are ultimately based on the concept of &amp;quot;Google Juice&amp;quot; (aka links). The value quotient of this algorithm is accelerating at internet speed (ironically, but naturally). Human beings are smarter than computers, we just processÂ data (not information!)Â much slower that&amp;#39;s all. Thus, we can conjure up numerous ways to bubble up the google link ranking algorithms in no time (as is the case today). &lt;/p&gt; &lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;&lt;em&gt;..What most differentiates Google&amp;#39;s approach from Berners-Lee&amp;#39;s is that Google doesn&amp;#39;t require people to change the way they post content..&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;The Semantic Web doesn&amp;#39;t require anyone to change how they post content either! It just provides a roadmap for intelligent content managment and consumption through innovative products. &lt;/p&gt;&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;&lt;em&gt;..As Sergey Brin told Infoworld&amp;#39;s 2002 CTO Forum, &amp;quot;I&amp;#39;d rather make progress by having computers under-stand what humans write, than by forcing -humans to write in ways that computers can understand.&amp;quot; In fact, Google has not participated at all in the W3C&amp;#39;s formulation of Semantic Web standards, says Eric Miller.. &lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;Semantic Content generated by next generation content managers will make more progress, and they certainly won&amp;#39;t require humans to write any differently. If anything, humans will find the process quite refreshing as and when participation is required e.g. clickingÂ bookmarklets associated with tagging services such asÂ &amp;#39;&lt;a href=&quot;http://del.icio.us&quot;&gt;del.icio.us&lt;/a&gt;&amp;#39;, &lt;a href=&quot;http://de.lirio.us&quot;&gt;&amp;#39;de.lirio.us&lt;/a&gt;&amp;#39;, or &lt;a href=&quot;http://www.unalog.com&quot;&gt;Unalog&lt;/a&gt; and others. But this is only the beginning, if I can click on a bookmarklet to post this blog post to a tagging service, then why wouldn&amp;#39;t I be able to incorporate the &amp;quot;tag service post&amp;quot; into the same process that saves my blog post (the post is content that ends up in a &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;content management system&lt;/a&gt; aka blog server)? &lt;/p&gt;&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;&lt;em&gt;Yet Google&amp;#39;s impact on the Web is so dramatic that it probably makes more sense to call the next generation of the Web the &amp;quot;Google Web&amp;quot; rather than the &amp;quot;Semantic Web.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;Ah! so you think weÂ really want the noisy &amp;quot;Google Web&amp;quot; as opposed to a federation of distributed Information- and Knowledgbases ala the &amp;quot;Semantic Web&amp;quot;? I don&amp;#39;t think so somehow!&lt;/p&gt; &lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;Today we are generally excited about &amp;quot;tagging&amp;quot; but fail to see its correlation with the &amp;quot;Semantic Web&amp;quot;, somehow? I have said this before, and I will say it again, the &amp;quot;Semantic Web&amp;quot; is going to be self-annotated by humansÂ with theÂ aid ofÂ intelligent and unobtrusive annotation technology solutions. These solutions willÂ provide context and purposeÂ by using ourÂ our social essence as currency. The annotationÂ effort will be subliminal, thereÂ won&amp;#39;t be a &amp;quot;Semantic Web Day&amp;quot; parade or anything of the like.Â It will appear before us all, in all its glory, without any fanfare.Â Funnily enough, weÂ might not even call it &amp;quot;The Semantic Web&amp;quot;, who cares? But it will have the distinct attributes of being very &amp;quot;Quiet&amp;quot; and highly &amp;quot;Valuable&amp;quot;; withÂ no burden onÂ &amp;quot;how weÂ write&amp;quot;, but constructiveÂ burden on &amp;quot;why weÂ write&amp;quot; as part of the content contributionÂ process (less Google/Yahoo/etc juiceÂ chasingÂ for more knowledgeÂ assembly and exchange). &lt;/p&gt;&lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;We are social creatures at our core. The Internet and Web have collectively reduced the connectivity hurdles thatÂ once made social network oriented solutions implausible. The eradication ofÂ these hurdles ultimately feeds the very impulses that trigger the critical self-annotation that is the basis of my fundamental belief in the realization of TBL&amp;#39;s Semantic Web vision. &lt;/p&gt;&lt;p dir=&quot;ltr&quot; align=&quot;left&quot;&gt;Â &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>When did Blogrolls Become Evil?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-05-16#846</atom:id>
  <atom:published>2005-05-16T18:34:33Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;While I&#39;m still trying to figure this out, you should read Shelley&#39;s original post, &lt;a href=&quot;http://weblog.burningbird.net/archives/2005/03/15/steve-levy-dave-sifrey-and-nz-bear-you-are-hurting-us/&quot;&gt;Steve Levy, Dave Sifry, and NZ Bear: You are Hurting Us&lt;/a&gt; and see whether you think the arguments against blogrolls are as wrong as I think they are. &lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.25hoursaday.com/weblog/&quot;&gt;Dare Obasanjo aka Carnage4Life&lt;/a&gt;]&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Shelley&#39;s &lt;a href=&quot;http://weblog.burningbird.net/archives/2005/03/15/steve-levy-dave-sifrey-and-nz-bear-you-are-hurting-us/&quot;&gt;post&lt;/a&gt; does bring attention to important issues relating to the blogosphere. It&amp;nbsp;touches&amp;nbsp;on how a simple matter can&amp;nbsp;get complex very quickly. All of a sudden what was so simple, becomes pretty complex.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Blogrolls are completely ambiguous.&amp;nbsp;We&amp;nbsp;use them in a variety of ways, but the inherent ambiguity leads to misinterpretation, and in some cases it breeds&amp;nbsp;dysfunctionality of the kind Shelley alludes to in this excerpt:&lt;/div&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;div align=&quot;left&quot;&gt; &lt;p&gt;&lt;em&gt;&quot;..The Technorati Top 100 is too much like Google in that Ã¢ÂÂnoiseÃ¢ÂÂ becomes equated with Ã¢ÂÂauthorityÃ¢ÂÂ. Rather than provide a method to expose new voices, your list becomes nothing more than a way for those on top to further cement their positions. More, it can be easily manipulated with just the release of a piece of software..&quot;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;When blogrolls started to appear on blog home pages&amp;nbsp;there was no blogosphere as we know it today (most viewing was browser as opposed to aggregator based). Blogrolls where a great way of bootstrapping a&amp;nbsp;burgeoning blogosphere (a kind of &quot;look who&#39;s blogging now&quot; symbol). The issue of Blogrolls being dynamic, static, or genuinely meaningful&amp;nbsp;was unimportant, unfortunately. In a sense they were simple, static, and in today&#39;s&amp;nbsp;parlance: fashionably sloppy.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Today, we have a very extensive and lively blogosphere, it is now mainstream, and has basically become a data source in its own right; introducing&amp;nbsp;challenges&amp;nbsp;exemplified by our inability to clearly state the meaning and purpose of a blogroll.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;The question of &quot;blogroll meaning&quot; may result in alternative use of&amp;nbsp;&quot;&lt;a href=&quot;http://developers.technorati.com/wiki/attentionxml&quot;&gt;attention.xml&lt;/a&gt;&quot; which has the prime goal of&amp;nbsp;addressing challenges associated with&amp;nbsp;tracking and reading posts from a large blog subscription pool. Why not use this as the basis for generating less ambiguous blogrolls?&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;The blogosphere has been an important catalyst for understanding the current Web 2.0 inflection as demonstrated by the transition from the Web Browsers to&amp;nbsp;Feed Aggregators &amp;amp; Readers&amp;nbsp;for reading and tracking blogs (blog home pages are secondary aspects of the interaction with any given blog these days).&amp;nbsp;Unfortunately, there is a general perception that Web 2.0 and the Semantic Web are mutually exclusive, primarily&amp;nbsp;due to&amp;nbsp;the perceived lofty goals of the latter (what&#39;s wrong with being challenged?). From my vantage point, I continue to see Web 2.0 as a necessary infrastructure component for the Semantic Web that will ultimately provide&amp;nbsp;context for&amp;nbsp;understanding why it&#39;s&amp;nbsp;so&amp;nbsp;important. &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;The Semantic Web&amp;nbsp;will&amp;nbsp;certainly aid in our ability to infer or deduce the meaning of a blog owner&#39;s published blogroll&amp;nbsp;since it provides a&amp;nbsp;vehicle for conveying such meaning in human and machine consumable forms. Until then, I remain stumped. I see where Shelley is coming from,&amp;nbsp;but I don&#39;t know what to do with my blogroll right this moment :-) On the other hand I certainly know what I am planning to do with my real blogroll&amp;nbsp;(not the snapshot you see today) in the not too distant future.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Point, Counterpoint: Mac OS X Is Great for Fortysomething Unix Hackers</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-05-01#828</atom:id>
  <atom:published>2005-05-01T14:31:01Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">There has been a lot of well deserved attention going the way of &quot;Mac OS X Tiger&quot;. A&amp;nbsp;the current time, a lot of&amp;nbsp;this attention tends to focus on the consumer constituency comprised of Aunt Milly et al, designers, and new media aficionados. The &lt;a href=&quot;http://daringfireball.net/&quot;&gt;Daring Fireball&lt;/a&gt;&amp;nbsp;posts an article titled:&amp;nbsp;&lt;a href=&quot;http://daringfireball.net/2005/04/point_counterpoint&quot;&gt;Point, Counterpoint: Mac OS X Is Great for Fortysomething Unix Hackers&lt;/a&gt; . This particular&amp;nbsp;post applies to OpenLink Software in general&amp;nbsp;across a myriad of fronts, especially the essence of this excerpt: &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;On the surface, Grahamâs piece seems like a nice pat on the back to the Mac platform. But thereâs an implication in his piece that the worldâs most prodigiously talented programmers are only now switching (or switching back) to the Mac, when in fact some of them have been here all along. GUI programming is hard, and for GUI programmers, the Mac has always been, &lt;a href=&quot;http://www.shapeofdays.com/2005/01/interview_with_.html&quot;&gt;in Brent Simmonsâs words&lt;/a&gt;, âThe Showâ.&lt;/p&gt; &lt;p&gt;I.e. the idea that by the mid-â90s the Mac user base had been whittled down to âgraphic designers and grandmasâ is demonstrably false â someone must have been writing the software the designers and grandmas were using, no? â but I donât think itâs worth pressing the point, because I suspect it wasnât really what Graham meant to imply. And the main thrust of his point is true: there is a certain class of hackers â your prototypical Unix nerds â who not only werenât using Macs a decade ago, but whose antipathy toward Macs was downright hostile. And it is remarkable that these hackers are now among Mac OS Xâs strongest adherents.&lt;/p&gt; &lt;p&gt;Itâs another sign of Mac OS Xâs dual nature: from the perspective of your typical user (and particularly long-time Mac users), it is the Mac OS with a modern Unix architecture encapsulated under the hood; from the perspective of the hackers Graham writes of, it is Unix with a vastly superior GUI.&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;a href=&quot;http://daringfireball.net/2005/04/point_counterpoint&quot;&gt;Read on....&lt;/a&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Ajax, Hard Facts, Brass Tacks ... and Bad Slacks</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-04-29#825</atom:id>
  <atom:published>2005-04-29T20:11:22Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;By &lt;a href=&quot;http://internet-apps.blogspot.com/&quot;&gt;Mark Bierbeck&lt;/a&gt;:&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://internet-apps.blogspot.com/2005/04/ajax-hard-facts-brass-tacks-and-bad.html&quot;&gt;Ajax, Hard Facts, Brass Tacks ... and Bad Slacks&lt;/a&gt; &lt;/p&gt; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;A number of people have contacted me recently about Ajax [&lt;a href=&quot;about:blank#20050426-1&quot;&gt;1&lt;/a&gt;] -- a catchy name -- coined to provide an umbrella term for a particular group of technologies used to build web applications. The use of the word comes from Jesse James Garrett in a recent blog [&lt;a href=&quot;about:blank#20050426-2&quot;&gt;2&lt;/a&gt;], and describes a class of internet applications written using JavaScript in a browser. By using JavaScript these apps have full access to the DOM, and as a consequence are able to make all sorts of changes to the page that the user is interacting with, without having to go back to the server.&lt;br&gt;&lt;br&gt;When the application &lt;em&gt;does&lt;/em&gt; need to go back to the server -- to deliver some data and get a response -- the idea is to keep the DOM intact so that the user has a smooth experience. This means that all communication with the server needs to take place outside of the normal HTML form mechanism, since this would obviously replace the current page.&lt;br&gt;&lt;br&gt;Ajax addressed this, with what it calls &#39;asynchronous-JavaScript&#39; -- retrieve only the data you need, and then directly manipulate the DOM to get the effect you want. &#39;Asynchronous-JavaScript&#39; accounts for the first few letters of the name, with the remainder being the obligatory &#39;X&#39; for XML (although XML is not really key to this technology, and many of the applications that are often cited as Ajax-apps don&#39;t use XML as the data medium).&lt;br&gt;&lt;br&gt; &lt;h2&gt;Buzzing&lt;/h2&gt;The response to Ajax has been pretty positive. In fact the only negatives have been either to suggest a change of name or to moan a little that &quot;I&#39;ve been doing this for years, why hasn&#39;t anyone noticed me?&quot; (I won&#39;t put any links to those sort of articles, since they are a little embarassing -- after all, &lt;em&gt;everyone&lt;/em&gt; has been doing this for years!)&lt;br&gt;&lt;br&gt;Anyway, despite a couple of sour-pusses, the software community is almost universally excited, and the blog wires have glowed over the last few months with descriptions of Google Maps, GMail, and so on.&lt;br&gt;&lt;br&gt;Just about everyone who has asked me about Ajax has expected me to be disappointed. Surely, they say, this makes the case for XForms weaker? But my answer is the exact opposite -- XForms and standards-based web applications are in every way superior to the techniques described as Ajax, since the whole &lt;em&gt;raison d&#39;ÃÂªtre&lt;/em&gt; of XForms and XHTML 2 is to address the very problems that Ajax-like techniques suffer from.&lt;br&gt;&lt;br&gt;That may come across as a little bold...so perhaps I should explain.&lt;br&gt;&lt;br&gt; &lt;h2&gt;From Workaround to Feature&lt;/h2&gt;We&#39;ve all been using HTML mark-up for years now, and the language hasn&#39;t changed much in that time. As a consequence, the increasing demand for more complex web-pages has meant that the balance in our documents has shifted increasingly from vanilla mark-up to &#39;the workaround&#39;. &lt;br&gt;&lt;br&gt;Whether it&#39;s providing tooltips, dynamic/repeating data sections, or small portions of our page that change without having to request a new document, we&#39;ve generally had to dive into script. But the shift from mark-up to script has meant that the mark-up language itself has been relegated to a mere carrier for programs.&lt;br&gt;&lt;br&gt;Unfortunately this means that no-one gains -- it&#39;s annoying for the programmer to have to produce ever more convoluted spaghetti JavaScript to meet the demands of their audience, but it&#39;s also annoying for the non-programmer, who probably only wants a tooltip. And its particularly annoying for those who want to use documents on the web for more ambitious applications to find that most of the important stuff in a document is hidden away in script.&lt;br&gt;&lt;br&gt;All is not lost, however, since this collection of &#39;workarounds&#39; provides a rich source of real-life patterns that appear for authors and programmers, time and again. They may be workarounds, but they are much-needed ones.&lt;br&gt;&lt;br&gt;The aim of the new generation of languages like XForms and XHTML 2 is to take these &#39;common patterns&#39; and turn them into mark-up. Just like the HTML elements &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; pack an enormous amount of functionality into deceptively simple tags, so too can new declarative mark-up capture patterns that have emerged &#39;in the wild&#39;.&lt;br&gt;&lt;br&gt;(Note that this is the opposite of so-called folksonomies, where popular practice that occurs in the wild is left it the wild, and codification is regarded as a dirty word.)&lt;br&gt;&lt;br&gt; &lt;h2&gt;The XML HTTP Request Object&lt;/h2&gt;Let&#39;s take the much talked about XML HTTP Request Object (XMLHttpRequest). If you are not familiar with it, it was originally part of Microsoft&#39;s XML parser, and allows you to send and receive data outside of the normal HTML form processing. Since it&#39;s a handy feature to have in a client, other browsers have followed suit and it&#39;s now becoming the &#39;standard&#39; way to communicate with servers without messing up your page. It&#39;s a corner-stone of Ajax. (A good summary with examples is on Jim Ley&#39;s jibbering.com site [&lt;a href=&quot;about:blank#20050426-3&quot;&gt;3&lt;/a&gt;].)&lt;br&gt;&lt;br&gt;But...we need to be clear that we&#39;re using XMLHttpRequest to get round a weakness in HTML forms. The problem we have is that even if you know that a server is about to give you some data, and the &lt;em&gt;server&lt;/em&gt; knows it&#39;s about to give you some data, there&#39;s no way to tell your &lt;em&gt;form&lt;/em&gt; that -- instead your page will be wiped out and replaced with whatever the server sends back.&lt;br&gt;&lt;br&gt;Of course, constant round-tripping doesn&#39;t make it completely impossible to produce applications, and a lot of books and airline tickets are bought every day without the facility to get &#39;just the data&#39;. But we all know it would reduce network traffic and create a smoother user experience if we could just send a list of books or seats, rather than a whole new page.&lt;br&gt;&lt;br&gt;Over the years applications such as Microsoft&#39;s &lt;em&gt;Outlook Web Access&lt;/em&gt; (OWA), have had to step around the HTML form to get just the data they need. But, whilst OWA considerably predates GMail, until the advent of XMLHttpRequest, the techniques used were quite difficult to manage. (Google Suggest is often cited as a good example of an Ajax-app, but interestingly merges old and new techniques; XMLHttpRequest is used to obtain a piece of JavaScript from a server, and this script contains a call to a client-side function, but using server-provided parameters. It&#39;s one of the techniques you might have used in the past with a hidden frame.)&lt;br&gt;&lt;br&gt;So as many have said on their blogs, XMLHttpRequest is not a newly devised technique, but rather a generally accepted replacement for a very old technique. But ultimately that technique is a workaround since the &lt;em&gt;real&lt;/em&gt; problem is that HTML forms will always replace the current page.&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;h2&gt;Beyond HTML Forms&lt;/h2&gt;Whilst XMLHttpRequest gives us a way to get data to and from the server without losing our document, we&#39;ve unfortunately thrown the baby out with the bath-water; whatever the weaknesses of HTML forms, you have to acknowledge that they are pretty simple to use. Here&#39;s an abbreviated version of Google&#39;s search form (note that the mark-up is HTML, not XML):&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;&amp;lt;form action=/search name=f&amp;gt;&lt;br&gt; &amp;lt;input type=hidden name=hl value=en&amp;gt;&lt;br&gt; &amp;lt;input maxLength=256 size=55 name=q value=&quot;&quot;&amp;gt;&lt;br&gt; &amp;lt;input type=submit value=&quot;Google Search&quot; name=btnG&amp;gt;&lt;br&gt;&amp;lt;/form&amp;gt;&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;As you can see, the simple problem with HTML forms is that we don&#39;t say anything about where the data should go when we&#39;ve received it from the server. The assumption in HTML of old is that we are just doing a kind of &#39;super-navigation&#39;, and no matter what we send to the server, it will only ever give us back a new web-page. (To put it a different way, you could say that &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; are pretty much the same thing.)&lt;br&gt;&lt;br&gt;To see how this problem is resolved, let&#39;s code the same Google search in XForms:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;&amp;lt;xf:submission id=&quot;sub-search&quot;&lt;br&gt; action=&quot;http://www.google.com/complete/search?hl=en&quot;&lt;br&gt; method=&quot;get&quot; separator=&quot;&amp;amp;&quot;&lt;br&gt; replace=&quot;all&quot;&lt;br&gt;/&amp;gt;&lt;br&gt; &lt;br&gt;&amp;lt;xf:input ref=&quot;q&quot;&amp;gt;&lt;br&gt; &amp;lt;xf:label&amp;gt;Query:&amp;lt;/xf:label&amp;gt;&lt;br&gt;&amp;lt;/xf:input&amp;gt;&lt;br&gt; &lt;br&gt;&amp;lt;xf:submit submission=&quot;sub-search&quot;&amp;gt;&lt;br&gt; &amp;lt;xf:label&amp;gt;Google Search&amp;lt;/xf:label&amp;gt;&lt;br&gt;&amp;lt;/xf:submit&amp;gt;&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;Although it will do exactly the same -- right down to replacing the current page -- it&#39;s a little different to the HTML mark-up. But the changes in structure have given us some major benefits, from accessible labels on our form controls, to the possibility of many different submissions for the same data.&lt;br&gt;&lt;br&gt;But what it has also given us is the possibility of solving our data update problem. The &lt;code&gt;replace&lt;/code&gt; attribute is actually optional in XForms, but I showed it in the previous mark-up so that you can compare it to this:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;&amp;lt;xf:submission id=&quot;sub-search&quot;&lt;br&gt; action=&quot;http://www.google.com/complete/search?hl=en&quot;&lt;br&gt; method=&quot;get&quot; separator=&quot;&amp;amp;&quot;&lt;br&gt; replace=&quot;&lt;span style=&quot;COLOR: red&quot;&gt;instance&lt;/span&gt;&quot;&lt;br&gt;/&amp;gt;&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;In this example the data returned from the server will just replace the instance that was sent, and our page will remain completely intact. (The &lt;code&gt;replace&lt;/code&gt; attribute can take the values &lt;code&gt;all&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, or &lt;code&gt;none&lt;/code&gt;.)&lt;br&gt;&lt;br&gt;I won&#39;t show the full equivalent using XMLHttpRequest since it&#39;s pretty large, but I&#39;ll give a flavour of it. (Jim Ley&#39;s page -- referenced earlier -- shows how to search Google with XMLHttpRequest.)&lt;br&gt;&lt;br&gt; &lt;h3&gt;The Script Version&lt;/h3&gt;First we need to create an XMLHttpRequest object, but we need to do it in such a way that it will work on both Mozilla and IE:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;var req;&lt;br&gt; &lt;br&gt;function loadXMLDoc(url) {&lt;br&gt; // native XMLHttpRequest object&lt;br&gt; if (window.XMLHttpRequest) {&lt;br&gt; req = new XMLHttpRequest();&lt;br&gt; req.onreadystatechange = readyStateChange;&lt;br&gt; req.open(&quot;GET&quot;, url, true);&lt;br&gt; req.send(null);&lt;br&gt; // IE/Windows ActiveX version&lt;br&gt; } else if (window.ActiveXObject) {&lt;br&gt; req = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);&lt;br&gt; if (req) {&lt;br&gt; req.onreadystatechange = readyStateChange;&lt;br&gt; req.open(&quot;GET&quot;, url, true);&lt;br&gt; req.send();&lt;br&gt; }&lt;br&gt; }&lt;br&gt;}&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;When a document is loaded via this function, the &lt;code&gt;readyStateChange()&lt;/code&gt; method is invoked:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;function readyStateChange() {&lt;br&gt; // &#39;4&#39; means document &quot;loaded&quot;&lt;br&gt; if (req.readyState == 4) {&lt;br&gt; // 200 means &quot;OK&quot;&lt;br&gt; if (req.status == 200) {&lt;br&gt; // do something here&lt;br&gt; } else {&lt;br&gt; // error processing here&lt;br&gt; }&lt;br&gt; }&lt;br&gt;}&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;From a &lt;em&gt;programming&lt;/em&gt; point of view, I guess you could say that there isn&#39;t a lot wrong with this, but then from a programming point of view there wasn&#39;t a lot wrong with Z80 or 6502 assembly languages -- I just wouldn&#39;t want to go back to them!&lt;br&gt;&lt;br&gt;But the most important issue is that we have lost the very thing that was responsible for HTML&#39;s success -- the use of simple, clear, declarative mark-up, in which we simply state our intent, without having to write a program to do it for us. After all, the web took off because authors only had to master &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; in order to enter the exciting new world of &#39;hypertext&#39; -- but XMLHttpRequest raises the bar again, and takes us right back into the heart of geek-world.&lt;br&gt;&lt;br&gt; &lt;h2&gt;Beyond XMLHttpRequest&lt;/h2&gt;But in keeping with the principle that I outlined above -- that XForms and XHTML 2 try to provide mark-up for commonly existing design patterns -- let&#39;s see if there are any other patterns that XMLHttpRequest has thrown up.&lt;br&gt;&lt;br&gt;You will have noticed in the earlier script that we had tests for success and failure:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;if (req.status == 200) {&lt;br&gt; // do something here&lt;br&gt;} else {&lt;br&gt; // error processing here&lt;br&gt;}&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;XForms provides the same functionality through the use of events -- on success do this, on failure do that. This is far more powerful, since it hides the protocol-specific aspects of this code (&quot;200&quot; may be &#39;success&#39; for HTTP, but it isn&#39;t &#39;success&#39; when saving data to the hard-drive or sending an email).&lt;br&gt;&lt;br&gt;XForms uses declarative mark-up to express those events, which again dramatically reduces coding:&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;br&gt;&amp;lt;xf:action ev:observer=&quot;sub-search&quot; ev:event=&quot;xforms-submit-error&quot;&amp;gt;&lt;br&gt; &amp;lt;xf:message level=&quot;modal&quot;&amp;gt;&lt;br&gt; Submission failed&lt;br&gt; &amp;lt;/xf:message&amp;gt;&lt;br&gt;&amp;lt;/xf:action&amp;gt;&lt;br&gt; &lt;/pre&gt;&lt;/code&gt;&lt;br&gt;But there&#39;s lots, lots more in the &lt;code&gt;submission&lt;/code&gt; part of XForms:&lt;br&gt; &lt;ul&gt;&lt;br&gt; &lt;li&gt;it can provide full XML Schema validation before submitting the data;&lt;/li&gt;&lt;br&gt; &lt;li&gt;there is built in support for numerous types of serialisation, such as &lt;code&gt;multipart/related&lt;/code&gt;;&lt;/li&gt;&lt;br&gt; &lt;li&gt;abstract methods are used so the code is independent of protocol. For example, since &lt;code&gt;put&lt;/code&gt; means the same thing whether the target URL begins &lt;code&gt;http:&lt;/code&gt; or &lt;code&gt;file:&lt;/code&gt;, a form with relative paths will run unchanged on a local machine or a web server;&lt;/li&gt;&lt;br&gt; &lt;li&gt;it&#39;s extensible -- in formsPlayer 2.0 we have used the &lt;code&gt;submission&lt;/code&gt; element to read and write from an ADO database, allowing programmers to convert forms from using the web to using a local database by doing nothing more than changing a single target URL. (Try doing that with XMLHttpRequest!)&lt;/li&gt;&lt;br&gt;&lt;/ul&gt;&lt;br&gt;&lt;br&gt;The &lt;code&gt;submission&lt;/code&gt; part of XForms is in fact so powerful that it will eventually form a separate specification, for use in other languages.&lt;br&gt;&lt;br&gt; &lt;h2&gt;From Patterns to Mark-up&lt;/h2&gt;And there are plenty more patterns out there that were crying out to be turned into mark-up, and which are now incorporated into XForms and XHTML 2. Do you remember the days when if we wanted a tooltip that contained mark-up -- perhaps an image, or bold text -- we had to use a carefully placed &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;, a CSS &lt;code&gt;display: none;&lt;/code&gt;, a &lt;code&gt;mouseover&lt;/code&gt; event handler and a timer? Nowadays the programmer with better things to do than work with spaghetti-JavaScript just uses the XForms &lt;code&gt;&amp;lt;hint&amp;gt;&lt;/code&gt; element, and for free they get platform independence (and therefore accessibility), as well as the ability to insert any mark-up.&lt;br&gt;&lt;br&gt;And what about the days when we had to write code to open up a text-to-speech engine, and then invoke the various methods on the object to get it to speak its mind? Nowadays who wouldn&#39;t just use a CSS property on their XForms&#39; &lt;code&gt;message&lt;/code&gt;s?&lt;br&gt;&lt;br&gt; &lt;h3&gt;Bad Slacks&lt;/h3&gt;And do you remember...I&#39;m sorry, this one always makes me laugh...do you remember how we used to write lots of JavaScript to recalculate the shopping-cart when a new item was added? I know it&#39;s hard to believe -- it&#39;s like looking at old photos of us all wearing flares. Anyway, thank God for straight trousers and the XForms dependency-engine.&lt;br&gt;&lt;br&gt;&lt;img border=&quot;1&quot; src=&quot;http://www.npr.org/programs/morning/features/2004/sep/fashion_week/satfever_nano140.jpg&quot;&gt; &lt;br&gt;But enough of the good old days, the days of assembly language, C and JavaScript...let&#39;s stick with the new.&lt;br&gt;&lt;br&gt; &lt;h2&gt;Do Try This at Home&lt;/h2&gt;&lt;br&gt;To round all of this off, we&#39;ll take a look at Google Suggest, and we&#39;ll use XForms to implement it. I&#39;ll walk through the demo in a separate blog [&lt;a href=&quot;about:blank#20050426-4&quot;&gt;4&lt;/a&gt;] so that this one doesn&#39;t get too cluttered -- and hopefully by disecting this simple but useful application, we can show how declarative mark-up scores over scripting.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a name=&quot;20050426-1&quot;&gt;[1] Will AJAX help Google clean up?, c|net, &lt;a href=&quot;http://news.com.com/Will+AJAX+help+Google+clean+up/2100-1032_3-5621010.html&quot;&gt;http://news.com.com/Will+AJAX+help+Google+clean+up/2100-1032_3-5621010.html&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;a name=&quot;20050426-2&quot;&gt;[2] Ajax: A New Approach to Web Applications, Jesse James Garrett, Adaptive Path blog, &lt;a href=&quot;http://www.adaptivepath.com/publications/essays/archives/000385.php&quot;&gt;http://www.adaptivepath.com/publications/essays/archives/000385.php&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;a name=&quot;20050426-3&quot;&gt;[3] Using the XML HTTP Request object, &lt;a href=&quot;http://jibbering.com/2002/4/httprequest.html&quot;&gt;http://jibbering.com/2002/4/httprequest.html&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;a name=&quot;20050426-4&quot;&gt;[4] &quot;Google Suggest&quot; Using XForms, &lt;a href=&quot;http://internet-apps.blogspot.com/2005/04/google-suggest-using-xforms.html&quot;&gt;http://internet-apps.blogspot.com/2005/04/google-suggest-using-xforms.html&lt;/a&gt; &lt;br&gt;&lt;br&gt;Tags: &lt;a href=&quot;http://technorati.com/tag/xforms&quot; rel=&quot;tag&quot;&gt;xforms&lt;/a&gt; | &lt;a href=&quot;http://technorati.com/tag/xbl&quot; rel=&quot;tag&quot;&gt;xbl&lt;/a&gt; | &lt;a href=&quot;http://technorati.com/tag/webapps&quot; rel=&quot;tag&quot;&gt;webapps&lt;/a&gt; | &lt;a href=&quot;http://technorati.com/tag/ajax&quot; rel=&quot;tag&quot;&gt;ajax&lt;/a&gt; | &lt;a href=&quot;http://technorati.com/tag/javascript&quot; rel=&quot;tag&quot;&gt;javascript&lt;/a&gt; &lt;/div&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://internet-apps.blogspot.com/&quot;&gt;Internet Applications&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>WebDAV, SQLX, and my Weblog</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-04-26#810</atom:id>
  <atom:published>2005-04-26T03:54:43Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Uche Ogbuji &lt;a href=&quot;http://copia.ogbuji.net/blog/2005/04/24#Posting_to&quot;&gt;comments&lt;/a&gt; in his &lt;a href=&quot;http://copia.ogbuji.net/blog&quot;&gt;blog&lt;/a&gt; about the use of WebDAV and &lt;a href=&quot;http://www.tbradford.org/2005/02/xml-with-virtuoso-and-sqlx_02.html&quot;&gt;SQLX &lt;/a&gt;in my blog as part of his commentary about &lt;a href=&quot;http://egaumer.pagecache.org/PyBlosxom/pyblosxom-webdav.html&quot;&gt;Pyblosxom &amp;amp; WebDAV&lt;/a&gt;. To provide some clarity about Virtuoso and Blogging I have decided to put out this quick step by guide to the workings of my blog (there is a long overdue technical white paper nearing completion that address this subject in more detail).&lt;/p&gt; &lt;p&gt;Here goes:&lt;/p&gt; &lt;p&gt;&lt;u&gt;&lt;strong&gt;Blog Editing&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;I can use any editor that supports the following Blog Post APIs:&lt;/p&gt; &lt;p&gt;- Moveable Type&lt;/p&gt; &lt;p&gt;- Meta Weblog&lt;/p&gt; &lt;p&gt;- Blogger&lt;/p&gt; &lt;p&gt;Typically I use Virtuoso (which has an unreleased&amp;nbsp;WYSIWYG blog post editor), &lt;a href=&quot;http://www.newzcrawler.com/&quot;&gt;Newzcrawler&lt;/a&gt;, &lt;a href=&quot;http://ecto.kung-foo.tv/&quot;&gt;ecto&lt;/a&gt;, &lt;a href=&quot;http://zempt.com/&quot;&gt;Zempt&lt;/a&gt;, or &lt;a href=&quot;http://www.wbloggar.com/&quot;&gt;w.bloggar&lt;/a&gt; for my posts. If a post is of interest to me, or relevant to our company or customers&amp;nbsp;I tend to perform one of the following tasks:&lt;/p&gt; &lt;p&gt;- Generate a post using the &quot;Blog This&quot; feature of my blog editor&lt;/p&gt; &lt;p&gt;-&amp;nbsp;Write a new post that was triggered by a previously read post etc.&lt;/p&gt; &lt;p&gt;Either way, the posts end up in our company wide blog server that is Virtuoso based (more about this below). The internal blog server automatically categorizes my blog posts, and automagically determines which posts to upstream to other public blogs that I author (e.g &lt;a href=&quot;http://kidehen.typepad.com/&quot;&gt;http://kidehen.typepad.com&lt;/a&gt; ) or co-author (e.g &lt;a href=&quot;http://www.openlinksw.com/weblogs/uda&quot;&gt;http://www.openlinksw.com/weblogs/uda&lt;/a&gt; and &lt;a href=&quot;http://www.openlinksw.com/weblogs/virtuoso&quot;&gt;http://www.openlinksw.com/weblogs/virtuoso&lt;/a&gt; ). I write once and my posts are dispatched conditionally to multiple outlets.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;RSS/Atom/RDF Aggregation &amp;amp; Reading&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I discover, subscribe to, and&amp;nbsp;view blog feeds using &lt;a href=&quot;http://www.newzcrawler.com/&quot;&gt;Newzcrawler&lt;/a&gt; (primarily), and from time to time for experimentation and evaluation purposes I use &lt;a href=&quot;http://www.rssbandit.org/&quot;&gt;RSS Bandit&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.bradsoft.com/feeddemon/&quot;&gt;FeedDemon&lt;/a&gt;, and &lt;a href=&quot;http://www.bloglines.com/&quot;&gt;Bloglines&lt;/a&gt;. I am in the process of moving this activity over to Virtuoso completely due to the large number of feeds that I consume on a daily basis (scalability is a bit of a problem with current aggregators).&lt;/p&gt; &lt;p&gt;&lt;u&gt;&lt;strong&gt;Blog Publishing&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;When you visit my blog you are experiencing the&amp;nbsp; soon to be released Virtuoso Blog Publishing engine first hand, which is how&amp;nbsp;WebDAV, SQLX, XQuery/XPath, and Free Text etc. come into the mix.&lt;/p&gt; &lt;p&gt;Each time I create a post internally, or subscribe to an external feed, the data ends up in Virtuoso&#39;s SQL Engine (this is how we handle some of the obvious scalability challenges associated with large subscription counts). This engine is SQL2000N based, which implies that it can transform SQL to XML on the fly using recent extensions to SQL in the form of SQLX (prior to the emergence of this standard we used the FOR XML SQL syntax extensions for the same result). It also has its own in-built XSLT processor (DB Engine&amp;nbsp;resident), and validating XML parser (with support for XML Schema).&amp;nbsp; Thus, my &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/gems/&quot;&gt;RSS/RDF/Atom archives, FOAF, BlogRoll, OPML, and OCS&lt;/a&gt; blog syndication gems are all live examples of SQLX documents that leverage Virtuoso&#39;s WebDAV engine for exposure to&amp;nbsp;Blog Clients.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Blog Search&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When you search for blog posts using the basic or &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&quot;&gt;advanced search&lt;/a&gt; features of my blog, you end up interacting with one of the following methods of querying data hosted in Virtuoso: Free Text Search, XPath, or XQuery. The &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=virtuoso&amp;type=text&amp;output=html&quot;&gt;result sets&lt;/a&gt; produced by the search feature uses SQLX to produce subscription gems (&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=virtuoso&amp;type=text&amp;output=xml&quot;&gt;RSS&lt;/a&gt;/&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=virtuoso&amp;type=text&amp;output=atom&quot;&gt;Atom&lt;/a&gt;/&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=virtuoso&amp;type=text&amp;output=rdf&quot;&gt;RDF&lt;/a&gt;/&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;type=text&amp;kwds=virtuoso&amp;OpenSearch&quot;&gt;OpenSearch&lt;/a&gt;) and &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=virtuoso&amp;type=text&amp;output=html&quot;&gt;URIs&lt;/a&gt; that enable dynamic tracking of my posts using your search keywords.&lt;/p&gt; &lt;p&gt;BTW - the &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen&quot;&gt;http://www.openlinksw.com/blog/~kidehen&lt;/a&gt; blog home page exists as a result of Virtuoso&#39;s Virtual Domain / Multi-Homing Web Server functionality. The entire site resides in an Object Relational DBMS, and I can take my DB file across Windows, Solaris, Linux, Mac OS X, FreeBSD, AIX, HP-UX, IRIX, and SCO UnixWare without missing a single beat! All I have to do is instantiate my Virtuoso server and my weblog is live.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Oracle To Support .NET Runtime Hosting</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-04-25#807</atom:id>
  <atom:published>2005-04-25T22:54:03Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Better late than never! Oracle&amp;nbsp;has &lt;a href=&quot;http://www.oracle.com/technology/oramag/oracle/05-may/o35briefs.html&quot;&gt;announced&lt;/a&gt; the commencement of a journey&amp;nbsp;that we &lt;a href=&quot;http://www.novell.com/news/press/archive/2002/ximian_archive/pr112502.html&quot;&gt;completed in 2002 &lt;/a&gt;(across Microsoft .NET and Mono). Hopefully, their support of CRL Runtime Hosting will bring added clarity to the intrinsic value of the multi-language bindings via the ECMA-CLI that facilitate the development and deployment of DBMS Stored Procedures using a plethora of languages (ditto creation of User Defined Types, Function, Table Value Functions).&lt;/p&gt; &lt;p&gt;I also hope that Oracle will support Mono -off the bat- rather than&amp;nbsp;taking the typical&amp;nbsp;&quot;we will port to Mono sometime in the future...&quot; type message which&amp;nbsp;will not be acceptable, especially as we pulled this off first time around in&amp;nbsp;2002 (as atop Mono then). Thus,&amp;nbsp;I am sure they can do it in 2005 :-)&lt;/p&gt; &lt;p&gt;Hopefully we should be able to add Oracle 10g Release 2 and &lt;a href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0406evans/index.html&quot;&gt;DB2&lt;/a&gt; to our SQL CLR hosting features &lt;a href=&quot;http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/index.vspx?id=138&quot;&gt;comparison document&lt;/a&gt; that currently only covers SQL Server 2005 and &lt;a href=&quot;http://virtuoso.openlinksw.com/&quot;&gt;Virtuoso&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>AutoLink Hoopla Perspective: Guys Don&#39;t Link</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-04-15#780</atom:id>
  <atom:published>2005-04-15T02:46:11Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I came across Shelley Power&#39;s &lt;a href=&quot;http://weblog.burningbird.net/&quot;&gt;blog&lt;/a&gt; via a recent &lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=03c6e5d6-34af-4907-acb4-7b05f0364766&quot;&gt;post&lt;/a&gt; by &lt;a href=&quot;http://www.25hoursaday.com/weblog/&quot;&gt;Dare Obasanjo&lt;/a&gt; that shed light on the&amp;nbsp;issue of &quot;Minority Bloggers&quot;. After reading his post I visited every blog URI referenced, and in the process I bumped into&amp;nbsp;a gem of an article titled: &lt;a href=&quot;http://weblog.burningbird.net/archives/2005/03/07/wherearethewomenofweblogging/&quot;&gt;Guy&#39;s Don&#39;t Link&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;BTW - I took the time to update my public&amp;nbsp;&lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/gems/opml.xml?:c=1&quot;&gt;blog-he-roll&lt;/a&gt; and new &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/gems/opml.xml?:c=23&quot;&gt;blog-her-roll&lt;/a&gt;; both being tiny snapshots of my actual blog subscription collection, which by&amp;nbsp;the way,&amp;nbsp;is actually so&amp;nbsp;large and diverse that it&#39;s part of&amp;nbsp;an internal project covering&amp;nbsp;distributed XQuery and scalability :-) &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Google Tweaked</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-03-15#751</atom:id>
  <atom:published>2005-03-15T18:25:59Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://feeds.feedburner.com/JohnBattellesSearchblog?m=349&quot;&gt;Google Tweaked&lt;/a&gt; &lt;p&gt;Over at BB, Cory &lt;a href=&quot;http://www.boingboing.net/2005/03/14/butler_rewrites_goog.html&quot;&gt;posts&lt;/a&gt; on Mark Pilgrim&#39;s hack &quot;&lt;a href=&quot;http://diveintomark.org/projects/butler/&quot;&gt;Butler&lt;/a&gt;&quot; which strips out most Google ads, removes copying restrictions in Google Print, adds alternative search results to nearly every Google service, and generally does things which I can only imagine will keep give big G fits. It is still in geek stage - it requires &quot;&lt;a href=&quot;http://greasemonkey.mozdev.org/&quot;&gt;Greasemonkey&lt;/a&gt;&quot; and Firefox - but man, it sure sounds like fun. &lt;/p&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://battellemedia.com/&quot;&gt;John Battelle&#39;s Searchblog&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Yahoo! Web Services</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-03-02#718</atom:id>
  <atom:published>2005-03-02T03:35:05Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;p dir=&quot;ltr&quot;&gt;Today is one of those days where one topic appears to be on the mind of many across cyberspace.&amp;nbsp;You guessed right!&amp;nbsp;Its that&amp;nbsp;Web&amp;nbsp;2.0 thing again. &amp;nbsp;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;a href=&quot;http://www.oreillynet.com/pub/au/1200&quot;&gt;Paul Bausch&lt;/a&gt;&amp;nbsp;brings Yahoo!&#39;s most&amp;nbsp;recent Web 2.0 contribution to our broader attention in this excerpt from his &lt;font size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.oreillynet.com/pub/a/network/2005/02/28/yahoo.html&quot;&gt;O&#39;Reilly Network article&lt;/a&gt;&lt;/font&gt;:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;I browse news, check stock prices, and get movie times with Yahoo! Even though I interact with Yahoo! technology on a regular basis, I&#39;ve never thought of Yahoo! as a technology company. Now that Yahoo! has released a &lt;a href=&quot;http://developer.yahoo.net/faq/&quot;&gt;Web Services interface&lt;/a&gt;, my perception of them is changing. Suddenly having programmatic access to a good portion of their data has me seeing Yahoo! through the eyes of a developer rather than a user.&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;The great thing about this move by Yahoo! is two fold (&lt;a href=&quot;http://www.answers.com/main/ntquery?s=imho&amp;method=2&amp;gwp=13&quot;&gt;IMHO&lt;/a&gt;):&lt;/p&gt; &lt;ol dir=&quot;ltr&quot;&gt; &lt;li&gt; &lt;div&gt;It certainly makes Yahoo! a little more interesting of late. And it will certainly&amp;nbsp;helps to distinguish Yahoo! from Google. Of course these companies overlap somewhat, but they are also pretty different in focus. I see Yahoo! increasingly as a portal platform play providing content access via syndication, publishing, and web services.&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;It will impact their bottom line pretty rapidly, and I hope they realize the impact of Web 2.0 when trying to explain the growth increments whenever they next report to their investors :-) In a &lt;a href=&quot;http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/index.vspx?id=637&quot;&gt;previous post&lt;/a&gt;&amp;nbsp;I expressed my sense of some confusion on the part of&amp;nbsp;Jeff Bezos regarding the&amp;nbsp;total contribution of AWS to Amazon&#39;s growth (&lt;a href=&quot;http://www.answers.com/main/ntquery?s=btw&amp;method=2&amp;gwp=13&quot;&gt;BTW&lt;/a&gt; - my articles to date re. Amazon and Web 2.0 are available from &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=amazon+web+2.0&amp;type=text&amp;output=html&quot;&gt;here&lt;/a&gt;&amp;nbsp;in a variety of XML syndication formats:&amp;nbsp;&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=amazon+web+2.0&amp;type=text&amp;output=atom&quot;&gt;Atom&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=amazon+web+2.0&amp;type=text&amp;output=atom&quot;&gt;RSS 2.0&lt;/a&gt;, &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=amazon+web+2.0&amp;type=text&amp;output=rdf&quot;&gt;RDF&lt;/a&gt;).&lt;br&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The great thing about the Platform oriented Web 2.0 is the ability to syndicate your value proposition (aka products and services)&amp;nbsp;instead of pursuing&amp;nbsp;fallable email campaigns. It enables the auto-discovery of products and services&amp;nbsp;by user agents (the content&amp;nbsp;aspect). Web 2.0 also provides an infrastructure for user agents to enter into a&amp;nbsp;consumptive&amp;nbsp;interactions with&amp;nbsp;discrete or composite Web Services via published&amp;nbsp;endpoints exposed by&amp;nbsp;a platform (the execution aspect). &lt;/p&gt; &lt;p&gt;A scenario example: &lt;/p&gt; &lt;p&gt;You can obtain RSS feeds (electronic product catalogs) from Amazon today, although you have to explicitly locate these catalog-feeds since Amazon doesn&#39;t exploit &lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/000967.html&quot;&gt;feed auto-discovery&lt;/a&gt;&amp;nbsp;within their&amp;nbsp;domain. &lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;em&gt;If you use Firefox or another auto-discovery supporting RSS/Atom/RDF user agent; visit &lt;/em&gt;&lt;a href=&quot;http://virtuoso.openlinksw.com/&quot;&gt;&lt;em&gt;this&amp;nbsp;URL&lt;/em&gt;&lt;/a&gt;&lt;em&gt;; Firefox&amp;nbsp;users should simply click on the little orange icon bottom right of the browser&#39;s window to&amp;nbsp;its RSS feed auto-discovery in action. &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Anyway, once you have the feeds the next step is&amp;nbsp;execution endpoints discovery within the Amazon&amp;nbsp;domain (the conduits to Amazon&#39;s order processing system in this example).&amp;nbsp;At the current time&amp;nbsp;there isn&#39;t broad standardization of Web Services auto-discovery but it&#39;s certainly coming; &lt;/em&gt;&lt;a href=&quot;http://xml.coverpages.org/wsil.html&quot;&gt;&lt;em&gt;WSIL&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a potential front runner for small scale discovery while&amp;nbsp;UDDI provides a heavier duty equivalent for larger scale tasks that includes discovery and other related functionality realms.&lt;/em&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Back to the example trail, by&amp;nbsp;having the RSS/Atom/RDF feed data within the confines of a user agent (an &lt;a href=&quot;http://internet-apps.blogspot.com/2004/08/internet-application-manifesto.html&quot;&gt;Internet Application&lt;/a&gt; to be precise) nothing stops the extraction of key purchasing data from these feeds, plus your consumer data en route to assembling an execution message&amp;nbsp;(as prescribed by the schema of the service in question)for&amp;nbsp;Amazon&#39;s order&amp;nbsp;processing/ shopping cart&amp;nbsp;service.&amp;nbsp;&amp;nbsp;All of this happens without ever seeing/eye-balling the Amazon site (a prerequisite of Web 1.0 hence the dated term: Web Site).&lt;/p&gt; &lt;p&gt;To summarize: Web 2.0 enables you to syndicate your value proposition&amp;nbsp;and then have it consumed via Web Services, leveraging computer, as opposed to human interaction cycles.&amp;nbsp;This&amp;nbsp;is how I believe Web 2.0&amp;nbsp;will ultimately&amp;nbsp;impact the growth rates (in most cases exponentially)&amp;nbsp;of those companies that comprehend its potential.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Cognitive Dissonance</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-02-25#695</atom:id>
  <atom:published>2005-02-25T00:58:21Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://www.answers.com/main/ntquery?s=definition+cognitive+dissonance&amp;method=2&amp;gwp=13&quot;&gt;Cognitive dissonance&lt;/a&gt; is how &lt;a href=&quot;http://blogs.msdn.com/dareobasanjo/archive/2005/02/17/375367.aspx&quot;&gt;Dare Obasanjo&lt;/a&gt;&amp;nbsp;aptly describes the emergence of some&amp;nbsp;of the &lt;a href=&quot;http://www.answers.com/main/ntquery?s=smart+tags&amp;method=2&amp;gwp=13&quot;&gt;Smart Tags &lt;/a&gt;concepts previously introduced by Microsoft and now emulated by the new google toolbar&#39;s autolink feature&amp;nbsp;(&lt;a href=&quot;http://glinden.blogspot.com/&quot;&gt;Greg Linden&lt;/a&gt; explains the problem with &lt;a href=&quot;http://glinden.blogspot.com/2005/02/autolink-in-google-toolbar.html&quot;&gt;clarity&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;Anyway, back to cognitive dissonance. Could this be the reason for the following?&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Open Source products are increasingly database specific even though they could be database independent via Open Source ODBC SDK efforts such as &lt;a href=&quot;http://www.iodbc.org&quot;&gt;iODBC&lt;/a&gt; and &lt;a href=&quot;http://www.unixodbc.org&quot;&gt;unixODBC&lt;/a&gt;. We increasingly&amp;nbsp;narrowing our choices down to database specific &quot;Closed Source&quot; or database specific &quot;Open Source&quot; solutions and somehow deem this&amp;nbsp;to be&amp;nbsp;progress&lt;br&gt;&lt;/li&gt; &lt;li&gt;The prevalent use of free standards compliant data access&amp;nbsp;drivers (&lt;a href=&quot;http://en.wikipedia.org/wiki/ODBC&quot;&gt;ODBC&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/JDBC&quot;&gt;JDBC&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/ADO.NET&quot;&gt;ADO.NET&lt;/a&gt;) or their native counterparts that remain vulnerable to simple password hacks (there are databases behind those dynamic web sites!!) as none of these have any notion of &quot;rules based&quot; authentication and data access policy&lt;br&gt;&lt;/li&gt; &lt;li&gt;The time-tested fallacy that: &quot;select * from table&quot; defines a viable &lt;a href=&quot;http://en.wikipedia.org/wiki/RDBMS&quot;&gt;RDBMS&lt;/a&gt; engine since Transaction Atomicity, Concurrency, Isolation, and Durability (ACID) mean zip! Ditto scrollable cursors, stored procedures, and other presumably useless aspects of any marginably decent RDBMS engine&lt;br&gt;&lt;/li&gt; &lt;li&gt;Failing to comprehend that a &lt;a href=&quot;http://en.wikipedia.org/wiki/Weblog&quot;&gt;Weblog&lt;/a&gt; is your property (if you have a personal blog) not the property of the vendor hosting your service (that important issue of separating data ownership and data storage again). You may have&amp;nbsp;heard about, or experienced,&amp;nbsp;total loss of weblog and/or weblog&amp;nbsp;archives arising from weblog engine or blog service provider changeovers&lt;br&gt;&lt;/li&gt; &lt;li&gt;Failing to see the synergy between personal/group/corporate information stores (aka &lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=infoBase&amp;type=text&amp;output=html&quot;&gt;infobase&lt;/a&gt;)&amp;nbsp;such as Wikis, Weblogs, and the burgeoning semantic web. &lt;a href=&quot;http://weblog.infoworld.com/udell/2005/02/22.html#a1183&quot;&gt;Jon Udell&lt;/a&gt;&amp;nbsp;for instance, is trying to get the point across via his tireless collection of&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/XML_query_language&quot;&gt;XQuery&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/XPath&quot;&gt;XPath&lt;/a&gt; based queries aimed at the blogosphere section of the burgeoning semantic web. Here are some of mine (scoped to this weblog):&lt;br&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Security related posts to date (&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=//p[contains%28.%2C%27security%27%29]&amp;type=xpath&amp;output=html&quot;&gt;XPath&lt;/a&gt; query)&lt;br&gt;&lt;/li&gt; &lt;li&gt;Infobase related posts to date (&lt;a href=&quot;http://www.openlinksw.com/blog/search.vspx?blogid=127&amp;q=infoBase&amp;type=text&amp;output=html&quot;&gt;Free Text&lt;/a&gt; search)&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt; &lt;p&gt;And more...&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Proof That (Almost) No One Reads End User License Agreements</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-02-24#692</atom:id>
  <atom:published>2005-02-24T19:49:10Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://techdirt.com/articles/20050223/1745244_F.shtml&quot;&gt;Proof That (Almost) No One Reads End User License Agreements&lt;/a&gt; &lt;b&gt;John&lt;/b&gt; sent this in -- though, there&#39;s no date on it, so it&#39;s not clear how recent this is (also, it&#39;s on the site of the company in question, and it doesn&#39;t appear to be published anywhere else as of yet, despite being written by well known columnist Larry Magid). Apparently in an attempt to prove that no one reads end user license agreements (EULAs), anti-spyware firm PC Pitstop buried a note in its own EULA, saying they would give $1,000 to the first person who emailed them at a certain address. It only took &lt;a href=&quot;http://www.pcpitstop.com/spycheck/eula.asp&quot;&gt;four months and over 3,000 downloads&lt;/a&gt; before someone noticed it and sent an email (and got the $1,000). While this is an amusing story, it should also serve to show that EULAs shouldn&#39;t be valid at all. They&#39;re designed specifically to scare people off from reading them. It&#39;s hard to see how they can be binding, when they&#39;re designed in a way that almost no one will ever read. It&#39;s hard to show that users were willing participants in the agreement. So far, when EULAs show up that are &lt;a href=&quot;http://www.laboratorium.net/archives/BestClickwrapEvar.html&quot;&gt;simple to read&lt;/a&gt;, they actually get attention. Meanwhile, isn&#39;t it great to know that the company that has written one of the &lt;a href=&quot;http://www.techdirt.com/articles/20041201/1616206.shtml&quot;&gt;more misleading and impossible to follow EULAs&lt;/a&gt; is now &lt;a href=&quot;http://www.techdirt.com/articles/20050223/1714202_F.shtml&quot;&gt;advising the government&lt;/a&gt; on privacy issues? &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.techdirt.com/&quot;&gt;Techdirt&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Email As A Platform</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-02-10#680</atom:id>
  <atom:published>2005-02-10T17:01:57Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://techdirt.com/articles/20050209/1329235_F.shtml&quot;&gt;Email As A Platform&lt;/a&gt; It looks like more people are starting to realize that email is more than it seems. Especially given the drastic increase in storage size of web-based email applications, more people are realizing that &lt;a href=&quot;http://news.bbc.co.uk/2/hi/business/4167633.stm&quot;&gt;email is basically a personal database&lt;/a&gt;. People simply store information in their email, from contact information that was emailed to them to schedule information to purchase tracking from emailed receipts. Lots of people email messages to themselves, realizing that email is basically the best &quot;permanent&quot; filing system they have. That&#39;s part of the reason why good email search is so important. Of course, what the article doesn&#39;t discuss is the next stage of this evolution. If you have a database of important information, the next step is to build useful applications on top of it. In other words, people are starting to realize that email, itself, is a &lt;i&gt;platform&lt;/i&gt; for personal information management. &lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.techdirt.com/&quot;&gt;Techdirt&lt;/a&gt;]&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Yep! And this is where the Unified Storage vision comes into play. Many years ago the same issues emerged in the business application realm, and at the time the issue at hand was: separating the DBMS engine from the Application logic. This is what the SQL Access Group (SAG) addressed via the CLI that laid the foundation for ODBC, JDBC, and recent derivatives; OLE DB and ADO.NET. &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Most of us live inside our email applications and the need to integrate the content of emails, address books, notes, calendars with other data sources (Web Portal,&amp;nbsp;Blogs, Wikis, CRM, ERP, and more)&amp;nbsp;as part of our application interaction cycles and domain specific workflow is finally becoming obvious.&amp;nbsp; There is a need for separation of the application/service layer&amp;nbsp;from the storage engine across each one of these functionality realms. XML, RDF, and Triple Stores (RDF / Semantic Data Stores) collectively provide a standards based framework for achieving this goal. On the other hand so does WinFS albeit total proprietary (by this I mean none standards compliant) at the current time.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;As you can already see there&amp;nbsp;are numerous applications (conventional or hosted) that address email, address books, bookmarking, notes, calendars, blogs, wikis, crm etc. specifically, but next to none that address the obvious&amp;nbsp;need&amp;nbsp;for transparent integration across each functionality realm&amp;nbsp;- the ultimate goal.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&amp;nbsp;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Yes, you know what I am about to say! &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;OpenLink Virtuoso&lt;/a&gt; is the platform for developing and/or implementing these next generation solutions. We have also decided to go one step further by developing a number of applications that demonstrate the&amp;nbsp;vision (and ultimate reality);&amp;nbsp;and each of these applications (and the inherent integration tapestry) will be the&amp;nbsp;subject of a future Virtuoso Application specific&amp;nbsp;post.&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Traffic Analysis: Google vs Answers.com vs Ask.com</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-02-04#677</atom:id>
  <atom:published>2005-02-04T23:31:47Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The net effect of &lt;a href=&quot;http://answers.com/main/ntquery?s=web+services&amp;gwp=8&quot;&gt;Web Services&lt;/a&gt; and Web Data (soon to be Semantic Content) is the ability obtain and analyze &lt;a href=&quot;http://www.alexa.com/data/details/traffic_details?&amp;range=6m&amp;size=large&amp;y=t&amp;url=answers.com#top&quot;&gt;this kind of data&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://answers.com/&quot;&gt;Answers.com&lt;/a&gt; was launched a month ago, and its stock is practically on fire! Does this graph tell you anything about subject searches vs keyword searches? &lt;/p&gt; &lt;p&gt;&lt;img align=&quot;baseline&quot; alt=&quot;&quot; border=&quot;0&quot; hspace=&quot;0&quot; src=&quot;http://traffic.alexa.com/graph?w=640&amp;h=480&amp;r=6m&amp;y=t&amp;u=answers.com/&amp;u=ask.com&amp;u=google.com&quot;&gt;&lt;/p&gt; &lt;p&gt;The burgeoning &lt;a href=&quot;http://answers.com/main/ntquery?s=semantic+web&quot;&gt;Semantic Web&lt;/a&gt;&amp;nbsp;will disrupt the search market in a big way (and for the better &lt;a href=&quot;http://answers.com/main/ntquery?s=imho&quot;&gt;IMHO&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Google Ups Web 2.0 Ante with Web Services edition of AdWords</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-01-28#673</atom:id>
  <atom:published>2005-01-28T23:36:17Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Google has just unveiled&amp;nbsp;a &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?id=373&quot;&gt;Web 2.0&lt;/a&gt;&amp;nbsp;initiative in the form of&amp;nbsp;a &lt;a href=&quot;http://www.google.com/apis/adwords/&quot;&gt;Web Services&amp;nbsp;interface for its&amp;nbsp;AdWords service&lt;/a&gt;.&amp;nbsp;You can now programmatically interact with Google&#39;s keyword based advertising service using &lt;a href=&quot;http://answers.com/main/ntquery?dym=0&amp;cid=984588381&amp;method=6&quot;&gt;SOAP&lt;/a&gt; calls (with service &lt;a href=&quot;http://answers.com/main/ntquery?dym=2&amp;cid=396232605&amp;method=6&quot;&gt;signature&lt;/a&gt; described using &lt;a href=&quot;http://answers.com/main/ntquery?s=wsdl&quot;&gt;WSDL&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;An immediate implication is that you can generate Google AdWords based adds using any development environment (&lt;a href=&quot;http://docs.openlinksw.com/virtuoso/sqlprocedures.html&quot;&gt;Virtuoso&#39;s SQL Stored Procedure Language&lt;/a&gt;, &amp;nbsp;any .NET bound language, Java, C/C++, PHP, Ruby, Perl, Python, TCL etc.) that supports SOAP, WSDL, and I would presume &lt;a href=&quot;http://answers.com/main/ntquery?s=ws-security&quot;&gt;WS-Security&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;An even more interesting offshoot of this initiative from Google, is the fact that&amp;nbsp;it&amp;nbsp;could bring a degree of clarity to the issue of multi-protocol and multi-purpose servers (what I call &lt;a href=&quot; http://en.wikipedia.org/wiki/Universal_server&quot;&gt;Universal Servers&lt;/a&gt; e.g. &lt;a href=&quot;http://virtuoso.openlinksw.com&quot;&gt;OpenLink Virtuoso&lt;/a&gt;). For instance, you could manage AdWords campaigns across product portfolios using Triggers (the SQL database kind) or Notification Services.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Using Role-Based Security with Web Services Enhancements 2.0</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2005-01-27#672</atom:id>
  <atom:published>2005-01-27T14:52:19Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;By Ingo Rammer, Microsoft MSDN Library.&lt;/font&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;In this article the author shows how you can create and use a custom security token manager with the Web Services Enhancements 2.0 for Microsoft .NET to check for X.509 certificates, map them to roles and populate context information with custom principal and identity objects.&lt;/font&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;He shows how easy it is to use WS-Policy from within Visual Studio .NET to add declarative checking of role membership to your applications. The advantage of this approach based on WS-Security when compared to classic HTTP based security is that it doesn&amp;#39;t rely on transport-level integrity or security but instead works solely with the SOAP message. This provides you with end-to-end security capabilities over multiple hops and protocols.&lt;/font&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;p&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/en-us/dnwse/html/wserolebasedsec.asp&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://msdn.microsoft.com/library/en-us/dnwse/html/wserolebasedsec.asp&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;See also WS-Security references: &lt;/font&gt;&lt;a href=&quot;http://xml.coverpages.org/ws-security.html&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://xml.coverpages.org/ws-security.html&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>What is the platform?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-10-05#624</atom:id>
  <atom:published>2004-10-05T16:31:14Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;I came across an interesting piece by Adam Bosworth titled &amp;quot;&lt;a href=&quot;http://www.adambosworth.net/archives/000026.html&quot;&gt;What is the platform?&lt;/a&gt;&amp;quot;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Cool PC-PC ConnectionTechnology</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-09-17#618</atom:id>
  <atom:published>2004-09-17T15:26:21Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://www.glance.net/site/whatis/whatis.asp&quot;&gt;Glance&lt;/a&gt; is a cool service and technology for sharing your desktop (demos, support, etc.) with others via the Internet.&lt;/p&gt; &lt;p&gt;From their web site:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;At Glance Networks, we believe people need a simple way to work together at a distance. &lt;br /&gt;&lt;br /&gt;Each day, people send billions of emails and faxes to each other. They talk together on phone for billions of minutes. While there is always a need for improved communication tools, traditional web and video conferencing solutions are often too complex, too over-featured and too expensive. Customers want a solution they can master in under a minute. It must connect instantly and reliably to anyone from anywhere on the Internet. &lt;br /&gt;&lt;br /&gt;To that end, we built a simple, affordable service for showing live PC screens over the Internet. &lt;/p&gt; &lt;p&gt;Phone any friend or business associate and click Glance to show them your live PC screen. Demonstrate your software. Go over a spreadsheet. Give a presentation. Show a design. Review a document. Provide technical help. Close a sale. Every mouse movement and screen update you see, they see. &lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;Cool! Imagine a fusion of this technolgy with &lt;a href=&quot;http://www.skype.com/&quot;&gt;Skype&lt;/a&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Bloglines</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-07-26#600</atom:id>
  <atom:published>2004-07-26T19:02:19Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://weblog.infoworld.com/udell/2004/07/25.html#a1047&quot;&gt;Bloglines&lt;/a&gt; &lt;p&gt;Since last fall, I&amp;#39;ve been recommending &lt;a href=&quot;http://www.blogines.com/&quot;&gt;Bloglines&lt;/a&gt; to first-timers as the fastest and easiest introduction to the subscription side of the blogosphere. Remarkably, this same application also meets the needs of some of the most &lt;a href=&quot;http://www.intertwingly.net/blog/1716.html&quot;&gt;advanced&lt;/a&gt; &lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/001829.html&quot;&gt;users&lt;/a&gt;. I&amp;#39;ve now added myself to that list. Hats off to &lt;a href=&quot;http://www.wingedpig.com/&quot;&gt;Mark Fletcher&lt;/a&gt; for putting all the pieces together in such a masterful way. &lt;/p&gt; &lt;p&gt;What goes around comes around. Five years ago, centralized feed aggregators -- my.netscape.com and my.userland.com -- were the only game in town. Fat-client feedreaders only arrived on the scene later. Because of the well-known rich-versus-reach tradeoffs, I never really settled in with one of those. Most of the time I&amp;#39;ve used the Radio UserLand reader. It is browser-based, and it normally points to localhost, but I&amp;#39;ve been parking Radio UserLand on a secure server so that I can read the feeds it aggregates for me from anywhere. &lt;/p&gt; &lt;p&gt;Bloglines takes that idea and runs with it. Like the Radio UserLand reader, it supports the all-important (to me) consolidated view of new items. But its two-pane interface also shows me the list of feeds, highlighting those with new entries, so you can switch between a linear of scan of all new items and random access to particular feeds. Once you&amp;#39;ve read an item it vanishes, but you can recall already-read items like so: &lt;/p&gt; &lt;p align=&quot;center&quot;&gt; &lt;/p&gt;&lt;form action=&quot;&quot; method=&quot;get&quot;&gt;&lt;input name=&quot;sub&quot; type=&quot;hidden&quot; /&gt; Display items within the last &lt;select name=&quot;since&quot;&gt;&lt;option value=&quot;0&quot;&gt;Session&lt;/option&gt;&lt;option value=&quot;1&quot;&gt;1 Hour&lt;/option&gt;&lt;option value=&quot;2&quot;&gt;6 Hours&lt;/option&gt;&lt;option value=&quot;3&quot;&gt;12 Hours&lt;/option&gt;&lt;option value=&quot;4&quot;&gt;24 Hours&lt;/option&gt;&lt;option value=&quot;5&quot;&gt;48 Hours&lt;/option&gt;&lt;option value=&quot;6&quot;&gt;72 Hours&lt;/option&gt;&lt;option value=&quot;7&quot;&gt;Week&lt;/option&gt;&lt;option value=&quot;8&quot;&gt;Month&lt;/option&gt;&lt;option value=&quot;9&quot;&gt;All Items&lt;/option&gt;&lt;/select&gt; &lt;input name=&quot;Display&quot; type=&quot;submit&quot; value=&quot;Display&quot; /&gt; &lt;/form&gt; &lt;p&gt;If a month&amp;#39;s worth of some blog&amp;#39;s entries produces too much stuff to easily scan, you can switch that blog to a titles-only view. The titles expand to reveal all the content transmitted in the feed for that item. &lt;/p&gt; &lt;p&gt;I haven&amp;#39;t gotten around to organizing my feeds into folders, the way &lt;a href=&quot;http://www.bloglines.com/public/yoz&quot;&gt;other&lt;/a&gt; &lt;a href=&quot;http://www.bloglines.com/public/marccanter&quot;&gt;users&lt;/a&gt; of Bloglines do, but I&amp;#39;ve poked around enough to see that Bloglines, like Zope, handles foldering about as well as you can in a Web UI -- which is to say, well enough. With an intelligent local cache it could be really good; more on that later. &lt;/p&gt; &lt;p&gt;Bloglines does two kinds of data mining that are especially noteworthy. First, it counts and reports the number of Bloglines users subscribed to each blog. In the case of &lt;a href=&quot;http://www.bloglines.com/preview?siteid=297235&quot;&gt;Jonathan Schwartz&amp;#39;s weblog&lt;/a&gt;, for example, there are (as of this moment) &lt;a href=&quot;http://www.bloglines.com/userdir?siteid=297235&quot;&gt;253 subscribers&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Second, Bloglines is currently managing references to items more effectively than the competition. I was curious, for example, to gauge the reaction to the latest salvo in Schwartz&amp;#39;s ongoing campaign to turn up the heat on Red Hat. Bloglines reports &lt;a href=&quot;http://www.bloglines.com/citations?siteid=297235&amp;itemid=14&quot; target=&quot;_blank&quot; title=&quot;References To This Item From Other Blogs&quot;&gt;10 References&lt;/a&gt;. In this case, the comparable query on Feedster yields a &lt;a href=&quot;http://feedster.net//links.php?url=http%3A//blogs.sun.com/roller/page/jonathan/20040721%23competing_against_a_social_movement&quot;&gt;comparable result&lt;/a&gt;, but on the whole I&amp;#39;m finding Bloglines&amp;#39; assembly of conversations to be more reliable than Feedster&amp;#39;s (which, however, is still marked as &amp;#39;beta&amp;#39;). Meanwhile Technorati, though it casts a much wider net than either, is &lt;a href=&quot;http://www.technorati.com/cosmos/search.html?url=http://blogs.sun.com/roller/page/jonathan/20040721#competing_against_a_social_movement&quot;&gt;currently struggling&lt;/a&gt; with conversation assembly. &lt;/p&gt; &lt;p&gt;I love how Bloglines weaves everything together to create a dense web of information. For example, the list of &lt;a href=&quot;http://www.bloglines.com/userdir?siteid=297235&quot;&gt;subscribers to the Schwartz blog&lt;/a&gt; includes: &lt;i&gt;&lt;a href=&quot;http://www.bloglines.com/public/judell&quot;&gt;judell&lt;/a&gt; - subscribed since July 23, 2004&lt;/i&gt;. Click that link and you&amp;#39;ll see my Bloglines subscriptions. Which you can &lt;a href=&quot;http://www.bloglines.com/export?id=judell&quot;&gt;export&lt;/a&gt; and then -- if you&amp;#39;d like to see the world through my filter -- turn around and import. &lt;/p&gt; &lt;p&gt;Moving my 265 subscriptions into Bloglines wasn&amp;#39;t a complete no-brainer. I imported my &lt;a href=&quot;http://weblog.infoworld.com/udell/gems/mySubscriptions.opml&quot;&gt;Radio UserLand-generated OPML file&lt;/a&gt; without any trouble, but catching up on unread items -- that is, marking all of each feed&amp;#39;s sometimes lengthy history of items as having been read -- was painful. In theory you can do that by clicking once on the top-level folder containing all the feeds, which generates the consolidated view of unread items. In practice, that kept timing out. I finally had to touch a number of the larger feeds, one after another, in order to get everything caught up. A &lt;b&gt;Catch Up All Feeds&lt;/b&gt; feature would solve this problem. &lt;/p&gt; &lt;p&gt;Another feature I&amp;#39;d love to see is &lt;b&gt;Move To Next Unread Item&lt;/b&gt; -- wired to a link in the HTML UI, or to a keystroke, or ideally both. &lt;/p&gt; &lt;p&gt;Finally, I&amp;#39;d love it if Bloglines cached everything in a local database, not only for offline reading but also to make the UI more responsive and to accelerate queries that reach back into the archive. &lt;/p&gt; &lt;p&gt;Like Gmail, Bloglines is the kind of Web application that surprises you with what it can do, and makes you crave more. Some argue that to satisfy that craving, you&amp;#39;ll need to abandon the browser and switch to RIA (rich Internet application) technology -- Flash, Java, Avalon (someday), whatever. Others are concluding that perhaps the 80/20 solution that the browser is today can become a 90/10 or 95/5 solution tomorrow with some incremental changes. &lt;/p&gt; &lt;p&gt;Dare Obasanjo wondered, over the weekend, &amp;quot;What is Google building?&amp;quot; He wrote: &lt;/p&gt;&lt;blockquote class=&quot;personQuote DareObasanjo&quot;&gt;In the past couple of months Google has hired four people who used to work on Internet Explorer in various capacities [especially its XML support] who then moved to BEA; &lt;a href=&quot;http://davidbau.com/about/david_bau.html&quot;&gt;David Bau&lt;/a&gt;, &lt;a href=&quot;http://www.oreillynet.com/pub/au/1303&quot;&gt;Rod Chavez&lt;/a&gt;, &lt;a href=&quot;http://gary.burd.info/&quot;&gt;Gary Burd&lt;/a&gt; and most recently &lt;a href=&quot;http://www.eweek.com/article2/0,1759,1627319,00.asp&quot;&gt;Adam Bosworth&lt;/a&gt;. A number of my coworkers used to work with these guys since our team, the Microsoft XML team, was once part of the Internet Explorer team. It&amp;#39;s been interesting chatting in the hallways with folks contemplating what Google would want to build that requires folks with a background in building XML data access technologies both on the client side, Internet Explorer and on the server, BEA&amp;#39;s WebLogic. [&lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=1524b97e-f8b1-4e42-ac07-455337f299b4&quot;&gt;Dare Obasanjo&lt;/a&gt;] &lt;/blockquote&gt;It seems pretty clear to me. Web applications such as Gmail and Bloglines are already hard to beat. With a touch of &lt;a href=&quot;http://weblog.infoworld.com/udell/2004/06/15.html#a1023&quot;&gt;alchemy&lt;/a&gt; they just might become unstoppable. &lt;p&gt;&lt;/p&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&amp;#39;s Radio&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Lazy Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-07-02#578</atom:id>
  <atom:published>2004-07-02T21:08:00Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;From the &lt;a href=&quot;http://iawiki.net/LazyWeb&quot;&gt;lazyweb&lt;/a&gt; home page:&lt;/p&gt; &lt;p&gt;Do you have an idea that you think others might be able to solve?&lt;br /&gt;Make a &lt;a href=&quot;http://iawiki.net/LazyWeb&quot;&gt;LazyWeb&lt;/a&gt; request by writing it on your own blog, and then sending a Trackback ping to the new url: &lt;em&gt;http://www.lazyweb.org/lazywebtb.cgi&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Just linking to this page usually works. The LazyWeb links back to you, so make sure you have somewhere for people to leave comments. &lt;/p&gt; &lt;p&gt;Cool!&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Mac OS X Tiger is a copycat, claims developer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-06-29#568</atom:id>
  <atom:published>2004-06-30T00:19:11Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://www.macminute.com/2004/06/28/copycat&quot;&gt;Mac OS X Tiger is a copycat, claims developer&lt;/a&gt; While Apple is expecting Microsoft to mimic Mac OS X 10.4 Tiger, one developer says the new Mac operating system is the one doing the copying... [via &lt;a href=&quot;http://www.macminute.com/&quot;&gt;MacMinute&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;A more important aspect of this post is the changing face of the Web Client/ OS. What I mean by this is the gradual decomposition of the user agent monlith (browser for instance) into &lt;a href=&quot;http://www.konfabulator.com/&quot;&gt;composite services &lt;/a&gt;that will increasing communicate with services over the net. &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Will .Net Developers Get Mono?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-06-11#561</atom:id>
  <atom:published>2004-06-11T19:29:42Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Some clarifications re. my comments in the recent interview with &lt;a href=&quot;http://www.linuxinsider.com/&quot;&gt;LinuxInsider&lt;/a&gt;:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://www.linuxinsider.com/story/34338.html&quot;&gt;Will .Net Developers Get Mono?&lt;/a&gt; Novell has released a new version of Mono -- an open-source implementation of Microsoft&amp;#39;s .Net framework -- and some early adopters are already singing its praises. &amp;quot;Mono makes Novell extremely relevant now,&amp;quot; said Kingsley Idehen, president and CEO of OpenLink, which has just released Virtuoso 3.5, a database-oriented middleware product that was built using Mono. &lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;I meant making&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Questions about Longhorn, part 3: Avalon&#39;s enterprise mission</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-06-09#559</atom:id>
  <atom:published>2004-06-09T21:48:25Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;A Blog post for the ages, from &lt;a href=&quot;http://weblog.infoworld.com/udell&quot;&gt;Jon Udell&lt;/a&gt;. I expect to refer back to this post a number of times in the future, as I have the same concerns across related realms; for instance data access API usage and evolution.&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://weblog.infoworld.com/udell/2004/06/09.html#a1019&quot;&gt;Questions about Longhorn, part 3: Avalon&amp;#39;s enterprise mission&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://weblog.infoworld.com/udell/gems/WinformsVsAvalon.jpg&quot;&gt;&lt;img align=&quot;right&quot; hspace=&quot;6&quot; src=&quot;http://weblog.infoworld.com/udell/gems/WinformsVsAvalon_s.jpg&quot; vspace=&quot;6&quot; /&gt;&lt;/a&gt; The slide shown at the right comes from a presentation entitled &lt;a href=&quot;http://www.ineta.org/DesktopDefault.aspx?tabindex=2&amp;tabid=41&amp;FileID=125&quot;&gt;Windows client roadmap&lt;/a&gt;, given last month to the International .NET Association (&lt;a href=&quot;http://www.ineta.org/DesktopDefault.aspx&quot;&gt;INETA&lt;/a&gt;). When I see slides like this, I always want to change the word &amp;quot;How&amp;quot; to &amp;quot;Why&amp;quot; -- so, in this case, the question would become &amp;quot;Why do I have to pick between Windows Forms and Avalon?&amp;quot; Similarly, MSDN&amp;#39;s Channel 9 ran a video clip of Joe Beda, from the Avalon team, entitled &lt;a href=&quot;http://www.microsoft.com/winme/0404/22606/Joe_Beda_prepare_300k.asx&quot;&gt;How should developers prepare for Longhorn/Avalon?&lt;/a&gt; that, at least for me, begs the question &amp;quot;Why should developers prepare for Longhorn/Avalon?&amp;quot; &lt;/p&gt; &lt;p&gt;I&amp;#39;ve been looking at decision trees like the one shown in this slide for more than a decade. It&amp;#39;s always the same yellow-on-blue PowerPoint template, and always the same message: here&amp;#39;s how to manage your investment in current Windows technologies while preparing to assimilate the new stuff. For platform junkies, the internal logic can be compelling. The INETA presentation shows, for example, how it&amp;#39;ll be possible to use XAML to write WinForms apps that host combinations of WinForms and Avalon components, or to write Avalon apps that host either or both style of component. Cool! But...huh? Listen to how Joe Beda frames the &amp;quot;rich vs. reach&amp;quot; debate: &lt;/p&gt; &lt;blockquote class=&quot;personQuote JoeBeda&quot;&gt;Avalon will be supplanting WinForms, but WinForms is more reach than it is rich. It&amp;#39;s the reach versus rich thing, and in some ways there&amp;#39;s a spectrum. If you write an ASP.NET thing and deploy via the browser, that&amp;#39;s really reach. If you write a WinForms app, you can go down to Win98, I believe. Avalon&amp;#39;s going to be Longhorn only. &lt;/blockquote&gt; &lt;p&gt;So developers are invited to classify degrees of reach -- not only with respect to the Web, but even within Windows -- and to code accordingly. What&amp;#39;s more, they&amp;#39;re invited to consider WinForms, the post-MFC (Microsoft Foundation Classes) GUI framework in the .NET Framework, as &amp;quot;reachier&amp;quot; than Avalon. That&amp;#39;s true by definition since Avalon&amp;#39;s not here yet, but bizarre given that mainstream Windows developers can&amp;#39;t yet regard .NET as a ubiquitous foundation, even though many would like to. &lt;/p&gt; &lt;p&gt;Beda recommends that developers isolate business logic and data-intensive stuff from the visual stuff -- which is always smart, of course -- and goes on to sketch an incremental plan for retrofitting Avalon goodness into existing apps. He concludes: &lt;/p&gt;&lt;blockquote class=&quot;personQuote JoeBeda&quot;&gt;Avalon, and Longhorn in general, is Microsoft&amp;#39;s stake in the ground, saying that we believe power on your desktop, locally sitting there doing cool stuff, is here to stay. We&amp;#39;re investing on the desktop, we think it&amp;#39;s a good place to be, and we hope we&amp;#39;re going to start a wave of excitement leveraging all these new technologies that we&amp;#39;re building. &lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;It&amp;#39;s not every decade that the Windows presentation subsystem gets a complete overhaul. As a matter of fact, it&amp;#39;s never happened before. Avalon will retire the hodge-podge of DLLs that began with 16-bit Windows, and were carried forward (with accretion) to XP and Server 2003. It will replace this whole edifice with a new one that aims to unify three formerly distinct modes: the document, the user interface, and audio-visual media. This is a great idea, and it&amp;#39;s a big deal. If you&amp;#39;re a developer writing a Windows application that needs to deliver maximum consumer appeal three or four years from now, this is a wave you won&amp;#39;t want to miss. But if you&amp;#39;re an enterprise that will have to buy or build such applications, deploy them, and manage them, you&amp;#39;ll want to know things like: &lt;/p&gt;&lt;ul&gt; &lt;li&gt; &lt;p&gt;How much fragmentation can my developers and users tolerate &lt;i&gt;within&lt;/i&gt; the Windows platform, never mind across platforms?&lt;/p&gt;&lt;/li&gt; &lt;li&gt; &lt;p&gt;Will I be able to remote the Avalon GUI using Terminal Services and Citrix?&lt;/p&gt;&lt;/li&gt; &lt;li&gt; &lt;p&gt;Is there any way to invest in Avalon without stealing resources from the Web and mobile stuff that I still have to support?&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Then again, why even bother to ask these questions? It&amp;#39;s not enough to believe that the return of rich-client technology will deliver compelling business benefits. (Which, by the way, I think it will.) You&amp;#39;d also have to be shown that Microsoft&amp;#39;s brand of rich-client technology will trump all the platform-neutral variations. Perhaps such a case can be made, but the concept demos shown so far don&amp;#39;t do so convincingly. The Amazon demo at the Longhorn PDC (Professional Developers Conference) was indeed cool, but you can see similar stuff happening in &lt;a href=&quot;http://www.ultrasaurus.com/sarahblog/archives/000140.html&quot;&gt;Laszlo&lt;/a&gt;, Flex, and other RIA (rich Internet application) environments today. Not, admittedly, with the same 3D effects. But if enterprises are going to head down a path that entails more Windows lock-in, Microsoft will have to combat the perception that the 3D stuff is gratuitous eye candy, and show order-of-magnitude improvements in users&amp;#39; ability to absorb and interact with information-rich services. &lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&amp;#39;s Radio&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Comparison of RDF Query Languages</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-06-09#1100</atom:id>
  <atom:published>2004-06-09T18:32:42Z</atom:published>
  <atom:updated>2006-12-14T15:53:29-05:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The W3C RDF Data Access Working Group recently released an initial public Working Draft specification for &amp;quot;&lt;a href=&quot;http://www.w3.org/TR/2004/WD-rdf-dawg-uc-20040602/&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;RDF Data Access Use Cases and Requirements&lt;/font&gt;&lt;/a&gt;&amp;quot;. Naturally, this triggered discussion on the RDF mailing list along the following lines:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;margin-right: 0px;&quot;&gt; &lt;p&gt;In section, 4.1 Human-friendly Syntax, you say&lt;font size=&quot;4&quot;&gt;&lt;b&gt;  &lt;/b&gt;&lt;/font&gt;&amp;quot;There must be a text-based form of the query language which can be read and written by users of the language&amp;quot;,  and you list the status as &amp;quot;pending&amp;quot;.&lt;/p&gt; &lt;p&gt;As background for section 4.1, you may be interested in &lt;a href=&quot;http://www.aifb.uni-karlsruhe.de/WBS/pha/rdf-query/&quot;&gt;RDFQueryLangComparison1&lt;/a&gt; (original text replaced with live link).&lt;br /&gt; &lt;br /&gt;It shows how to write queries in a form that includes English meanings.&lt;br /&gt; &lt;br /&gt;The example queries can be run by pointing a browser to &lt;a eudora=&quot;autourl&quot; href=&quot;http://www.reengineeringllc.com/&quot; title=&quot;http://www.reengineeringllc.com/&quot;&gt;www.reengineeringllc.com&lt;/a&gt; .&lt;br /&gt; &lt;br /&gt;Perhaps importantly, given the intricacy of RDF for nonprogrammers, one can get an English explanation of the result of each query.&lt;br /&gt; &lt;br /&gt;-- Dr. Adrian Walker of &lt;a href=&quot;https://www.reengineeringllc.com/ibl_login.html#about&quot;&gt;Internet Business Logic &lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;The Semantic Web continues to take shape, and Infonauts (information centric agents) are already taking &lt;a href=&quot;http://www.reengineeringllc.com/IBL_tutorial_part1.html&quot;&gt;shape&lt;/a&gt;.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;A great thing about the net is the &amp;quot;back to the future&amp;quot; nature of most Web and Internet technology. For instance we are now frenzied about Service Oriented Architecture (SOA), Event Drivent Architecture (EDA), Loose Coupling of Composite Services etc. Basically rehashing the CORBA vision.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;I see the Semantic Web playing a similar role in relation to artificial intelligence. &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;BTW - It still always comes down to data, and as you can imagine &lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso&lt;/a&gt; will be playing its usual role of alleviating the practical implementation and ulization challenges of all of the above :-)&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Comparison of RDF Query Languages</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-06-09#557</atom:id>
  <atom:published>2004-06-09T17:32:42Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The W3C RDF Data Access Working Group recently released an initial public Working Draft specification for &quot;&lt;a href=&quot;http://www.w3.org/TR/2004/WD-rdf-dawg-uc-20040602/&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;RDF Data Access Use Cases and Requirements&lt;/font&gt;&lt;/a&gt;&quot;. Naturally, this triggered discussion on the RDF mailing list along the following lines:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;In section, 4.1 Human-friendly Syntax, you say&lt;font size=&quot;4&quot;&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;/font&gt;&quot;There must be a text-based form of the query language which can be read and written by users of the language&quot;,&amp;nbsp; and you list the status as &quot;pending&quot;.&lt;/p&gt; &lt;p&gt;As background for section 4.1, you may be interested in &lt;a href=&quot;http://www.aifb.uni-karlsruhe.de/WBS/pha/rdf-query/&quot;&gt;RDFQueryLangComparison1&lt;/a&gt; (original text replaced with live link).&lt;br&gt;&lt;br&gt;It shows how to write queries in a form that includes English meanings.&lt;br&gt;&lt;br&gt;The example queries can be run by pointing a browser to &lt;a eudora=&quot;autourl&quot; href=&quot;http://www.reengineeringllc.com/&quot; title=&quot;http://www.reengineeringllc.com/&quot;&gt;www.reengineeringllc.com&lt;/a&gt; .&lt;br&gt;&lt;br&gt;Perhaps importantly, given the intricacy of RDF for nonprogrammers, one can get an English explanation of the result of each query.&lt;br&gt;&lt;br&gt;-- Dr. Adrian Walker of &lt;a href=&quot;https://www.reengineeringllc.com/ibl_login.html#about&quot;&gt;Internet Business Logic &lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;The Semantic Web continues to take shape, and Infonauts (information centric agents) are already taking &lt;a href=&quot;http://www.reengineeringllc.com/IBL_tutorial_part1.html&quot;&gt;shape&lt;/a&gt;.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;A great this about the net is the &quot;back to the future&quot; nature of most Web and Internet technology. For instance we are now frenzied about Service Oriented Architecture (SOA), Event Drivent Architecture (EDA), Loose Coupling of Composite Services etc. Basically rehashing the CORBA vision.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;I see the Semantic Web playing a similar role in relation to artificial intelligence. &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;BTW - It still always comes down to data, and as you can imagine &lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso&lt;/a&gt; will be playing its usual role of alleviating the practical implementation and ulization challenges of all of the above :-)&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&amp;nbsp;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Mozilla Project and XUL</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-05-28#553</atom:id>
  <atom:published>2004-05-28T22:40:08Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;p&gt;By David Mertz, IBM &lt;a href=&quot;http://www.developerworks.com&quot;&gt;developerWorks&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In Part 2 of a serial article on GUIs and XML configuration data, David discusses how XML is used in the configuration of GUI interfaces. He looks at Mozilla&amp;#39;s XML-based User Interface Language (XUL) which allows you to write applications that run without any particular dependency on the choice of underlying operating system. This may seem strange at first, but you&amp;#39;ll soon see that this Mozilla project offers powerful tools for GUI building that allow you to develop for an extensive base of installed users. Mozilla is now much more than a browser: it is a whole component and GUI architecture. Indeed, Mozilla is more cross-platform and more widely installed on user systems than probably any other GUI library you are likely to consider. What you might think of as general purpose GUI/widget libraries -- Qt, wxWindows, GTK, FOX, MFC, .NET, Carbon, and so on -- have various advantages and disadvantages. But none of them can be assumed to be already installed across user systems. Many of them are only available on a subset of the platforms Mozilla supports, and most are relatively difficult to install or have licensing issues. Mozilla is worth installing just because it is such a great browser; once you have it, you have a free platform for custom applications. To be completely cross-platform in your Mozilla/XUL applications, you need to restrict yourself to configuring GUIs in XUL and programming their logic in JavaScript.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www-106.ibm.com/developerworks/library/x-matters35/&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://www-106.ibm.com/developerworks/library/x-matters35/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;p&gt;See also XUL References: &lt;a href=&quot;http://xml.coverpages.org/xul.html&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://xml.coverpages.org/xul.html&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Preventable SQL DBMS Vulnerabilities</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-05-17#546</atom:id>
  <atom:published>2004-05-18T00:42:08Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Here are some excerpts (inlined) with my comments (outlined)&amp;nbsp;from an &lt;a href=&quot;http://www.db2mag.com/showArticle.jhtml?articleID=18901175&quot;&gt;interesting article&lt;/a&gt;&amp;nbsp;on SQL DBMS exploits and vulnerabilities by &lt;a href=&quot;http://www.appsecinc.com/&quot;&gt;Aaron C. Newman&lt;/a&gt;, for &lt;a href=&quot;http://www.db2mag.com/show&quot;&gt;DB2 Magazine&lt;/a&gt;&amp;nbsp;titled &quot;6 Security Secrets Attackers don&#39;t want You To Know&quot;.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;How secure is your data? Looking at your information management resources through a would-be intruder&#39;s eyes can help you find (and fix) vulnerabilities.&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;Naturally :-)&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;When E. F. Codd developed his relational data model in 1970, the business world was a different place. Almost 35 years after his seminal work appeared, RDBMSs that sprung from Codd&#39;s ideas are the standard for storing corporate information. And, with government and industry regulations dictating what kinds of information companies have to store, manage, and audit (and for how long), protecting this information is more important than ever. Unfortunately, it&#39;s also more challenging&lt;/p&gt; &lt;p&gt;Even in 1985, when &lt;a href=&quot;http://www.databaseanswers.com/codds_rules.htm&quot;&gt;Dr. Codd published 12 guidelines for RDBMSs&lt;/a&gt;, there was little concern for data security. In those days, gaining access to a database was so difficult that advanced security features on the database were irrelevant. &lt;/p&gt; &lt;p&gt;Today, RDBMSs carry the lifeblood of every organization. Note the use of the plural: Organizations now have many databases that are decentralized in terms of use and security controls. E-business demands that data access be extended to customers, partners, suppliers, and other parties who were rarely considered in the early data management days. With all this availability ? not to mention pressure from an array of government and industry regulations (see the sidebar, &lt;a href=&quot;http://www.db2mag.com/showArticle.jhtml?articleID=18901175#sidebar&quot;&gt;&quot;Security and Compliance&quot;&lt;/a&gt;) ? the need to control exactly who can access or modify data is becoming paramount. &lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;Absolute facts, that are still partially understood at best. For instance we are still in a so called &quot;Information Age&quot; in which standards based data access remains an issue of contempt instead of absolute necessity. &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;There are a number of prevailing myths about standards based data access that continue to cloak reality:&lt;/p&gt; &lt;ol dir=&quot;ltr&quot;&gt; &lt;li&gt; &lt;div&gt;ODBC, JDBC, ADO.NET, OLEDB all deliver poor performance (compared to their native, proprietary, and database specific counterparts; native interfaces)&lt;br&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;You can&#39;t really right generic database applications with these standards due to inconsistencies in the DBMS implementations of SQL (not true! there are many aspects of the specs that address these concerns if only a majority of driver vendors would implement these features, and the application developers actually used them by seeking drivers with full implementations).&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Even if the above were true (which I refute strongly), how about the general security vulnerabilities that affect both Native, and Standards compliant, data access interfaces?&lt;/p&gt; &lt;p&gt;Aaron&#39;s article does a good job of highlighting 6 areas of vulnerability:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;div&gt;DBMS Defaults (usernames and passwords)&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Authentication (at connect time)&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Database Privileges&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Fixpaks &lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Buffer Overflows&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;SQL Injection&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;What I have been able to do very quickly (thanks to blogging, and the power of a blog engine that supports &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?id=543&quot;&gt;WebDAV&lt;/a&gt;), is write a &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/articles/uda_rule_book_sql_attacks.htm&quot;&gt;tabulated response to each of the items &lt;/a&gt;(bar Fixpaks) indicating how the &lt;a href=&quot;http://www.openlinksw.com/info/mtproduct.htm&quot;&gt;OpenLink Multi-Tier Data Access Drivers &lt;/a&gt;(for ODBC, JDBC, ADO.NET, and OLEDB) protect corporate databases from each of these vulnerabilities.&lt;/p&gt; &lt;p&gt;To cut a long story short, we are increasingly living a contradiction where the terms &quot;simple&quot; and &quot;free&quot; are supposed to lead us to products that can adequately handle the challenges of an increasingly sophisticated grid of inter-connecting point. &lt;/p&gt; &lt;p&gt;I have been asked on numerous occassions, &quot;How can you build a company and business based on data access technology?&quot;. My reply is the same as usual, &quot;because everything comes down to data&quot;. If the data is compromised in anyway, then kiss Information, Knowledge, and everything else goodbye!&lt;/p&gt; &lt;table align=&quot;right&quot; border=&quot;0&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; width=&quot;336&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Collaboration Software</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-05-14#543</atom:id>
  <atom:published>2004-05-14T23:39:35Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=d2312299-0c0d-497b-9268-4b124f61f801&quot;&gt;Dare Obasanjo&lt;/a&gt; points out that Microsoft Sharepoint offers &amp;quot;by reference&amp;quot; as opposed to &amp;quot;by value&amp;quot; mail attachment capability that &lt;a href=&quot;http://www.infoworld.com/article/04/02/27/09TCxythos_1.html&quot;&gt;Jon UdellÂ reviewedÂ &lt;/a&gt;in a recent blog post,Â true! So does Virtuoso in a number of ways (most importantly independent ofÂ client or serverÂ operating system).&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;This issue really brings WebDAV into scope as this is the protocol that enables this capability (as covered by Jon&amp;#39;s piece), and it is one of the many client and server side protocols implemented by &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;OpenLink Virtuoso&lt;/a&gt;Â (the key to how Virtuoso delivers URI based SQL-XML, XQuery, XPathÂ services). &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;When you install Virtuoso you simply have to start the Virtuoso server instanceÂ to the get WebDAV functionality going. All of Virtuoso&amp;#39;s services are advertised at ports, and in the case of WebDAV you will find this at port 8890 if you start the demo database. &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;To exploit the Virtuoso/WebDAV server from any WebDAV client (or point urls at WebDAV hosted resources) simply do the following:&lt;/p&gt; &lt;ol dir=&quot;ltr&quot;&gt; &lt;li&gt; &lt;div&gt;Install Virtuoso and depending on your OS do the following:&lt;/div&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt; &lt;div&gt;Windows - create a &lt;a href=&quot;http://support.openlinksw.com/support/tutorials.vsp?c=Web+Server&quot;&gt;Web Folder &lt;/a&gt;that points to a WebDAV server&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Mac OS X - &lt;a href=&quot;http://developer.apple.com/technotes/tn/tn2043.html&quot;&gt;mount a WebDAV&lt;/a&gt; folder&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;Linux - mount a &lt;a href=&quot;http://www.sfu.ca/acs/linux/webdav-linux.html&quot;&gt;WebDAV directory&lt;/a&gt;Â (also see the &lt;a href=&quot;http://dav.sourceforge.net/&quot;&gt;Davfs2&lt;/a&gt; Open Source project)&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div&gt;You can also make WebDAV client calls from Virtuoso&amp;#39;s Stored Procedure Language (Virtuoso PL) or use WebDAV implementations in any development environment of your choice (&lt;a href=&quot;http://www.independentsoft.de/webdav/&quot;&gt;.NET&lt;/a&gt;, &lt;a href=&quot;http://sourceforge.net/projects/skunkdav/&quot;&gt;Java&lt;/a&gt;, .&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt; &lt;div&gt;Place content that you want to reference in your mails in your WebDAV repository via any of the client side mechanisms described in step 1. You can see the results of this in my earlier &lt;a href=&quot;http://www.openlinksw.com/weblogs/virtuoso/index.vspx?id=505&quot;&gt;blog post&lt;/a&gt;, even better pass the &lt;a href=&quot;http://kingsleydemo.openlinksw.com:8890/rtmhosting/99bottles.php&quot;&gt;url &lt;/a&gt;on in an email! Or browse the &lt;a href=&quot;http://kingsleydemo.openlinksw.com:8890/rtmhosting/&quot;&gt;WebDAV folder &lt;/a&gt;(there are some nuggets deliberately left in place :-) )&lt;br /&gt;&lt;/div&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt; &lt;div&gt;You could simply save an Office Doc (&lt;a href=&quot;http://kingsleydemo.openlinksw.com:8890/rtmhosting/webDADWWW2004.ppt&quot;&gt;powerpoint&lt;/a&gt;, excel, word etc)Â to this location and the circulate urls in your mails (this has been standard practice at OpenLink for many years; we even have a full blown portal server that would soon be available as a public service to sharing anything via DAV and as usual some more... stay tuned)&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt; &lt;div&gt;That&amp;#39;s it for any platform (Windows, Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX etc.) once you install Virtuoso!&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;BTW - This blog is WebDAV based (it&amp;#39;s a live instance of Virtuoso doing many things; WebDAV, HTTP, SQL-XML based feed generation for ATOM, RSS, Blog Post APIs support (Moveable Type, Metaweblog, Blogger, ATOM), Free Text, XPath, XQuery, and more).Â  &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Mono mDnsResponder</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-05-03#536</atom:id>
  <atom:published>2004-05-03T19:05:15Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;Brady Anderson has released the first version of his &lt;a href=&quot;http://forge.novell.com/modules/xfmod/project/?mdnsresponder&quot;&gt;multicast DNS responder&lt;/a&gt; written in C# for the Mono and .NET platforms. This is the foundation for implementing rendezvous-like functionality in your applications. [via &lt;a href=&quot;http://www.go-mono.com/&quot;&gt;Mono Project News&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;This is an example of Open Source adding a critical pieces of infrastructure to .NET that doesn&amp;#39;t currently exist (in a sense an embrace and extend). The community isn&amp;#39;t waiting for a .NET Frameworks implementation to clone, instead it has implemented this using Mono, which by implication means availability under Microsoft .NET.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>A Standards-Based Look at XAML&#39;s Features</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-29#534</atom:id>
  <atom:published>2004-04-29T21:15:30Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;p&gt;By Nigel McFarlane, &lt;a href=&quot;http://www.devx.com/&quot;&gt;devX.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Microsoft&amp;#39;s XAML markup language floats on top of the .NET platform. It is compiled into .NET classes, usually C#, which reduces it to a set of objects. Along with a host of other XML dialects it is an example of a new type of specification for GUIs. &lt;/p&gt; &lt;p&gt;This article takes a look at XAML&amp;#39;s tags to see what (if anything) is new in them. There are many such GUI specifications now, a few being &lt;a href=&quot;http://www.mozilla.org/projects/xul/&quot;&gt;Mozilla&amp;#39;s XUL&lt;/a&gt;, &lt;a href=&quot;http://www.oracle.com/consulting/offerings/platform/jhs_fs.pdf&quot;&gt;Oracle&amp;#39;s UIX&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/search?sourceid=navclient&amp;ie=UTF-8&amp;oe=UTF-8&amp;q=Macromedia+Flex&quot;&gt;Macromedia&amp;#39;s Flex &lt;/a&gt;and the XML files created by the &lt;a href=&quot;http://www.gtkmm.org/gnomemm2/reference/html/namespaceGnome_1_1Glade.html&quot;&gt;Gnome Glade tool&lt;/a&gt;. Although not W3C standards, some of these new GUI specifications are already on the W3C standards track. An example is the box model used within Mozilla&amp;#39;s XUL, which is headed toward inclusion in future CSS drafts. &lt;/p&gt; &lt;p&gt;The original and most popular source of XML definitions is, however, still the World Wide Web Consortium. The W3C is responsible for formalizing XML and many XML applications such as XHTML and SVG. Given that these standards are mostly complete, do we really need all these new XML GUI dialects?&lt;/p&gt; &lt;p&gt;Microsoft&amp;#39;s XAML is a new spin on XML-based GUI description languages, borrowing very little syntax from established standards. Let&amp;#39;s see if it&amp;#39;s a radical improvement in some way, or if it&amp;#39;s merely familiar old friends dressed up in new clothes.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.devx.com/webdev/Article/20834&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://www.devx.com/webdev/Article/20834&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;p&gt;See also XAML References: &lt;a href=&quot;http://xml.coverpages.org/ms-xaml.html&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://xml.coverpages.org/ms-xaml.html&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>IKVM (Java for .NET and Mono) Update</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-24#527</atom:id>
  <atom:published>2004-04-24T20:55:32Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;An &lt;a href=&quot;http://weblog.ikvm.net/story.aspx/faq&quot;&gt;IKVM&lt;/a&gt; (technology for running Java under Mono and Microsoft .NET runtimes) update:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The next Mono release will contain the C half of the IKVM JNI provider and the next IKVM snapshot will contain the C# half of the Mono JNI provider. This means that JNI will work out of the box on Mono (for the parts of JNI that are actually implemented). Thanks to Zoltan and Miguel for this.&lt;/li&gt; &lt;li&gt;I&amp;#39;m planning an IKVM 0.8 release to coincide with the Mono 1.0 release.&lt;/li&gt; &lt;li&gt;John Luke added IKVM support to MonoDevelop. Read about it &lt;a href=&quot;http://www.advogato.org/person/jluke/diary.html?start=5&quot;&gt;here&lt;/a&gt; or see the screenshot &lt;a href=&quot;http://helios.acomp.usf.edu/~luke/md-java-ikvm.png&quot;&gt;here&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;I successfully started up Eclipse 3.0 M8 for the first time yesterday. Thanks to Michael Koch for his work on GNU Classpath&amp;#39;s java.nio implementation and all the other GNU Classpath hackers, of course.&lt;/li&gt; &lt;li&gt;In the comments, Jesus Garcia point me to &lt;a href=&quot;http://swingwt.sourceforge.net/&quot;&gt;SwingWT&lt;/a&gt;. An SWT based implementation of AWT and Swing by Robin Rawson-Tetley. Very cool stuff! It doesn&amp;#39;t run on the latest snapshot due to a JNI bug, but I have it running and it&amp;#39;s very cool to see the &lt;a href=&quot;http://www.frijters.net/swingset.png&quot;&gt;SwingSet demo running on IKVM&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I hope to do a new snapshot in the first week of May and after that to work towards the 0.8 release. &lt;/p&gt;&lt;img height=&quot;0&quot; src=&quot;http://weblog.ikvm.net/aggbug.ashx?id=f6763ea7-5c93-4408-9c72-719f587f9445&quot; width=&quot;0&quot; /&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://weblog.ikvm.net/&quot;&gt;IKVM.NET Weblog&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>621 variations of The &quot;99 Bottles of Beer&quot; programming puzzle</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-07#504</atom:id>
  <atom:published>2004-04-07T23:48:39Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://www.99-bottles-of-beer.net//&quot;&gt;621 variations of the &amp;quot;99 Bottles of Beer&amp;quot; programming puzzle&lt;/a&gt; implemented across a plethora of programming languages. Cool!&lt;/p&gt; &lt;p&gt;As I completed this post a bell went off! Why not use this for a quick live demo of &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;Virtuoso&amp;#39;s hosting capabilities&lt;/a&gt;? Starting off with something simple like PHP for instance?&lt;/p&gt; &lt;p&gt;So, I quickly did the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Cut and pasted the PHP version of this programming puzzle into a text file (using notepad) &lt;/li&gt; &lt;li&gt;Copy and pasted from my Windows Directory to my Virtuoso WebDAV directories on our Windows and Linux Virtuoso Demo Servers. I achieved this by creating Web Folders (Windows OS level&lt;/li&gt;&lt;/ol&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>621 variations of The &quot;99 Bottles of Beer&quot; programming puzzle</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-07#501</atom:id>
  <atom:published>2004-04-07T20:02:05Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://www.99-bottles-of-beer.net//&quot;&gt;621 variations of the &quot;99 Bottles of Beer&quot; programming puzzle&lt;/a&gt; implemented across a plethora of programming languages. Cool!</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>621 variations of The &quot;99 Bottles of Beer&quot; programming puzzle</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-07#508</atom:id>
  <atom:published>2004-04-07T20:02:05Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://www.99-bottles-of-beer.net//&quot;&gt;621 variations of the &quot;99 Bottles of Beer&quot; programming puzzle&lt;/a&gt; implemented across a plethora of programming languages. Cool!</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>621 variations of The &quot;99 Bottles of Beer&quot; programming puzzle</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-07#513</atom:id>
  <atom:published>2004-04-07T20:02:05Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://www.99-bottles-of-beer.net//&quot;&gt;621 variations of the &quot;99 Bottles of Beer&quot; programming puzzle&lt;/a&gt; implemented across a plethora of programming languages. Cool!</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Customer demand for a ubiquitous InfoPath runtime</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#499</atom:id>
  <atom:published>2004-04-06T18:55:04Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS?&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow!&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;How about InfoPath emitting XForms compliant forms? Even better, what about&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Customer demand for a ubiquitous InfoPath runtime</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#506</atom:id>
  <atom:published>2004-04-06T18:55:04Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS?&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow!&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;How about InfoPath emitting XForms compliant forms? Even better, what about&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Will SQL Become The ETL Language Of Choice?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-28#497</atom:id>
  <atom:published>2004-03-29T02:57:59Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;a href=&quot;http://www.rittman.net/archives/000825.html&quot;&gt;Will SQL Become The ETL Language Of Choice?&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Will SQL replace proprietary tool languages as the ETL language of choice? Yves de Montcheuil &lt;a href=&quot;http://www.dmreview.com/editorial/newsletter_article.cfm?nl=bireport&amp;articleId=1000016&amp;issue=031604&quot;&gt;asks this question over at DMReview.com&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.rittman.net/&quot;&gt;Mark Rittman&amp;#39;s Oracle Weblog&lt;/a&gt;]&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Natural History of Software Platforms</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-28#496</atom:id>
  <atom:published>2004-03-29T02:32:19Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">A very interesting &lt;a href=&quot;http://www.synthesist.net/writing/software_platforms.html&quot;&gt;article&lt;/a&gt; by David Stutz about how software packages eventually become platforms.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Metadata? Thesauri? Taxonomies? Topic Maps! Making Sense Of It All.</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-24#493</atom:id>
  <atom:published>2004-03-24T15:43:12Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;p&gt;By Lars Marius Garshol, Ontopia Technical Report&lt;/p&gt; &lt;p&gt;Information Architecture is the discipline dealing with the modern version of this problem: how to organize web sites so that users actually can find what they are looking for. Information architects have so far applied known and well-tried tools from library science to solve this problem, and now topic maps are sailing up as another potential tool for information architects. This raises the question of how topic maps compare with the traditional solutions. The paper argues that topic maps go beyond the traditional solutions in the sense that it provides a framework within which they can be represented as they are, but also extended in ways which significantly improve information retrieval. The paper tries to show that topic maps provide a common reference model that can be used to explain how to understand many common techniques from library science and information architecture.&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;a href=&quot;http://www.ontopia.net/topicmaps/materials/tm-vs-thesauri.html&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://www.ontopia.net/topicmaps/materials/tm-vs-thesauri.html&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt; &lt;p&gt;See also (XML) Topic Maps: &lt;/font&gt;&lt;a href=&quot;http://xml.coverpages.org/topicMaps.html&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;http://xml.coverpages.org/topicMaps.html&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Digital Technology Hall of Fame: Charles Geschke</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-23#487</atom:id>
  <atom:published>2004-03-24T01:41:18Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;Adobe, Photoshop, Moveable Type are all part of our daily computing lexicon, and increasingly do in the digital net era. Conversely, I wonder how many know the name &lt;a href=&quot;http://www.crn.com/sections/special/hof/hof.asp?ArticleID=11156&quot;&gt;Charles Geschke&lt;/a&gt;? Well he (and &lt;a href=&quot;http://www.crn.com/sections/special/supplement/816/816p49_hof.asp&quot;&gt;John Warnock&lt;/a&gt;) are the ones that made this all happen (against many odds in the early days at Adobe).&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;font face=&quot;UNIVERS&quot; size=&quot;2&quot;&gt;&quot;The enormity of the impact that this company has had on the way everything that is printed is produced cannot be measured,&quot; said Christopher Galvin, an analyst with Hambrecht &amp;amp; Quist LLC in San Francisco. And Geschke himself points out that this sphere of influence now includes Hollywood, television and, of course, the Internet.&lt;/font&gt; &lt;/p&gt; &lt;p&gt;&lt;font face=&quot;UNIVERS&quot; size=&quot;2&quot;&gt;Armed with his childhood penchant for disassembling the family&#39;s appliances and a trio of college degrees, he wound up at &lt;a href=&quot;http://www.crn.com/sections/special/hof/hof.asp?ArticleID=11165&quot;&gt;Xerox Corp.&#39;s famed Palo Alto Research Center (PARC)&lt;/a&gt;, a breeding ground for inventions that seemingly made billions for everyone except Xerox. He hired Warnock in 1978 and in 1980 founded PARC&#39;s Imaging Sciences Laboratory with the mission of marrying computer technology to Xerox&#39;s legacy printing products. The duo&#39;s Interpress page-description language became Xerox&#39;s internal standard, but the company refused to license it to others. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;UNIVERS&quot; size=&quot;2&quot;&gt;Frustrated with the inability to publicly showcase their creation, Geschke and Warnock left PARC and started Adobe in 1982, naming the fledgling company after the creek running behind Warnock&#39;s house. The original mission, Warnock recalled, was to go into a service business, &quot;kind of like what Kinko&#39;s is today.&quot; &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Demo Hell and back</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-23#482</atom:id>
  <atom:published>2004-03-23T20:04:04Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;This piece links to a great &lt;a href=&quot;http://www.frenchguys.com/temp/Mono.ppt&quot;&gt;Mono presentation&lt;/a&gt;&amp;nbsp;(bar the reference&amp;nbsp;placement of&amp;nbsp;MySQL/PostgreSQL in a box somewhat adjacent to ADO.NET (see slide 7). When ADO.NET should have be associated with Data Providers for ODBC, MySQL, PostgresSQL, and others for clarity (the natural goal of the presentation).&lt;/p&gt; &lt;p&gt;We have got to take time to understand the Data Access Layer, if we don&#39;t we will utlimately &lt;a href=&quot;http://www.securityfocus.com/archive/1/358200&quot;&gt;pay a hefty price &lt;/a&gt;(IMHO).&lt;/p&gt; &lt;p&gt;This blog post is also hillarious, especially if you have encountered the mercurial &quot;Murphy&quot; during live product demos.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;So, today I went to hell. And then I came back. It was a short trip.&lt;/p&gt; &lt;p&gt;This year, I am giving a presentation on Mono at Brainshare in Salt Lake City, an intro to Mono for developers. I got a pretty good turnout with a few ximian people in the back (including Joe whom I saw for the first time without a hat).&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;So I plug in my PowerBook 12&quot; as I always do but for some reason I have a hard time getting the projector to display its output. After struggling a little I resort to using the desktop provided by Novell, running Ximian Desktop 2 (and some version Suse Linux).&lt;/p&gt; &lt;p&gt;So I upload my &lt;a href=&quot;http://www.frenchguys.com/temp/Mono.ppt&quot; target=&quot;_blank&quot;&gt;presentation&lt;/a&gt; to &lt;a href=&quot;http://www.frenchguys.com/&quot; target=&quot;blank&quot;&gt;www.frenchguys.com&lt;/a&gt; from my mac and then download it back to the desktop. Now I can make my presentation, which goes well. Then I get to a slide that just says : &lt;b&gt;DEMO&lt;/b&gt;. Hmmm. Demo. I don&#39;t have Mono installed on that generic machine I was just given. I am going to need magic. So to magic I resort.&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://go-mono.com/monologue&quot;&gt;Monologue&lt;/a&gt;]&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Beyond knowledge?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-10#473</atom:id>
  <atom:published>2004-03-10T23:12:54Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://weblog.infoworld.com/udell/2004/03/09.html#a940&quot;&gt;Beyond knowledge?&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;table align=&quot;right&quot; cellpadding=&quot;0&quot; cellspacing=&quot;4&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://www.wired.com/wired/archive/12.02/india_pr.html&quot;&gt;&lt;img src=&quot;http://www.wired.com/wired/archive/12.02/images/FF_94_1.jpg&quot; /&gt;&lt;/a&gt; &lt;div align=&quot;center&quot; class=&quot;realsmall&quot;&gt;Aparna Jairam&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://www.njleg.state.nj.us/members/turner.asp&quot;&gt;&lt;img src=&quot;http://www.njleg.state.nj.us/members/memberphotos/turner.jpg&quot; /&gt;&lt;/a&gt; &lt;div align=&quot;center&quot; class=&quot;realsmall&quot;&gt;Shirley Turner&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The February issue of Wired features an &lt;a href=&quot;http://www.wired.com/wired/archive/12.02/india_pr.html&quot;&gt;article on offshoring&lt;/a&gt; by Daniel Pink, author of &lt;a href=&quot;http://allconsuming.net/item.cgi?isbn=0446678791&quot;&gt;Free Agent Nation&lt;/a&gt;. Wired&amp;#39;s story, entitled &lt;i&gt;The New Face of the Silicon Age&lt;/i&gt;, might instead have been called &lt;i&gt;Free Agent World&lt;/i&gt;. Here&amp;#39;s a stunning exchange between Pink and New Jersey state senator Shirley Turner: &lt;blockquote&gt;I toss a slur across her desk. I call her a protectionist. &lt;br /&gt;&lt;br /&gt;&amp;quot;Oh, and I&amp;#39;m proud of it,&amp;quot; she responds. &amp;quot;I wear that badge with honor. I am a protectionist. I want to protect America. I want to protect jobs for Americans.&amp;quot; &lt;br /&gt;&lt;br /&gt;&amp;quot;But isn&amp;#39;t part of this country&amp;#39;s vitality its ability to make these kinds of changes?&amp;quot; I counter. &amp;quot;We&amp;#39;ve done it before - going from farm to factory, from factory to knowledge work, and from knowledge work to whatever&amp;#39;s next.&amp;quot; &lt;br /&gt;&lt;br /&gt;She looks at me. Then she says, &amp;quot;I&amp;#39;d like to know where you go from knowledge.&amp;quot; [&lt;a href=&quot;http://www.wired.com/wired/archive/12.02/india_pr.html&quot;&gt;Wired: Kiss Your Cubicle Goodbye&lt;/a&gt;] &lt;/blockquote&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;Where indeed? I think protectionism is the wrong approach. And I think &lt;a href=&quot;http://weblog.infoworld.com/udell/2004/03/08.html#a939&quot;&gt;Dick Cook&amp;#39;s ideas&lt;/a&gt; are right. But let&amp;#39;s not kid ourselves. What&amp;#39;s at stake here isn&amp;#39;t just call-center jobs, or &lt;a href=&quot;http://tbray.org/ongoing/When/200x/2004/02/23/NumbingCoding&quot;&gt;mind-numbing&lt;/a&gt; code-writing jobs, or &lt;a href=&quot;http://www.nytimes.com/2004/03/04/opinion/04FRIE.html&quot;&gt;accounting jobs&lt;/a&gt;. Creativity, innovation and hard work are the levers that move the global economy, and anybody, anywhere, will be able to grasp those levers. [via &lt;a href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&amp;#39;s Radio&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;As for the question posed at the end of the article; where do we go &amp;quot;beyond knowledge?&amp;quot; I have a simple answer -&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Ontology mapping for blogs</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-03-05#471</atom:id>
  <atom:published>2004-03-05T21:57:11Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://jena.hpl.hp.com:3030/blojsom-hp/blog/technologies/semweb/ontologies/?permalink=D73C1BF8D6F911413BA7FAE629764D04.textile&quot;&gt;Ontology mapping for blogs&lt;/a&gt; &lt;p&gt;Man this is interesting. Is Dave Winer getting into the idea of ontology merging? Read &lt;a href=&quot;http://www.cadence90.com/blogs/2003_11_01_nixon_archives.html&quot;&gt;this comment&lt;/a&gt; and judge for yourself:&lt;br /&gt;&lt;br /&gt;?The hierarchy itself is separate ? you (could) publish an &lt;span class=&quot;caps&quot;&gt;OPML&lt;/span&gt; file of that hierarchy and put it in a public place.&lt;br /&gt;In answering the question, ?Why do it this way?? Dave gave an interesting response ? the atomization of a blog into feeds would allow users to merge the ?my world? of their blog with content from the many ?their worlds? on the net. Such merged topical hierarchies could then themselves be exported as an &lt;span class=&quot;caps&quot;&gt;OPML&lt;/span&gt; file and a defacto statement of ?this is my point of view, my information and other information from beyond my domain that I think is important.?&lt;/p&gt; &lt;p&gt;There?s a number of folk hard at work on this problem: the &lt;a href=&quot;http://www.xfml.org/&quot;&gt;XFML&lt;/a&gt; folks, Paolo Valdemarin &amp;amp; Matt Mower on their &lt;a href=&quot;http://k-collector.evectors.it/&quot;&gt;k-collector&lt;/a&gt;, and our very own SWAD-E thesaurus project which &lt;a href=&quot;http://www.w3c.rl.ac.uk/SWAD/deliverables/8.2.html#2.5&quot;&gt;discusses mapping issues&lt;/a&gt; . Heck, we even discussed the issue in our &lt;a href=&quot;http://www.w3.org/2001/sw/Europe/reports/open_demonstrators/hp-requirements-specification.html&quot;&gt;requirements specification&lt;/a&gt;. All at different levels of sophistication and complexity. I suspect that something as simple as blog categorization won&amp;#39;t run into the &lt;a href=&quot;http://www.w3.org/2001/sw/Europe/reports/open_demonstrators/hp-requirements-specification.html&quot;&gt;really hard thesaurus mapping problems&lt;/a&gt;, but that it won?t be straightforward as Dave?s comments might lead one to think.&lt;/p&gt; &lt;p&gt;To expand on this theme, let?s think about how people might want to share categories. Firstly, you might want to simply reuse someone else?s categorization scheme. That?s fine as a bootstrap, but what if you already have a scheme? What if the 2 schemes overlap? What happens to your previously categorized blog entries? You might, I suggest, want at least the ability to say ?these two categories are the same?.&lt;br /&gt;Then there?s the aggregation of categories. Without some sort of mapping, two blogs using different categorization schemes are just that ? 2 blogs.&lt;br /&gt;A feasible approach is the decentralized ontology creation favoured by &lt;a href=&quot;http://topicexchange.com/&quot;&gt;Topic Exchange&lt;/a&gt; and k-collector. Here, people suggest new topics/categories, and the (ever growing) structure is shared among the community. A fine idea, but one I fear is not scaleable beyond a very small community.&lt;br /&gt;Finally, there is the idea of ?semantic lenses? ? using 2 different categorization schemes to view the &lt;b&gt;same&lt;/b&gt; content.&lt;/p&gt; &lt;p&gt;Oh, one other thing. Reading on, I note ?Dave?s idea is that supporting views other than reverse-chron gives new participants entry points into the data?. I couldn?t agree more, this is what I was trying to demonstrate with semantic view, navigation and query on the semantic blogging &lt;a href=&quot;http://jena.hpl.hp.com/~stecay/downloads/script.html&quot;&gt;prototype&lt;/a&gt;.&lt;/p&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://jena.hpl.hp.com:3030/blojsom-hp/blog/&quot;&gt;Semantic Blogging Demonstrator&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>MySQL 4.1 Client Libraries go GPL</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-01-07#446</atom:id>
  <atom:published>2004-01-08T04:26:20Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://blog.bitflux.ch/p1626.html&quot;&gt;MySQL and the GPL&lt;/a&gt; Interesting read and thoughts and discussion about MySQL and &amp;quot;their&amp;quot; interpretation (backed by FSF) of the GPL on &lt;a href=&quot;http://www.edwardbear.org/serendipity/archives/1193_My_Beef_with_MySQLs_License.html&quot;&gt;Sterling&amp;#39;s Blog&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://blog.bitflux.ch/&quot;&gt;Bitflux Blog&lt;/a&gt;]&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Well it looks like the guys at MySQL AB have made a very bad move re. the MySQL 4.1 client libraries. They have made theseÂ libraries GPL as opposed to LGPL (these license format of the prior library releases), which simply means that any application that uses these libraries is now a &amp;quot;derivative work&amp;quot; and basically required to unveil source.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;I wonder how the tons of LAMP users and developersÂ feel right now, a change of this magnitude in mid-stream! Nice way to treat a community that has built itself around MySQL&amp;#39;s LGPL Client Libraries&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;A few years agoÂ I had to rescue the &lt;a href=&quot;http://www.iodbc.org&quot;&gt;iODBC (Independent ODBC) SDK project &lt;/a&gt;from the hands of &lt;a href=&quot;http://www.fsf.org&quot;&gt;FSF&lt;/a&gt; (Free Software Foundation), and this was done solely to prevent what MySQL and FSF are attempting to pull off (FSF had a clearÂ understanding of the inherent importance of data that is not necessarily comprehended by LAMP, or the broader industry). &lt;/div&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;div align=&quot;left&quot;&gt;&lt;em&gt;Unfortunately I couldn&amp;#39;t locate the Kingsley Idehen vs. Richard Stallman FreeODBC mailing list debate archive re. iODBC anywhere on the net, so this &lt;/em&gt;&lt;a href=&quot;http://udell.roninhouse.com/bytecols/1999-11-03.html&quot;&gt;&lt;em&gt;interview link &lt;/em&gt;&lt;/a&gt;&lt;em&gt;will have to suffice).&lt;/em&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;div align=&quot;left&quot;&gt;Ironically MySQL as opposed to iODBC|ODBC|unixODBC has come to instinctively define data access in the LAMP world, and in doing so the very essence of the ODBC value proposition has been somewhat lost.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Recap:&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;ODBC (Open Database Connectivity) is an API (Application Programming Interface) that enables database independent application development. &lt;a href=&quot;http://www.iodbc.org/index.php?page=docs/odbcstory#walkthrough&quot;&gt;Its implementation architecture&lt;/a&gt; enables Applications to bind to a Driver Manager which in turn loads ODBC Drivers. Now, initially this doesn&amp;#39;t look like a big deal, but it is, and the situation re. MySQL 4.1 illustrates the benefit of this architecture by protecting LAMP users and developers from the GPL&amp;#39;d 4.1 Client Libraries since MySQL is accessible via ODBC. &lt;br /&gt;&lt;/div&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;div align=&quot;left&quot;&gt;&lt;em&gt;note: ODBC Driver developers that use the 4.1 client libraries are &amp;quot;derivative work&amp;quot; and they will have to release source code which means we won&amp;#39;t be updating our MySQL ODBC DriversÂ because we won&amp;#39;t be forced into release the source code of our ODBC Drivers.&lt;/em&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;LAMP applications that are bound to iODBC|unixODBC|Microsoft ODBC will not be exposed to this stunt by FSF and MySQL AB. Why? Because an ODBC based LAMP solution isn&amp;#39;t touching those MySQL 4.1 client libraries!&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Now if you think that you are stumped simply because you wentÂ innocently down the LAMP pathÂ by buyingÂ into the &amp;quot;MySQL data access is good enoughÂ perception&amp;quot;, and now find yourself over invested in MySQL specific code (that is data access code bound directly to the MySQL client libraries), please don&amp;#39;t worry! There is an &lt;a href=&quot;http://www.iodbc.org/index.php?page=mysql2odbc/index&quot;&gt;Open Source solution called MySQL2ODBC&lt;/a&gt; that is based on the pre 4.1 MySQL client libraries that enables your MySQL specific application (which is typical of LAMP solutions) to become iODBC compliant, and this is achieved without a wholesale rewrite of your application. &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;I have been an ardent ODBC supporter since its inception simply because data is timelessly important, and ODBC provides a critical solution for separating application logic from data repositories.Â Â There is a lot of SQL data driving mission critical business applications globally, and failure to comprehend ODBC&amp;#39;s value proposition ultimately results in loss of control over Data, which is the foundation from which Information and Knowledge are derived.&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;You should never find yourself locked into any database vendor, programming language vendor, operating system vendor, or business application vendor, simply becuase you want exploit your own data. &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Ironically the statement above is for the most part the real reason why ODBC has such a bad wrap!&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Â &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Enterprise Databases get a grip on XML</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2004-01-06#442</atom:id>
  <atom:published>2004-01-06T23:17:07Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;p&gt;&lt;a class=&quot;listLinkLrg&quot; title=&quot;http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D&quot; href=&quot;http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D&quot; target=&quot;_new&quot;&gt;&lt;strong&gt;&lt;font face=&quot;Verdana&quot;&gt;Databases get a grip on XML&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;font face=&quot;Verdana&quot;&gt;From &lt;a href=&quot;http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D&quot;&gt;Inforworld&lt;/a&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face=&quot;Verdana,Geneva,Arial,sans-serif&quot; size=&quot;2&quot;&gt;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.ÃÂ  &lt;a title=&quot;http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D&quot; href=&quot;http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D&quot; target=&quot;_blank&quot;&gt;&amp;gt;&amp;gt; READ MORE&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;This article rounds up product for 2003 in the critical area of Enterprise Database Technology. It&amp;#39;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&amp;#39;s quote pretty much sums this up:&lt;/font&gt;&lt;/p&gt; &lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;!--StartFragment --&gt;&lt;span class=&quot;artText&quot;&gt;&lt;em&gt;&amp;quot;While the spotlight shone on the heavyweight contenders, a couple of agile innovators made noteworthy advances in 2003. &lt;/em&gt;&lt;a class=&quot;regularArticleU&quot; href=&quot;http://www.infoworld.com/699&quot;&gt;&lt;em&gt;OpenLink Software?s Virtuoso 3.0&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, 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.&amp;quot;&lt;/em&gt;&lt;/span&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Albeit still somewhat unknown to the broader industry we have remained true our &amp;quot;innovator&amp;quot; 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:&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/press/virtuoso.htm&quot;&gt;1998 - Virtuoso&amp;#39;s initial public beta&lt;/a&gt; release with functional emphasis on Virtual Database Engine for ODBC and JDBC Data Sources.&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/press/virtuoso1.htm&quot;&gt;1999 - Virtuoso&amp;#39;s official commercial&lt;/a&gt; release, with emphasis stillÃÂ on Virtual Database functionality for ODBC, JDBC accessible SQL Databases.&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/press/v2releas.htm&quot;&gt;2000 - Virtuoso 2.0&lt;/a&gt; adds XML Storage, XPath, XML Schema, XQuery, XSL-T, WebDAV, SOAP, UDDI, HTTP, Replication, Free Text Indexing (*feature update*), POP3, and NNTP support.&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/press/v27releas.htm&quot;&gt;2002 - Virtuoso 2.7&lt;/a&gt; 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.&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/press/virt3beta.htm&quot;&gt;2003 - Virtuoso 3.0&lt;/a&gt; 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).&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;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).&lt;/font&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;/font&gt;ÃÂ &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Officially introducing Mono.Security</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-12-03#436</atom:id>
  <atom:published>2003-12-03T20:39:24Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://pages.infinit.net/ctech/20031202-1004.html&quot;&gt;Officially introducing Mono.Security&lt;/A&gt; &lt;P&gt;I&#39;ve been talking a lot about Mono.Security but until today I didn&#39;t realize that it was never &lt;I&gt;officially&lt;/I&gt; introduced - at least in my blog.&lt;/P&gt; &lt;P&gt;The only existing introduction is the &lt;A href=&quot;http://www.go-mono.com/crypto.html&quot; target=_blank&gt;Mono&#39;s Crypto status page&lt;/A&gt; - which BTW is a great place to learn what&#39;s in and/or out Mono&#39;s cryptography.&lt;/P&gt; &lt;P&gt;&amp;lt;lazy-geek:copy-n-paste&amp;gt;&lt;BR&gt;&lt;B&gt;Rational&lt;/B&gt;: This assembly provides the missing pieces to .NET security. On Windows CryptoAPI is often used to provide much needed functionalities (like some cryptographic algorithms, code signing, X.509 certificates). Mono, for platform independence, implements these functionalities in 100% managed code.&lt;BR&gt;&amp;lt;/ lazy-geek:copy-n-paste&amp;gt; &lt;P&gt; &lt;P&gt;The most important piece of information is &lt;I&gt;100% managed code&lt;/I&gt;. This means that Mono.Security isn&#39;t tied to the Mono runtime and/or specific class library - you&#39;re free (really it&#39;s &lt;A href=&quot;http://www.opensource.org/licenses/mit-license.php&quot; target=_blank&gt;MIT X11&lt;/A&gt; licensed) to use it on any runtime you choose.&lt;/P&gt;&lt;B&gt;Structures&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;ASN1 decoding, encoding and type conversions;&lt;/LI&gt; &lt;LI&gt;&lt;A href=&quot;http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html&quot; target=_blank&gt;PKCS #7&lt;/A&gt; structures - used for Authenticode and SPC support and currently being updated for implementing &lt;CODE&gt;System.Security.Cryptography.Pkcs&lt;/CODE&gt; in .NET 1.2;&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;Many security file formats including little known / undocumented formats&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;PVK - Private Key files. Files that contains the private part of a public key. The format is mostly used by makecert.exe. Keys can be encrypted with RC4&lt;SUP&gt;tm&lt;/SUP&gt; using a user supplied password. Not very secure;&lt;/LI&gt; &lt;LI&gt;SPC - Software Publisher Certificates. Files that contains a collection of X.509 certificates and/or CRLs. This is the format required by signcode.exe to append an Authenticode® signature to a PE file.&lt;/LI&gt; &lt;LI&gt;&lt;FONT color=#ff0000&gt;[recent]&lt;/FONT&gt; &lt;A href=&quot;http://www.rsasecurity.com/rsalabs/pkcs/pkcs-8/index.html&quot; target=_blank&gt;PKCS #8&lt;/A&gt; class to protect private keys (for the soon included &lt;A href=&quot;http://www.rsasecurity.com/rsalabs/pkcs/pkcs-12/index.html&quot; target=_blank&gt;PKCS #12&lt;/A&gt; support);&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;Cryptography&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;ARCFOUR - A managed implementation of the &lt;I&gt;alleged RC4&lt;/I&gt; compatible stream cipher from RSA. Required for PVK file format and for SSL/TLS;&lt;/LI&gt; &lt;LI&gt;MD2 - A managed implementation of the &lt;A href=&quot;http://www.ietf.org/rfc/rfc1319.txt&quot; target=_blank&gt;RFC1319 MD2&lt;/A&gt; hash algorithm. Note: MD2 is deprecated and shouldn&#39;t be used in new designs. It is included into Mono.Security because many old, but still valid, X.509 certificates (mostly roots) have signatures based on MD2.&lt;/LI&gt; &lt;LI&gt;MD4 - A managed implementation of the &lt;A href=&quot;http://www.ietf.org/rfc/rfc1320.txt&quot; target=_blank&gt;RFC1320 MD4&lt;/A&gt; hash algorithm. Note: MD4 is BROKEN and shouldn&#39;t be used. It is included into Mono.Security because NTLM challenges require MD4. However this doesn&#39;t mean that NTLM is broken.&lt;/LI&gt; &lt;LI&gt;MD5SHA1 - The concatenation of a MD5 and SHA1 hash required to implement TLS.&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;Code signing&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;StrongName support - AFAIK the only open source implementation capable of signing/verifying strongnames on assemblies;&lt;/LI&gt; &lt;LI&gt;Authenticode® support for both signing, countersigning (timestamps) and verifying PE files (including .NET assemblies);&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;Protocols&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;TLS - Carlos Guzmán Álvarez has given his TLS (successor of SSL3) implementation to Mono! He&#39;s currently working on server side support and SSL compatibility - with an eye on the new &lt;A href=&quot;http://longhorn.msdn.microsoft.com/&quot; target=_blank&gt;.NET 1.2 API&lt;/A&gt;;&lt;/LI&gt; &lt;LI&gt;&lt;FONT color=#ff0000&gt;[recent]&lt;/FONT&gt; NTLM authentication. Now used for SQL Server authentication, soon to be used for HTTP.&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;X.509 certificates&lt;/B&gt; &lt;UL&gt; &lt;LI&gt;X.501 names decoding/encoding;&lt;/LI&gt; &lt;LI&gt;X.509 certificate decoder with full support for X.509v3 extensions;&lt;/LI&gt; &lt;LI&gt;X.509 certificate builder to create your own certificates!&lt;/LI&gt; &lt;LI&gt;Very basic (planned to improve) chaining and validation.&lt;/LI&gt;&lt;/UL&gt; &lt;P&gt;So the big, anticipated, questions were: &lt;UL&gt; &lt;LI&gt;&lt;I&gt;&quot;is Mono.Security complete?&quot;&lt;/I&gt; - No, but does it need to be to be useful ? Not to me ;-)&lt;/LI&gt; &lt;LI&gt;&lt;I&gt;&quot;is Mono.Security mature?&quot;&lt;/I&gt; - No, it&#39;s not &lt;I&gt;old&lt;/I&gt; enough to have been well tested.&lt;/LI&gt; &lt;LI&gt;&lt;I&gt;&quot;is Mono.Security totally safe?&quot;&lt;/I&gt; - No, supporting undocumented features is never safe - but it&#39;s almost as convenient as an AC in hell.&lt;/LI&gt;&lt;/UL&gt; &lt;P&gt;&lt;/P&gt; &lt;P&gt;but &lt;A href=&quot;http://primates.ximian.com/~miguel/activity-log.php&quot; target=_blank&gt;Miguel&lt;/A&gt;&#39;s question was subtler &lt;I&gt;&quot;How mature are Mono Security classes?&quot;&lt;/I&gt; There&#39;s no quick answer to that one.&lt;/P&gt; &lt;UL&gt; &lt;LI&gt;Most of the APIs will continue evolve to match new challenges like newer frameworks, WSE... - at least until the &lt;A href=&quot;http://www.go-mono.com/mono-roadmap.html&quot; target=_blank&gt;Mono 1.0 release&lt;/A&gt;. Interface stability is not yet a big priority at this stage (but I won&#39;t break it just for fun - at least not more than twice ;-)&lt;/LI&gt; &lt;LI&gt;ASN.1 support has been very stable for the last year - but it&#39;s clearly not designed for everyone. PKCS7 is more recent and still incomplete (wrt to 1.2); &lt;LI&gt;File formats are stable (as they don&#39;t change often ;-) and well tested because it&#39;s generally easy to find/generate test cases;&lt;/LI&gt; &lt;LI&gt;Cryptography is very stable because the interfaces are normalized and test vectors are available for testing. Most of them could easily be optimized without too much effort - maybe I&#39;ll do another optimizathon for Christmas vacations;&lt;/LI&gt; &lt;LI&gt;Code signing is still &lt;I&gt;experimental&lt;/I&gt;. It works but it&#39;s difficult to test and heavily undocumented. More independent tests would be welcomed! &lt;LI&gt;Protocols, both TLS and NTLM, are recent and still incomplete wrt to the specifications (when available). But they do the work that is currently required of them;&lt;/LI&gt; &lt;LI&gt;X.509 classes, has been somewhat &lt;I&gt;on hold&lt;/I&gt; before the preview release of .NET 1.2. This is because the current framework uses the features but do not expose them (like certificate stores, chaining...). In this case waiting for the (preview) release made more sense that starting a complete implementation from scratch.&lt;/LI&gt;&lt;/UL&gt; &lt;P&gt;So there&#39;s still a lots of stuff to do! Luckily I expect most of it to be pure fun :-).&lt;/P&gt; &lt;P&gt;Please report to me if you&#39;re using the classes in your own projects - I know may do ;-). I&#39;d like &lt;A href=&quot;http://www.go-mono.com/bugs.html&quot; target=_blank&gt;bug reports&lt;/A&gt; and/or comments about your experience with Mono.Security. &lt;A href=&quot;http://www.jacksonh.net/jackson/blog/archive/2003/Nov-30.html&quot; target=_blank&gt;Kittens would also appreciate for sure...&lt;/P&gt; &lt;DIV align=right&gt;[via &lt;A href=&quot;http://monologue.go-mono.com/&quot;&gt;Monologue&lt;/A&gt;]&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Deploying .NET on Mac OS X Inches closer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-12-02#433</atom:id>
  <atom:published>2003-12-03T03:49:43Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;P&gt;&lt;A href=&quot;http://primates.ximian.com/~miguel/all.html#12%2F02%2F2003+12%3A00%3A00&quot;&gt;02 Dec 2003: Mono 0.29 has been released&lt;/A&gt; &lt;/P&gt; &lt;P&gt;This release took us a long time to go out, but it is pretty exciting, with PPC supported. The best Mono release ever! [via &lt;A href=&quot;http://monologue.go-mono.com/&quot;&gt;Monologue&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt; &lt;P dir=ltr&gt;This time &lt;A href=&quot;http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=openlink_mono&quot;&gt;last year &lt;/A&gt;Mono enabled us to deliver a release of&lt;A href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt; Virtuoso &lt;/A&gt;that unveiled the power of .NET integration as a database extension mechanism on Windows and Linux along the following lines; &lt;A href=&quot;http://demo.openlinksw.com:8890/tutorial&quot;&gt;User Defined Types, User Defined Functions, and Stored Procedures using any .NET bound language&lt;/A&gt;. It also enabled the deployment of ASP.NET applications on Linux, and on Windows without IIS. One item missing from my check list at the time was a Virtuoso release for Mac OS X with identical functionality. &lt;P dir=ltr&gt;This announcement implies we are within striking distance of a Virtuoso 3.2 release that enables .NET classes and frameworks utilization (along the lines described above) on Mac OS X.&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Look Out, Outlook: RSS Ahead in 2004</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-12-02#432</atom:id>
  <atom:published>2003-12-02T23:10:02Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;An &lt;a href=&quot;http://www.eweek.com/article2/0,3959,1399365,00.asp?kc=EWRSS03119TX1K0000594&quot;&gt;interesting piece by Steve Gillmor&lt;/a&gt;, especially as we entering the 2004 prediction season. Here are some of his predictions (Web 2.0 content related details in my parlance):&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;RSS information routers will emerge in 2004 with the following characteristics: &lt;/p&gt; &lt;p&gt;? Persistent storage of XHTML full-text/graphics/audio/video of RSS feeds &lt;br /&gt;? XPATH search across local and Net stores &lt;br /&gt;? Self-forming and reordering subscriptions lists based on the aggregated priorities of user-chosen domain experts &lt;br /&gt;? Use of IM notification for post notification to aggregate affinity groups and active conversations &lt;br /&gt;? Integration of Hydra-like collaborative tools for multi-author conference transcripts &lt;br /&gt;? Videoconferencing routing and broadcast/recording tools &lt;br /&gt;? Integration of speech recognition and real-time indexing to allow quoting of linear audio and video streams &lt;br /&gt;? Mesh networked peer-to-peer synchronization engine for item propagation across shared spaces on multiple clients, including phones; iPods; and eventually Longhorn PDAs (circa 2006). &lt;/p&gt; &lt;p&gt;Armed with these tools, new industries will emerge in rapid succession: &lt;/p&gt; &lt;p&gt;? Metadata-driven directories that dynamically create RSS feeds based on affinity &lt;br /&gt;? Virtual conferences &lt;br /&gt;? IM/RSS presence networks for rich collaboration and e-mail replacement &lt;br /&gt;? Content-generation tools based on small, routable XHTML objects &lt;br /&gt;? A DRM network with enough creative and hardware support to blunt the Microsoft/RIAA DRM threat to peer-to-peer port hijacking. &lt;/p&gt;&lt;/blockquote&gt; &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.eweek.com/&quot;&gt;eWeek.com - Steve Gillmor&amp;#39;s Collaboration and Messaging Topic Center&lt;/a&gt;]&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Microsoft Killing the Web ?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-11-13#431</atom:id>
  <atom:published>2003-11-13T21:26:34Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;This is a really interesting collection of &lt;/SPAN&gt;&lt;FONT face=&quot;Times New Roman&quot; size=3&gt;&lt;EM&gt;Blogobillia&lt;/EM&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;!&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;It starts here with one of many excerpts from &lt;A href=&quot;http://radio.weblogs.com/0001011/&quot;&gt;Scoble&#39;s blog&lt;/A&gt;:&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;A href=&quot;http://blogs.law.harvard.edu/scriptingArchive/2003/11/12#When:9:47:09AM&quot;&gt;Dave Winer&lt;/A&gt;, &lt;A href=&quot;http://weblog.infoworld.com/udell/2003/11/11.html#a844&quot;&gt;Jon Udell&lt;/A&gt;, and now &lt;A href=&quot;http://lists.xml.org/archives/xml-dev/200311/msg00500.html&quot;&gt;Gerald Bauer &lt;/A&gt;says that Microsoft is killing the Web. Or trying to.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The guys above are pretty seasoned individuals (they save me a lot of writing too amongst other things).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Now here is a response from Microsoft?s Blog evangelist supremo Scoble to their comments and genuine concerns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;OK, let&#39;s assume that&#39;s true.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Microsoft has 55,000 employees. $50 billion or so in the bank.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Yet what has gotten me to use the Web less and less lately? RSS 2.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Seriously. I rarely use the browser anymore (except to post my weblog since I use Radio UserLand).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;See the irony there? Dave Winer (who at minimum popularized RSS 2.0) has done more to get me to move away from the Web than a huge international corporation that&#39;s supposedly focused on killing the Web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Now, let&#39;s look at what&#39;s really going on here. We&#39;re going back to being a great platform company. We&#39;re trying to provide a platform that lets developers build new applications that are impossible to build on other platforms. At the PDC you saw some of that. New kinds of forms. New kinds of games. New kinds of business apps. New kinds of experiences.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;But, we also are looking for ways to make the Web better too. Now, we haven&#39;t talked about what we&#39;re doing with the browser. I hear that&#39;ll come later. Astute Longhorn testers have already seen that we snuck a pop-up ad blocker into the browser without telling anyone about it. Whoa. That means we&#39;re gonna turn off MSN&#39;s capabilities of selling popup ads.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;I hear there&#39;s more coming too. But, why should we do it all? Wasn&#39;t the point of the past four years to get Microsoft to stop trying to do it all? The DOJ and now the European Union are still after us cause we tried to do it all. Instead, let&#39;s just go back and be a great platform company.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;We just gave you a great foundation for a killer new kind of application. One that goes FAR beyond HTML. And, even if you stick with Mozilla, your experiences on Longhorn will get better. For instance, fonts are being rendered in the GPU now on Longhorn. Your Web pages will look better and behave better on Longhorn than they will on any other platform. Period.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;And wait until Mozilla&#39;s and other developers start exploiting things like WinFS to give you new features that display Internet-based information in whole new ways.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;If Microsoft really wants to create a better platform shouldn?t this be truly futuristic? If so, then it should issue the first major salvo by&amp;nbsp;dropping the restrictions on &lt;A href=&quot;http://research.microsoft.com/Collaboration/University/Europe/RFP/Rotor/&quot;&gt;Rotor&lt;/A&gt;? &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;We are moving into the distributed component based computing age where runtime environments (.NET CLR, Mono, J2EE, and others) act a&amp;nbsp;Component Execution Junction&amp;nbsp;boxes (instead of the Monolithic Operating Systems of today)&amp;nbsp;in&amp;nbsp;a continuum of services orchestrated by messages&amp;nbsp;in response to events emanating from value consumption requests (what we call application behviour today) from a myriad of value consumers (application users). &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;There is no need for covert and protracted&amp;nbsp;protection of an obsolete Windows Operating System (the underlying fear that keeps Rotor shackled in my opinion), since&amp;nbsp;its obsolescence is in full motion as Longhorn clearly demonstrates. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Imagine a &lt;U&gt;fusion of sorts across Microsoft .NET, Mono, and Rotor&lt;/U&gt;, with a single portable runtime as the end product (slotting nicely into its place in the imminent distributed component and services era). All the benefits of&amp;nbsp;programming language independence in&amp;nbsp;true glory - the ECMA-CLI is all about programming language independence. Now that would be unequivocally revolutionary, and Microsoft would actually be doing what I think it has been desperately trying to achieve for a long time; the delivery of really cool technology that seriously impact us all in a positive way without the usual&amp;nbsp;World Domination Concerns.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Anyway, back to the current reality where we have covert attempts to lock us all into Windows getting more and more&amp;nbsp;transparent per technology release cycle. The very antithesis of what I espoused in the last paragraph (or dream). I believe that Scoble&#39;s instincts lie in this realm too, and you never know this evangelist may turn Messiah :-) &lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Here&#39;s the final excerpt from Scoble?s post:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;There&#39;s a whole lot of more useful stuff coming. Both for the Web and for newer Internet-centric rich-client approaches. Personally, it&#39;s about time. I&#39;m already using the Web less and less thanks to things like RSS 2.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;I&#39;m watching 636 sites every day. Try to do THAT in your Web browser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P style=&quot;MARGIN-LEFT: 0.5in&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;So, yes, blame it on me. I&#39;m trying to kill the Web. Isn&#39;t it time to move on? Didn&#39;t we move on from the Apple II? Didn&#39;t we move on from DOS? Didn&#39;t we move on from Windows 3.11? Can&#39;t you see a day when we move on from the Web and get something even more fantastic? I can. Dave Winer can. Why not you? [via &lt;A href=&quot;http://radio.weblogs.com/0001011/&quot;&gt;The Scobleizer Weblog&lt;/A&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;If you kill the Web en route to getting us a Portable Execution Junction box from Microsoft, I think you would have served mankind pretty damned well. We won&#39;t have to gripe about Web 1.0 (Browser Driven Web) because we would be well into Web 2.0 and beyond (which doesn?t define the Web experience predominantly via browsing).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Borland&#39;s Early Years: A Wild Ride</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-11-05#415</atom:id>
  <atom:published>2003-11-05T17:31:38Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblogs.asp.net/ssivakumar/posts/35896.aspx&quot;&gt;Borland&#39;s Early Years: A Wild Ride&lt;/A&gt; &lt;FONT face=Verdana size=2&gt;A nice article about history of Borland &lt;/FONT&gt;&lt;A href=&quot;http://www.eweek.com/article2/0,4149,1370757,00.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;http://www.eweek.com/article2/0,4149,1370757,00.asp&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt; &lt;DIV align=right&gt;[via &lt;A href=&quot;http://weblogs.asp.net/&quot;&gt;WebLogs @ ASP.NET&lt;/A&gt;]&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Replace and defend -- Contd</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-10-31#410</atom:id>
  <atom:published>2003-10-31T20:58:52Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Reading the Longhorn SDK docs is a disorienting experience. Everything&#39;s familiar but different. Consider these three examples: &lt;/P&gt; &lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;[Full story: &lt;A href=&quot;http://weblog.infoworld.com/udell/2003/10/31.html#a836&quot;&gt;Replace and defend&lt;/A&gt; via &lt;A href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&#39;s Radio&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt; &lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&quot;Replace &amp;amp; Defend&quot; is certainly a strategy that would have awakened the entire non Microsoft Developer world during the recent PDC event. I know these events are all about preaching to the choir (Windows only developers), but as someone who has worked with Microsoft technologies as an ISV since the late 80&#39;s there is something about this events announcements that leave me concerned. &lt;/P&gt; &lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Ironically these concerns aren&#39;t about the competitive aspects of their technology disruptions, but more along the lines of how&amp;nbsp;Microsoft (I hope inadvertently) generates the kinds of sentiments echoed in the &lt;A href=&quot;http://longhornblogs.com/scobleizer/posts/345.aspx#FeedBack&quot;&gt;comments thread &lt;/A&gt;from &lt;A href=&quot;http://longhornblogs.com/&quot;&gt;Scobles&lt;/A&gt; recent &lt;A href=&quot;http://longhornblogs.com/scobleizer/posts/345.aspx&quot;&gt;&quot;How to hate Microsoft&quot;&lt;/A&gt; post. As indicated in my response to this post,&amp;nbsp;I don&#39;t believe&amp;nbsp;Microsoft is as bad or evil as is instinctively assumed in many quarters, but I can certainly understand why they&amp;nbsp;are hated by others which is really unfortunate, especially&amp;nbsp;bearing in mind that they have done more good than harm&amp;nbsp;to date&amp;nbsp;(in my humble&amp;nbsp;opinion)&amp;nbsp;. &lt;/P&gt; &lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Anyway, back to my concerns post PDC which I break down as follows:&lt;/P&gt; &lt;OL dir=ltr&gt; &lt;LI&gt; &lt;DIV style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Disruptive assaults on existing standards with the only benefit being Microsoft platform centricity. &lt;A href=&quot;http://weblog.infoworld.com/udell/2003/10/31.html#a836&quot;&gt;Jon Udell addressed this in his &quot;Replace and Defend&quot; post &lt;/A&gt;(which kicked of this post), and I see exactly what he sees here, and I don&#39;t see any reason for this approach whatsoever. Even if one of these standards was deficient what stops the&amp;nbsp;Microsoft from addressing these deficiencies, and then should the W3C&#39;s standards acceptance and ratification process bogs things down at least let the industry know you gave it openness a chance&amp;nbsp;but have to move on etc.. &lt;BR&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/LI&gt; &lt;LI&gt; &lt;DIV style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Gradual obsolescence of existing Microsoft standards which used to provide interfaces for 3rd party ISV partners, and replacing these with totally closed infrastructure implementations that bind to Microsoft products only.&amp;nbsp; A good example is &lt;A href=&quot;http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/issues/04/01/WinFS/default.aspx&quot;&gt;WinFS&lt;/A&gt;, I believe in the unified data storage concept, &lt;A href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?id=406&quot;&gt;it&#39;s a vision that I&#39;ve believed in for&amp;nbsp;many years&lt;/A&gt;, but there is no notion&amp;nbsp;from any PDC presentation or Blog that I have&amp;nbsp;read so far (I aggregate&amp;nbsp;a serious number of feeds)&amp;nbsp;that Microsoft is committed to an architectural strategy that enables 3rd party ISVs to hook their data stores and data sources into this storage infrastructure -&amp;nbsp;it&#39;s simply about &lt;A href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?id=407&quot;&gt;Yukon (SQL Server)&lt;/A&gt; and that&#39;s basically it.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt; &lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;WinFS needs to architecturally separate the &lt;STRONG&gt;System Provider&lt;/STRONG&gt; from the &lt;STRONG&gt;Data Provider&lt;/STRONG&gt; (pretty much the OLE-DB architecture)&amp;nbsp;with Microsoft&amp;nbsp;naturally providing reference System Provider (pretty much what was demonstrated at PDC)&amp;nbsp;and Data Provider (ADO.NET, OLE DB, and ODBC) implementations. Third parties can choose to produce custom WinFS Service or Data Providers which serve their data access needs. It&#39;s impractical to want to force every non SQL Server customer over to SQL Server in order them to exploit WinFS, and I certainly hope this isn&#39;t the definitive strategy at Microsoft.&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>A Virtuoso of a Server</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-10-23#395</atom:id>
  <atom:published>2003-10-23T21:57:48Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;font size=&quot;2&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://www.nwfusion.com/index.html&quot;&gt;NETWORK WORLD&lt;/a&gt; NEWSLETTER: MARK GIBBS ON WEB APPLICATIONS &lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Today&amp;#39;s focus: A Virtuoso of a server&lt;/font&gt;&lt;/p&gt; &lt;p&gt;By &lt;a href=&quot;http://www.nwfusion.com/columnists/gibbs.html&quot;&gt;Mark Gibbs&lt;/a&gt;&lt;/p&gt; &lt;p&gt;One of the bigger drags of Web applications development is that building a system of even modest complexity is a lot like herding cats - you need a database, an applications server, an XML engine, etc., etc. And as they all come from different vendors you are faced with solving the constellation of integration issues that inevitably arise.&lt;/p&gt; &lt;p&gt;If you are lucky, your integration results in a smoothly functioning system. If not, you have a lot of spare parts flying in loose formation with the risk of a crash and burn at any moment.&lt;/p&gt; &lt;p&gt;An alternative is to look for all of these features and services in a single package but you&amp;#39;ll find few choices in this arena.&lt;/p&gt; &lt;p&gt;One that is available and looks very promising is OpenLink&amp;#39;s Virtuoso (see links below).&lt;/p&gt; &lt;p&gt;Virtuoso is described as a cross platform (runs on Windows, all Unix flavors, Linux, and Mac OS X) universal server that provides databases, XML services, a Web application server and supporting services all in a single package.&lt;/p&gt; &lt;p&gt;OpenLink&amp;#39;s list of supported standards is impressive and includes .Net, Mono, J2EE, XML Web Services (Simple Object Application Protocol, Web Services Description Language, WS-Security, Universal Description, Discovery and Integration), XML, XPath, XQuery, XSL-T, WebDav, HTTP, SMTP, LDAP, POP3, SQL-92, ODBC, JDBC and OLE-DB.&lt;/p&gt; &lt;p&gt;Virtuoso provides an HTTP-compliant Web Server; native XML document creation, storage and management; a Web services platform for creation, hosting and consumption of Web services; content replication and synchronization services; free text index server, mail delivery and storage and an NNTP server.&lt;/p&gt; &lt;p&gt;Another interesting feature is that with Virtuoso you can create Web services from existing SQL Stored Procedures, Java classes,&lt;/p&gt; &lt;p&gt;C++ classes, and &amp;#39;C&amp;#39; functions as well as create dynamic XML&lt;/p&gt; &lt;p&gt;documents from ODBC and JDBC data sources.&lt;/p&gt; &lt;p&gt;This is an enormous product and implies a serious commitment on the part of adopters due to its scope and range of services.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;em&gt;Virtuoso is enormous by virtue of its architectural ambitions, but actual disk requirements are&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/font&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>What&#39;s Up with Feedster?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-10-03#386</atom:id>
  <atom:published>2003-10-03T13:29:00Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;I have been trying to get &lt;A href=&quot;http://feedster.com&quot;&gt;Feedster&lt;/A&gt; to index my blog correctly and no matter what I do I get the same result -- neither my &lt;A href=&quot;http://www.openlinksw.com/blog/~kidehen&quot;&gt;main blog &lt;/A&gt;nor any of my other &lt;A href=&quot;http://kidehen.typepad.com&quot;&gt;non Radio Userland blogs&amp;nbsp;&lt;/A&gt;ever get presented on the search &lt;A href=&quot;http://feedster.com/search.php?q=kingsley+idehen&amp;amp;sort=date&amp;amp;ie=UTF-8&amp;amp;limit=15&amp;amp;type=rss&quot;&gt;results page&lt;/A&gt;.&lt;/P&gt; &lt;P&gt;Strangely enough, when there is a reference to my blog the urls are broken because they actually point to articles from my internal blog (which is part of a private net behind a firewall). Now, I do actually blog behind my corporate or home firewall (depending on my location at time of blogging), and I when I blog&amp;nbsp;the&amp;nbsp;actual typing and editing occurs within a single Blog Editor&amp;nbsp;(typically using Zempt, w.bloggar, or&amp;nbsp;Newzcrawler). My blog posts are propagated (conditionally using upstream rules via the &lt;A href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso&lt;/A&gt; Blog Engine) to many &lt;A href=&quot;http://www.openlinksw.com/weblogs&quot;&gt;surrogate blogs&amp;nbsp;&lt;/A&gt;such as the ones listed above which may or may not be Virtuoso based, they just need to support Blog Post APIs&amp;nbsp;such as Moveable Type, Meta-Weblog, or Blogger. &lt;/P&gt; &lt;P&gt;Anyway, I need to know if there is something about this blog site that is tripping up Feedster.&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Nigerian SCO Connection</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-10-01#888</atom:id>
  <atom:published>2003-10-01T22:44:03Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;I am a Nigerian reminiscing as my countryÂ that turns 43 today (as a post-colonial independent nation). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;October the 1st is an emotional day for many Nigerians, especially those of us in the Diaspora. Our country remains a paradox as the excerpts below attest:&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;The more popular view of Nigerians as a result of the proliferation of 419 scams (the mangled by-productÂ of misdirected intellectual prowess and the boundless depths of greed --Â which applies to perpetrators and victims alike).&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p style=&quot;margin-left: 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;a href=&quot;http://www.beblogging.com/blog/20031001-214515&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;The Nigerian SCO Connection&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &amp;quot;I AM MR. DARL MCBRIDE CURRENTLY SERVING AS THE PRESIDENT AND CHIEF EXECUTIVE OFFICER OF THE SCO GROUP ...&amp;quot; [via &lt;a href=&quot;http://www.beblogging.com/blog/&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Be Blogging&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Funny! But many a truth is told in jest (I think that&amp;#39;s how the quote goes); this one is pretty damned poignant. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Unbeknownst to many, there are other views of Nigeria (unfortunately these aren&amp;#39;t the norm).&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;The call for optimism by our president (he doesn&amp;#39;t support or condone the 419 nonsense):&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;Â &lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;President Olusegun Obasanjo urged Nigerians &lt;a href=&quot;http://odili.net/news/source/2003/oct/1/40.html&quot;&gt;to change their ways and be optimistic about the future&lt;/a&gt; as &lt;country-region xmlns=&quot;st1&quot; xmlns:n0=&quot;w&quot; n0:st=&quot;on&quot;&gt;Nigeria&lt;/country-region&gt; marks its 43rd &lt;place xmlns=&quot;st1&quot; xmlns:n0=&quot;w&quot; n0:st=&quot;on&quot;&gt;&lt;city n0:st=&quot;on&quot;&gt;Independence&lt;/city&gt;&lt;/place&gt; anniversary.Â  Read on &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;[via &lt;a href=&quot;http://nigeriaworld.com/&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Odili.net &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;ï¿½ this site desperately needs RSS!]&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;Â &lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;There is an increasing pool of key high-tech players of Nigerian decent (and nationality)Â making constructive impact on the high-tech industry (making it &lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.infoworld.com/article/03/05/23/21FEinnovidehen_1.html&quot;&gt;less lonely for myself&lt;/a&gt; &lt;/font&gt;&lt;/span&gt;and other Nigerians in the high-tech arena):&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;Â &lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;a href=&quot;http://www.kuro5hin.org/user/Carnage4Life/diary&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Dare Obasanjo&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; is a member of Microsoft&amp;#39;s WebData team, which among other things develops the components within the System.Xml and System.Data namespace of the .NET Framework, Microsoft XML Core Services (MSXML), and Microsoft Data Access Components (MDAC). More of Dare&amp;#39;s writings on XML can be found on his &lt;a href=&quot;http://msdn.microsoft.com/voices/xml.asp&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Extreme XML column&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; on MSDN. &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Â &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;a href=&quot;http://uche.ogbuji.net/uche.ogbuji.net/caramusis/&quot;&gt;&lt;!--StartFragment --&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Uche Ogbuji&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; is a consultant and co-founder of Fourthought Inc., a consulting firm specializing in XML solutions for enterprise knowledge management applications. Fourthought develops 4Suite, the open source platform for XML middleware. Mr. Ogbuji is a Computer Engineer and writer born in &lt;country-region xmlns=&quot;st1&quot; xmlns:n0=&quot;w&quot; n0:st=&quot;on&quot;&gt;Nigeria&lt;/country-region&gt;, living and working in &lt;place xmlns=&quot;st1&quot; xmlns:n0=&quot;w&quot; n0:st=&quot;on&quot;&gt;&lt;city n0:st=&quot;on&quot;&gt;Boulder&lt;/city&gt;, &lt;state n0:st=&quot;on&quot;&gt;Colorado&lt;/state&gt;, &lt;country-region n0:st=&quot;on&quot;&gt;USA&lt;/country-region&gt;&lt;/place&gt;. &lt;br /&gt;&lt;b&gt;Website&lt;/b&gt;:Â &lt;a href=&quot;http://www.fourthought.com/&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;http://www.fourthought.com/&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Â &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;a href=&quot;http://www.emeagwali.com/index.shtml&quot;&gt;&lt;!--StartFragment --&gt;&lt;!--StartFragment --&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;Philip Emeagwali&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;, a computer scientist, is one of the &lt;a href=&quot;http://emeagwali.com/history/internet/index.html&quot; _base_href=&quot;http://radioafrica.biz&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;fathers of the Internet&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; and a &lt;a href=&quot;http://www.emeagwali.com/printed-articles/upstream/natures-own-numbers-man_upstream_january-27-1997.html&quot; target=&quot;new&quot; _base_href=&quot;http://radioafrica.biz&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;trailblazer in petroleum extraction&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;,&amp;quot; as quoted by &lt;a href=&quot;http://fyi.cnn.com/fyi/interactive/specials/bhm/story/black.innovators.html&quot; target=&quot;new&quot; _base_href=&quot;http://radioafrica.biz&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;CNN&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;.Â &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;Â &lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Philip leavesÂ all NigeriansÂ withÂ this &lt;a href=&quot;http://emeagwali.com/speeches/nigeria/43rd-independence-anniversary-message/index.html&quot;&gt;important message&lt;/a&gt; on this special day (key excerpt below):&lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p style=&quot;margin-left: 0.5in;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;&amp;quot;Our investments in education and technology will be our legacy to our children. They are investments that will bring the best out of the next generation of Nigerians and enable us to reach our potential as individuals, as communities, as a nation.&amp;quot; &lt;/span&gt;&lt;/p&gt;&lt;p xmlns=&quot;o&quot;&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: Arial;&quot;&gt;Happy Birthday dear motherland!&lt;/span&gt;&lt;/p&gt; &lt;a href=&quot;index.vspx?tag=Africa&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;Africa&lt;/a&gt;&lt;a href=&quot;index.vspx?tag=Nigeria&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;Nigeria&lt;/a&gt;&lt;a href=&quot;index.vspx?tag=xml&quot; rel=&quot;tag&quot; style=&quot;display:none;&quot;&gt;xml&lt;/a&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Java Virtual Machine Bridges for .NET</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-09-09#249</atom:id>
  <atom:published>2003-09-09T22:10:02Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;The difference between the bottom-line value propositions of Java and .NET really come down to the fact that Java is platform independent at the cost of losing your programming language choices, while .NET is programming language independent at the expense of your operating system choices (of course Mono will reduce this burden over time somewhat).&lt;/p&gt; &lt;p&gt;With statement above in mind it&amp;#39;s quite pleasing to see the emerging pool of .NET bridges for the Java Virtual Machine (basically tools that allow the use of Java Components within the .NET CLI (CLR and .NET bound languages e.g. C#, VB.NET, and others):&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#000080&quot;&gt;&lt;strong&gt;JavaBridge (awaiting url)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Java Virtual Machine Bridges for .NET</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-09-09#354</atom:id>
  <atom:published>2003-09-09T21:47:44Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">0</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Well-Formed Web</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-08-22#245</atom:id>
  <atom:published>2003-08-22T18:32:02Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;I just came across this article while brainstorming about the &lt;A href=&quot;http://wellformedweb.org/story/9/#auto&quot;&gt;Comment API&lt;/A&gt; and it&#39;s potential use (subject of another post as this is being implemented as I write) within Blog Clients (RSS Aggregators and Readers).&lt;/P&gt; &lt;P&gt;Back to the article. This is an essay by &lt;A href=&quot;http://bitworking.org/foaf.rdf&quot;&gt;George Gregorio &lt;/A&gt;who is so into auto discovery that he deliberately stuffed his contact details in an FOAF file that you need to auto discover using a FOAF auto discovery aware client&amp;nbsp;(e.g. FOAFnaut&amp;nbsp;or the human brain&amp;nbsp;for instance :-) ) . Anyway, he is an excerpt from his essay (a very good read).&lt;/P&gt; &lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;P&gt;Over a month ago &lt;A href=&quot;http://www.ftrain.com/&quot;&gt;Paul Ford&lt;/A&gt; published a great essay entitled &lt;A href=&quot;http://www.ftrain.com/google_takes_all.html&quot;&gt;How Google beat Amazon and Ebay to the Semantic Web&lt;/A&gt;. After reading it the first time I thought it was a great introduction to the &lt;A href=&quot;http://www.w3.org/2001/sw/&quot;&gt;Semantic Web&lt;/A&gt;, an idea I had been trying to wrap my head around even since encountering RDF as it is baked into &lt;A title=&quot;RDF Site Summary&quot; href=&quot;http://www.purl.org/rss/1.0/spec&quot;&gt;RSS 1.0&lt;/A&gt;. I had seen the light and bought into the promise of the Semantic Web. &lt;/P&gt; &lt;P&gt;Time passes...&lt;/P&gt; &lt;P&gt;&lt;!--StartFragment --&gt;With Dave Winer&#39;s floating of the idea of &lt;A href=&quot;http://backend.userland.com/rss&quot;&gt;RSS 2.0&lt;/A&gt; discussions ensue about the RDF in RSS 1.0. After spending some time badgering poor Bill Kearney for a &lt;A href=&quot;http://burningbird.net/cgi-bin/mt-comments.cgi?entry_id=528&quot;&gt;concrete benefit of having RDF in RSS 1.0&lt;/A&gt; and not getting a really satisfactory answer I went back and read Paul Ford&#39;s essay again. I wanted to get that old religious feeling back again. It didn&#39;t work. The magic was gone. &lt;/P&gt;&lt;/BLOCKQUOTE&gt; &lt;P dir=ltr&gt;&lt;A href=&quot;http://wellformedweb.org/story/1&quot;&gt;Read on...&lt;/A&gt;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Howl is Rendezvous for Windows and Linux</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-08-05#232</atom:id>
  <atom:published>2003-08-05T19:18:55Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;Very interesting, we have basically ported Zeroconfig as released by Apple (in Open Source) too, and used it in both our &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;Virtuoso&lt;/a&gt; 3.x and &lt;a href=&quot;http://www.openlinksw.com/product.htm&quot;&gt;UDA&lt;/a&gt; 5.x products.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://www.swampwolf.com/products/&quot;&gt;Howl&lt;/a&gt; is Rendezvous for Windows and Linux. [via &lt;a href=&quot;http://www.scripting.com/&quot;&gt;Scripting News&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;In the case of UDA you can configure ODBC and JDBC consumable data source names that are hosted on the server. Users can nownbspsimply picknbspDSNs from anbspcombo box and they are ready to make connections to remote databases from any ODBC, JDBC, OLE DB, or ADO.NET application.nbspAnother benefit ofnbspZeroconfignbspis that it facilitates centralized server side configuration which further enhances our server side session rules book;nbspwhich serves all our Multi-Tier data access drivers.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;In the case of Virtuoso you are able to bind to pre-configured Virtuoso instances in exactly the same way.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;Our Zeroconfig support has beennbspimplemented across Solaris, AIX, Digital UNIX, IRIX, HP-UX amongst others, but this is a project of interest all the same, and we may end up contributing to this effort.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>VSIP program free of charge</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-07-30#209</atom:id>
  <atom:published>2003-07-30T21:46:48Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;Microsoft just made the &lt;a href=&quot;http://www.vsipdev.com/&quot;&gt;VSIP program free of charge&lt;/a&gt;. Awesome.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p dir=&quot;ltr&quot;&gt;[via &lt;a href=&quot;http://radio.weblogs.com/0001011/&quot;&gt;The Scobleizer Weblog&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Now this is good news from Microsoft! This means that products like &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;Virtuoso&lt;/a&gt; can now compete head-on with Yukon (on a level playing field when it arrives) as far as Visual Studio.NET integration goes. Hopefully I will no longer have to rant about any of the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Missing Data Access Controls and Wizards for ODBC (we already have annbsp interesting Generic ADO.NET Provider en route to GA release)&lt;/li&gt; &lt;li&gt;Tightly bound integration between Visual Studio.NET &lt;a href=&quot;http://www.microsoft.com/presspass/press/2003/Jul03/07-29InnovationListPR.asp&quot;&gt;(&quot;Whidbey&quot; or &quot;Orcas&quot;)&lt;/a&gt;nbspand Yukon (next release of SQL Server), it&#39;s up to us (OpenLink) to get the same degree of integration re. Virtuoso (via VSIP), but most importantly Visual Studio&#39;s future will not be inextricably linked to Yukon&#39;s (let&#39;s hope the same applies to IE and Longhorn)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I wonder if the same degree of openness could extend to Web Matrix? That would be something indeed!&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Web Services--A Manager&#39;s Guide.</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-07-16#204</atom:id>
  <atom:published>2003-07-16T17:28:51Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0321185773/rds-20/002-2080753-6561607&quot;&gt;Web Services--A Manager&#39;s Guide.&lt;/a&gt; Last month I &lt;a href=&quot;http://www.rds.com/doug/weblogs/webServicesStrategies/2003/06/20.html&quot;&gt;suggested&lt;/a&gt; that someone do a comparative review of this new book by Anne Thomas Manes and &lt;a href=&quot;http://www.rds.com/books/&quot;&gt;my latest book&lt;/a&gt;. Last week, I had the opportunity to meet Anne and get a copy of her book. Rather than wait, here are my own--admittedly biased--comparisons. &lt;p&gt;&quot;A Manager&#39;s Guide,&quot; as the title suggests, is the perfect pragmatic guide for managing a current web-services project. If you want to know what works &lt;i&gt;today&lt;/i&gt;, right down to the specific products from individual vendors, Anne&#39;s book is the one to buy. .NET versus Java? Which J2EE platform or UDDI registry server? The current state of the basic protocols: SOAP, WSDL, UDDI? You&#39;ll find the answers in one place. As with my book, there are no code fragments or XML listings. It&#39;s for managers, not programmers. But this book is the one to buy for your tactical requirements. &lt;p&gt;&quot;Loosely Coupled,&quot; on the other hand, takes a more strategic view, and in a sense picks up where Anne&#39;s book leaves off. I don&#39;t explain any of the protocols. In fact I rarely mention them by name. I assume (a) you&#39;ll learn about them somewhere else (such as from Anne&#39;s book), and (b) they&#39;ll change quickly anyway. Anne has a 30-page chapter on &quot;Advanced Web-Services Standards,&quot; which is where my book kicks in. As the subtitle suggests, I look more deeply at the missing pieces of web services: transactions, security, reliable asynchronous messaging, orchestration and choreography, QoS, contracts and other business issues, infrastructure, and the big one: industry-specific semantics. &lt;p&gt;Both books cover the fundamental concepts of web services such as service-oriented architectures. Anne, however, sees web services as being fundamentally about application integration, which clearly is the sweet spot today. I look at the issues surrounding inter-organizational loosely coupled web services, taking a longer-term and more strategic view. If you&#39;re thrust into managing a web-services project, need to ramp-up quickly, select vendors and products, and be able to communicate with your developers, buy Anne&#39;s book. If you need to develop a long-term web-services strategy for your organization, buy mine. In other words: buy them both. I think you&#39;ll like the combination. &lt;div align=&quot;right&quot;&gt;[via &lt;a href=&quot;http://www.rds.com/doug/weblogs/webServicesStrategies/&quot;&gt;Doug Kaye: Web Services Strategies&lt;/a&gt;] &lt;div&gt;&lt;/div&gt;&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>eBay Will Someday Buy Oracle?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-07-07#202</atom:id>
  <atom:published>2003-07-07T20:51:56Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://slashdot.org/article.pl?sid=03/07/04/1955241&quot;&gt;O&amp;#39;Reilly on the Commoditization of Software&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Certinaly an interesting proposition, or should I say vision, but I don&amp;#39;t think this proposition does justice to some of the valid insights contained in this recent &lt;a href=&quot;http://www.idg.se/ArticlePages/idgnet.asp?id=4635&quot;&gt;IDG interview &lt;/a&gt;with &lt;a href=&quot;http://tim.oreilly.com/&quot;&gt;Tim O&amp;#39;Reilly&lt;/a&gt;. Here are some of Tim&amp;#39;s quotes:&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;em&gt;&amp;quot;Nobody is pointing out something that I think is way more significant: all of the killer apps of the Internet era: Amazon (.com, Inc), Google (Inc.), and Maps.yahoo.com. They run on Linux or FreeBSD, but they&amp;#39;re not apps in the way that people have traditionally thought of applications, so they just don&amp;#39;t get considered. Amazon is built with Perl on top of Linux. It&amp;#39;s basically a bunch of open source hackers, but they&amp;#39;re working for a company that&amp;#39;s as fiercely proprietary as any proprietary software company.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;Solutions are always more important that the technology that makes up the solutions from a business development perspective. The trouble is that the constituent parts of a solution ultimately affect the longevity of the solution (the future adaptability of the solution), hence the middleware and components segments of the software industry.&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;em&gt;&amp;quot;With eBay it&amp;#39;s even clearer. The fact is, it&amp;#39;s the critical mass of marketplace buyers and sellers and all the information that people have put in that marketplace as a repository.&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;quot;So I think we&amp;#39;re going to find more and more places where that happens, where somebody gets a critical mass of customers and data and that becomes their source of value. On that basis, I will predict that -- this is an outrageous prediction -- but eBay will buy Oracle someday. The value will have moved so much to people who are not now seen as software suppliers.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;In reading this article that I can only assume that Tim does realize the inevitable; computing is, and always will be about data -- creation, transformation, dissemination, and exploitation. That said, you don&amp;#39;t maximize the opportunities that such a realization accords by acquiring the largest vendor of database software. &lt;/p&gt; &lt;p&gt;The largest database vendor doesn&amp;#39;t imply dominance in any of the following areas:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Data Creation &lt;/li&gt; &lt;li&gt;Data Storage&lt;/li&gt; &lt;li&gt;Data Access&lt;/li&gt; &lt;li&gt;Data Dissemination&lt;/li&gt; &lt;li&gt;Data Exploitation&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I see the Internet as the Database (comprising various forms), and the Web as a dominant database segment within Internet realm. Every Internet Point of Presence is really a point of Data interaction; Creation, Storage, Access, Dissemination, and Exploitation.&lt;/p&gt; &lt;p&gt;eBay can acquire a license from Oracle or any other database vendor and still be sucessful, and all they need to do is come to the actual realization that like Amazon and Google they could become a very important Executable and Semantic Web platform by finally understanding that their home page isn&amp;#39;t that important, it&amp;#39;s the interactions with the site that matter. All of this is certainly achievable without acquiring Oracle.&lt;/p&gt; &lt;p&gt;In short, this applies to any organization that seeks to incorporate the Internet into their operational strategy (Business Development, Customer Services, Intranets, Extranets etc.). I am inclined to believe that Sofware Commoditization (which has been with us for a very long time) is the new moniker for &amp;quot;its all about data&amp;quot; or to quote &lt;a href=&quot;http://www.intertwingly.net/blog/index.rss&quot;&gt;Sam Ruby&lt;/a&gt;, &amp;quot;It&amp;#39;s just data&amp;quot;.&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Tim O&#39;Reilly about network aware software</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-07-07#201</atom:id>
  <atom:published>2003-07-07T20:51:35Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://blog.bitflux.ch/p1077.html&quot;&gt;Tim O&#39;Reilly about network aware software&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Tim O&#39;Reilly wrote some thoughts about network aware software. Good sumup and nice ideas, why not only blogs should be net-aware (and where even blogs can be improved ;) ) &lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;div align=&quot;left&quot;&gt;&quot;&lt;i&gt;For the desktop, my personal vision is to see existing software instrumented to become increasingly web aware. It seems that Apple are doing a good job with this. (What does web aware mean for me? Being able to grok URIs, speaking WebDAV, and using open standard data formats.)&lt;/i&gt;&quot; -- &lt;strong&gt;Edd Dumbill&lt;/strong&gt; &lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;[via &lt;a href=&quot;http://blog.bitflux.ch/&quot;&gt;Bitflux Blog&lt;/a&gt;]&lt;/div&gt;&lt;/blockquote&gt; &lt;div align=&quot;left&quot;&gt;I agree, but you do have to add Open Data Access formats (such as ODBC and to some degree JDBC) to this mix otherwise the you will need to create data for Open Standard Data Formats from sratch (tough for any enterprise irrespective of size).&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;&lt;/div&gt; &lt;div align=&quot;left&quot;&gt;Tim O&#39;Reilly added the following items to Edd&#39;s list:&lt;/div&gt; &lt;div align=&quot;left&quot;&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;Rendezvous-like functionality for automatic discovery of and potential synchronization with other instances of the application on other computers. Apple is showing the power of this idea with iChat and iTunes, but it really could be applied in so many other places. For example, if every PIM supported this functionality, we could have the equivalent of &quot;phonester&quot; where you could automatically ask peers for contact information. Of course, that leads to guideline 2. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;p&gt;Another application is discovery of &lt;a href=&quot;http://www.openlinksw.com/info/docs/uda50/mt/features.html#features&quot;&gt;ODBC data sources&lt;/a&gt;, and database servers. Rendezvous can also simply security and administration of data sources accessible by either one of these standards data access mechanisms. It can also apply to XML databases and data sources exposed by &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;XML Databases&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;If you assume ad-hoc networking, you have to automatically define levels of access. I&#39;ve always thought that the old Unix ugo (user, group, other) three-level permission system was simple and elegant, and if you replace the somewhat arbitrary &quot;group&quot; with &quot;on my buddy list&quot;, you get something quite powerful. Which leads me to... &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Buddy lists ought to be supported as a standard feature of many apps, and in a consistent way. What&#39;s more, our address books really ought to make it easy to indicate who is in a &quot;buddy list&quot; and support numerous overlapping lists for different purposes. &lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Every application ought to expose some version of its data as an XML feed via some well-defined and standard access mechanism. It strikes me that one of the really big wins that fueled the early web was a simple naming scheme: you could go to a site called www.foo.com, and you&#39;d find a web server there. While it wasn&#39;t required, it made web addresses eminently guessable. We missed the opportunity for xml.foo.com to mean &quot;this is where you get the data feed&quot; but it&#39;s probably still possible to come up with a simple, consistent naming scheme. And of course, if we can do it for web sites, we also need to think about how to do it for local applications, since... &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The very point I continue to make about Internet Points of Presence beingactual data acces points, in short these end points should be served by database serverprocesses. This is the very basis of &lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso&lt;/a&gt;, the inevitability of this realization remains the undepinings of this product. There are other products out there that have some sense of this vision too, but there is a little snag (at least so far in my research efforts), and that is the tendency to create dedicated independent server per protocol (an ultimate integration, administration, and maintenance nightmare).&lt;/p&gt; &lt;ul&gt; &lt;li&gt;We ought to be able to have the expectation that all applications, whether local or remote (web) will be set up for two-way interactions. That is, they can be either a source or sink of online data. So, for example, the natural complement to amazon&#39;s web services data feeds is data input (for example, the ability to comment on a book on your local blog, and syndicate the review via RSS to amazon&#39;s detail page for the book.) And that leads to: &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt;We really need to understand who owns what, and come up with mechanisms that protect the legitimate rights of individuals and businesses to their own data, while creating the &quot;liquidity&quot; and free movement of data that will fuel the next great revolution in computer functionality. (I&#39;m doing a panel on this subject at next week&#39;s Open Source Convention, entitled &quot;&lt;a href=&quot;http://conferences.oreillynet.com/cs/os2003/view/e_sess/4526&quot;&gt;We Need a Bill of Rights for Web Services&lt;/a&gt;.&quot;) &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt;We need easy gateways between different application domains. I was recently in Finland at a Nokia retreat, and we used camera-enabled cell phones to create a mobile photoblog. That was great. But even more exciting was the ease with which I could send a photo from the phone not just to another phone but also to an email address. This is the functionality that enabled the blog gateway, but it also made it trivial to send photos home to my family and friends. Similarly, I often blog things that I hear on mailing lists, and read many web sites via screen-scraping enabled email lists. It would be nice to have cross-application gateways be a routine part of software, rather than something that has to be hacked on after the fact.&lt;/li&gt;&lt;/ul&gt; &lt;div align=&quot;left&quot;&gt;The wish list is pretty much a clear articulation of key items that should matter most to decision makers (CTOs and CIOs) ; in particular those that continue to wrestle with the identification and isolation of relevantcomponentsfor their enterprisearchitectures. &lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>What&#39;s So Great About .NET?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-07-01#194</atom:id>
  <atom:published>2003-07-01T17:07:11Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">0</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>EXCEL spreadsheet to INFORMIX via ODBC</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-26#191</atom:id>
  <atom:published>2003-06-26T23:33:17Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Since the inception of &lt;a href=&quot;http://www.webopedia.com/TERM/O/ODBC.html&quot;&gt;ODBC&lt;/a&gt; (circa. late 1992) there have been two prime barriers to its total comprehension:&lt;/span&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Misconception that it&#39;s inherently slow (a message originating from it&#39;s creator&#39;s, not Microsoft, but rather, the collection of DBMS vendor companies that actually created the &lt;a href=&quot;http://www.rdg.opengroup.org/public/news/nov95/sqlaccgp.htm&quot;&gt;SAG CLI &lt;/a&gt;from which ODBC was derived)&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;a href=&quot;http://ourworld.compuserve.com/homepages/Ken_North/odbcvend.htm&quot;&gt;ODBC Drivers&lt;/a&gt; are valueless (or at best a check in the box item) so bottom line they cost nothing and we (the DBMS vendors) shall offer them to you free of charge.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The performance issues arenbspnow long forgotten (at least as far as &lt;a href=&quot;http://www.openlinksw.com/&quot;&gt;OpenLink Software&#39;s&lt;/a&gt; contribution to ODBC goes). But the ODBC Drivers must be FREE as they offer little or no value problem rages on.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The &lt;a href=&quot;http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;threadm=qeEJa.28465%24hI1.4255%40nwrddc01.gnilink.net&amp;rnum=8&amp;prev=/groups%3Fq%3Dopenlink%26hl%3Den%26lr%3D%26ie%3DUTF-8%26sa%3DN%26scoring%3Dd&quot;&gt;Usenet posting &lt;/a&gt;below pretty much sums up why I decided that OpenLink needednbspto get into the ODBC Driver business in the first place. We anticipated significant problems in the area of usability, configurability and security if all a driver had to offer was query fulfillment in the form of a result set. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The excerpt below shows an all too common dilemma with ODBC (should you reach rollout and put ODBC in the hands of information and knowledge workers):&lt;/span&gt;&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;nbspHi all, &lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;I set up an Excel spreadsheet to our production database through ODBC driver to get a report. Everything was working fine, and life was good until I found a little problem with the SQL tool in Excel. &lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;Normally, to get a report Excel will write a select statement according to criterias that the users input/ choose. It also allows anyone to Edit the select statement it writes in a little box. What I did was changing that select statement to delete/update statement. And it ran. &lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;What surprised me was that it actually ran the statement against the database and delete/update tables accordingly. This is not what we want. I have not been able to find any options to turn this thing off so that the user cannot edit the generated select SQL. &lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;I know all the permissions the user has are defined through the username that is defined in ODBC. &lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;em&gt;&lt;font face=&quot;Courier New&quot;&gt;We don&#39;t want to change all the user permissions on the database side. Is there any other way ? MS Excel 2000 &lt;a href=&quot;http://www.wikipedia.org/wiki/Informix&quot;&gt;Informix IDS 9.30 &lt;/a&gt;UC1 Dynix/ptx V4.5.3 Thanks N.&lt;/font&gt;&lt;/em&gt; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The user&#39;s ODBC usage requirements are unconventional to a database engine. What do I mean? Well relational databases fundamentally handle security on a &lt;u&gt;user or role basis&lt;/u&gt;, and this security schemes can be applied to tables and rows, but it does nothing for this scenario. &lt;/span&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The ODBC Drivers from OpenLink Software were built (in 1993 I might add)nbspwith thisnbspmiddleware predicamentnbspand more in mind. As you might imagine, most ODBC vendors will tell you to sort out the security either at thenbspdatabase end or the client application end.nbsp&lt;/span&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/main/product.htm&quot;&gt;OurnbspDrivers &lt;/a&gt;(the &lt;a href=&quot;http://www.openlinksw.com/info/mtproduct.htm&quot;&gt;Multi-Tier &lt;/a&gt;variant) on the other hand enable you to configure a set of rules that will enforce read-only access on an application basis such that in this particular case when Excel is used the session is read-only irrespective of what exits MS Query. The rules can even enable read-write or read-only access to Excel (or other ODBC compliant application) and the basis of any combination of the following: username, client ip, machine alias, application, lan subnet, and any user definable profile (we call these domains).&lt;/span&gt;&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;&lt;a href=&quot;http://www.openlinksw.com/info/docs/whitepap.htm&quot;&gt;Additional reading&lt;/a&gt; as t&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;his is only the tip of the iceberg.&lt;/span&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Quest For Common Syndication</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-24#180</atom:id>
  <atom:published>2003-06-24T21:15:03Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p dir=&quot;ltr&quot;&gt;&lt;a href=&quot;http://scriptingnews.userland.com/backissues/2003/06/24#When:3:47:37AM&quot;&gt;Quest For Common Syndication&lt;/a&gt; &lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;Under normal circumstances this would be a very scary propositon - weblogs have reached hype status, and this means 800 pound gorillas are approaching the patch!. Why should we create our own blogsphere FUD.&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt;Well things work differently in the blogspehere, and it leads to wonderful opportunities for like minded individuals to put their vast array of skills to constructive use. My hunch is that this effort -syndication format standardization- will be sorted out quickly, and even act as a showcase for the collaborative prowess of Blogs and Wikis. Take a look at the blog snippet below (I urge you to follow the Wiki link).&lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;&lt;a href=&quot;http://www.intertwingly.net/blog/1472.html&quot;&gt;Sam Ruby is leading&lt;/a&gt; an effort to create a new weblog format and API. There&amp;#39;s &lt;a href=&quot;http://www.intertwingly.net/wiki/pie/&quot;&gt;a Wiki&lt;/a&gt; that&amp;#39;s open for all to contribute to, and an impressive &lt;a href=&quot;http://intertwingly.net/wiki/pie/RoadMap&quot;&gt;list&lt;/a&gt; of people who support the work. [via &lt;a href=&quot;http://www.scripting.com/&quot;&gt;Scripting News&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt; &lt;p dir=&quot;ltr&quot;&gt;I hope this is one of many similar efforts that usher in the next phase of the Web (the Semantic one of course!).&lt;/p&gt; &lt;p dir=&quot;ltr&quot;&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Missing Future</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-23#178</atom:id>
  <atom:published>2003-06-23T16:37:41Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://weblogs.asp.net/dbrowning/posts/9155.aspx&quot;&gt;The Missing Future&lt;/a&gt; &lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;On&lt;/font&gt;&lt;a href=&quot;http://www.randomhacks.net/&quot;&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt; Random Hacks&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;, Eric Kidd says: &lt;/font&gt; &lt;blockquote&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;... that between MS and open source initiatives, there will be no room in the marketplace for small software companies. &lt;/font&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href=&quot;http://www.randomhacks.net/stories/the-missing-future.html&quot;&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;This is an interesting article&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;, one that brings up many good points. Overall, I don&amp;#39;t really agree with him. I think, for the most part, &lt;b&gt;commercial software companies will still be able to co-exist with MS and open source in the market place&lt;/b&gt;. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;Open source software is great, and I think its a great resource of applications for technologically savvy people (especially developers), but it&amp;#39;s still not targeted at novice end users (like my mom). Will this change in the future? Probably to some extent, but &lt;b&gt;I still think open source will lag behind commercial software vendors due to lack of marketing and polishing&lt;/b&gt;. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;On the other hand, I do see a specific niche of the software development market dieing out in the next few years due to the open source movement: custom control vendors. These guys have been lucky for the past decade because most development shops don&amp;#39;t want to spend the time writing the next cool button bar, but many developers on their own time love this kind of development. Just look at &lt;/font&gt;&lt;a href=&quot;http://www.codeproject.com/&quot;&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;Code Project&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;. Anytime we need a control for one of our apps, &lt;/font&gt;&lt;a href=&quot;http://www.codeproject.com/&quot;&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;Code Project&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt; is the first place we go. Why? Well, not only do we get great controls, we get the source! This way, if something is screwed up (which is has been), we can fix the bug and move on (which we do [and send it to the control developer]). &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;BTW, if anyone thinks that a small development shop can&amp;#39;t exist when competing against the likes of MS and open source, check out &lt;/font&gt;&lt;a href=&quot;http://www.fogcreek.com/&quot;&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;fog creek software&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Tahoma&quot; size=&quot;2&quot;&gt;. &lt;a href=&quot;http://www.joelonsoftware.com/&quot;&gt;Joel &lt;/a&gt;has managed to create a &lt;u&gt;profitable&lt;/u&gt; software company, that sells a few great products, make a little bit of money &lt;b&gt;&lt;em&gt;and&lt;/em&gt; provide his developers offices&lt;/b&gt;. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Tahoma&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font color=&quot;#000080&quot;&gt;&lt;b&gt;One day maybe I&amp;#39;ll be fortunate enough to work for Joel!&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;[via &lt;a href=&quot;http://weblogs.asp.net/&quot;&gt;WebLogs @ ASP.NET&lt;/a&gt;]&lt;/p&gt; &lt;div&gt;&lt;a href=&quot;http://www.openlinksw.com&quot;&gt;OpenLink Software&lt;/a&gt; has been able to build a profitable business selling ODBC Drivers against a backdrop of Open Source and Free commercial alternatives. Now this is all well and good if decision makers understand our value proposition&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/03/07/XPathandXSLT/default.aspx&quot;&gt;Real-World XML&lt;/a&gt;&quot;&gt;Manipulate XML Data Easily with the XPath and XSLT APIs in the .NET Framework&lt;/a</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-19#283</atom:id>
  <atom:published>2003-06-19T15:06:51Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">From MSDN: Download the code for this article: &lt;a href=&quot;http://download.microsoft.com/download/A/F/7/AF737510-D281-49DE-A1EE-5DDF696625AF/XPathandXSLT.exe&quot;&gt;XPathandXSLT.exe&lt;/a&gt; (166KB) SUMMARY XPath is emerging as a universal query language. With XPath, you can identify and process a group of related nodes in XML-based data sources. XPath provides an infrastructure that is integral to XML support in the .NET Framework. The XPath navigation model is even used under the hood of the XSLT processor. In this article, the author reviews the implementation details of the XPath navigator and the XSLT processor and includes practical examples such as asynchronous transformations, sorted node-sets, and ASP.NET server-side transformations.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>What&#39;s new in Web Matrix ?</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#282</atom:id>
  <atom:published>2003-06-18T12:02:22Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;I had been anticipating the release of Web Matrix 2.0, but was pretty disappointed with the blatant attempts to lock users into SQL Server and ACCESS (of course I know that manual imports are possible re. my .net provider for non Microsoft databases, but that&#39;s beside the point). From the feature list:&lt;/P&gt; &lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;P&gt;&lt;STRONG&gt;Easy Data UI Generation&lt;/STRONG&gt;.&amp;nbsp; Web Matrix makes it easy to create data bound pages without writing code. Drop SQL/MSDE or Access tables on your page to create data-bound grids, or start with Data Page templates for reports or Master/Detail pages. Code builders help you generate code to select, insert, update and delete SQL/MSDE or Access data.&amp;nbsp;&lt;BR&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;[via &lt;A href=&quot;http://weblogs.asp.net/&quot;&gt;WebLogs @ ASP.NET&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt; &lt;DIV&gt;It only makes it easy for two databases which are both Microsoft owned? What really baffles me is why they don&#39;t use ADO.NET, by the way this is&amp;nbsp;their own data abstraction technology. The same approach has also been applied to InfoPath and this is certainly a disturbing trend for unsuspecting end-users, developers, systems architects, and decision makers. Before you know it you lose your database choices. &lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;Could this be an oversight on the part of Microsoft? I don&#39;t think so somehow, we are taking a very interesting journey here from database independence to database specificity ( ODBC-&amp;gt;OLEDB-ADO.NET-[SQL Server|Acces] ), all in a quest to covertly reduce choices (I think I&#39;ve seen this movie before! And I might have to rewrite the script).&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Get Ready for Yukon</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#138</atom:id>
  <atom:published>2003-06-18T05:19:22Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://www.ftponline.com/dotnetmag/2003_06/magazine/columns/sqlconnection/default.asp&quot;&gt;Get Ready for Yukon&lt;/a&gt; &lt;/p&gt; &lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;p&gt;The next release of SQL Server promises increased developer productivity and reduced DBA workload. &lt;/p&gt; &lt;p&gt;by Roger Jennings June 2003 Issue &lt;a href=&quot;http://www.ftponline.com/dotnetmag/&quot;&gt;.NET Magazine&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;After reading this article I decided to put together a simple comparitive analysis of our existing product and the soon to be released Yukon.&lt;/p&gt; &lt;p&gt;Our &lt;a href=&quot;http://www.openlinksw.com/virtuoso/whatis.htm&quot;&gt;Universal Server&lt;/a&gt; product called &lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso&lt;/a&gt; will compete head on with this future release of SQL Server in many regards (.NET CLR hosting, Native XML Types, SQL-XML, XMLA, Web Services etc.), but I am also keen to see what interesting perspectives Microsoft&amp;#39;s implementation brings to the table. Here is a summary comparison, note that some of the hyperlinks in the table below actually take you to live functionality demos (for effect these links point to a Linux server, and you can change the machine part of the url from &amp;quot;demo&amp;quot; to &amp;quot;kingsleydemo&amp;quot; to see the equivalent demos on an XP server).&lt;/p&gt; &lt;table width=&quot;97%&quot; border=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width=&quot;42%&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Ingres - A Forgotten Database, the untold story</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-17#279</atom:id>
  <atom:published>2003-06-17T11:18:57Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;&lt;A href=&quot;http://www.it-director.com/article.php?articleid=10951&quot;&gt;Ingres - A Forgottent Database The Untold Story&lt;/A&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Ingres (technically, Advantage Ingres Enterprise) is, arguably, the forgotten database. There used to be five major databases: Oracle, DB2, Sybase, Informix and Ingres. Then along came Microsoft and, if you listened to most press comment (or the lack of it), you would think that there were only two of these left, plus SQL Server&lt;/EM&gt;. [From &lt;A href=&quot;http://www.it-director.com/article.php?articleid=10951&quot;&gt;IT-Director&lt;/A&gt;]&lt;/P&gt; &lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Oracle, Microsoft, and IBM would certainly like the illusion of a 3 horse race, as this is the only way they can induce Ingres, Informix, and Sybase users to jump ship, and this, even though database migrations are by far the most risk prone and problematic aspects of any IT infrastructure. &lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Here is the interesting logic from the self-made big three, if you want to take advanatage of new paradigms and technologies such as XML, Web Services, and anything else in the pipeline you have to move all your data out of these databases, and then get all the mission critical applications re-associated with one of these databases, and by the way when you do so it is advisable that you use native interfaces (so that sometime in the future you have no chance whatsoever of repeating this folly at their expense).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The simple fact of the matter (which the self-made big three do not want you to know) is that you can put ODBC, JDBC, even platform specific data access APIs such as OLE DB and ADO.NET atop any of these databases, and then explore and exploit the benefits of new technologies and paradigms as long as the tool pool supports one of more of these standards.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;Unfortunately the no-brainer above appears to be the more difficult of the choices before decision makers. In other words, many would rather dig themselves into a deeper hole (unknowingly i can only presume) that ultimately leads to technology lock-in.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;The biggest challenge before any RDBMS based infrastructure today isn&#39;t which of the self-made big three to migrate to wholesale, rather, how to make progressive use of the pool of disparate applications, and application databases that proliferate the enterprise. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Arial&quot;&gt;This is another way of understanding the burgeoning market for Virtual Databases, which in my opiion present the new frontier in database technology.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Blogs vs Wikis</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-16#133</atom:id>
  <atom:published>2003-06-16T16:51:40Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://www.intertwingly.net/blog/1469.html&quot;&gt;Blogs vs Wikis&lt;/A&gt; &lt;A href=&quot;http://x180.net/Blog/Conferences/NFJS/Milwaukee03Review.html&quot;&gt;Bob Martin&lt;/A&gt;: &lt;EM&gt;Blogs are for hearing about what an individual says about something. Wikis are for seeing what a community thinks about something.&lt;/EM&gt; [via &lt;A href=&quot;http://www.intertwingly.net/blog/&quot;&gt;Sam Ruby&lt;/A&gt;] &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Blogs vs Wikis</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-16#278</atom:id>
  <atom:published>2003-06-16T16:51:40Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://www.intertwingly.net/blog/1469.html&quot;&gt;Blogs vs Wikis&lt;/A&gt; &lt;A href=&quot;http://x180.net/Blog/Conferences/NFJS/Milwaukee03Review.html&quot;&gt;Bob Martin&lt;/A&gt;: &lt;EM&gt;Blogs are for hearing about what an individual says about something. Wikis are for seeing what a community thinks about something.&lt;/EM&gt; [via &lt;A href=&quot;http://www.intertwingly.net/blog/&quot;&gt;Sam Ruby&lt;/A&gt;] &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Entity Design Pattern</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-10#270</atom:id>
  <atom:published>2003-06-10T17:52:56Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblogs.asp.net/aaguiar/posts/8485.aspx&quot;&gt;The Entity Design Pattern&lt;/A&gt; &lt;P&gt;There is a &lt;A href=&quot;http://www.codeproject.com/gen/design/EntityDesignPattern.asp&quot;&gt;good article&lt;/A&gt; in CodeProject about the Entity Design Pattern. The guy who wrote it is definitely in the same frequency as DeKlarit. &lt;/P&gt; &lt;P&gt;[via &lt;A href=&quot;http://weblogs.asp.net/aaguiar/&quot;&gt;Andres Aguiar&#39;s Weblog&lt;/A&gt;]&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>SharpReader gets even better again!</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-10#269</atom:id>
  <atom:published>2003-06-10T17:41:08Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://aspnetweblog.com/posts/7802.aspx&quot;&gt;SharpReader gets even better again!&lt;/A&gt; &lt;A href=&quot;http://www.hutteman.com/&quot; target=_blank&gt;Luke&lt;/A&gt; just released an updated version of &lt;A href=&quot;http://sharpreader.com/&quot; target=_blank&gt;SharpReader: 0.9.1&lt;/A&gt; New features: &lt;UL&gt; &lt;LI&gt;Change feed URL on 301 (moved permanently) HTTP-response. &lt;/LI&gt; &lt;LI&gt;Window-size fix for Large Fonts. &lt;/LI&gt; &lt;LI&gt;Feed Properties Pane (available through the feed popup-menu or ALT-Enter). &lt;/LI&gt; &lt;LI&gt;Refresh Rate moved from toolbar to feed properties pane. &lt;/LI&gt; &lt;LI&gt;Auto-purge: after x days or after x items. &lt;/LI&gt; &lt;LI&gt;Better support for content-encoding of &#39;deflate&#39;. &lt;/LI&gt; &lt;LI&gt;Implement IBlogExtension and allow multiple plugins. Plugins are available through the item popup-menu or Ctrl-B. Plugin installation is still done by simply saving the plugin in the plugins directory. &lt;/LI&gt; &lt;LI&gt;Spacebar moves to next unread item. &lt;/LI&gt; &lt;LI&gt;Handle &amp;amp;apos; in xhtml:body. &lt;/LI&gt;&lt;/UL&gt;Nice. Great job..again :) [via &lt;A href=&quot;http://aspnetweblog.com/&quot;&gt;ScottW&#39;s ASP.NET WebLog&lt;/A&gt;] &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;p&gt;When Mono is completed, Linux is the option for the desktop.&lt;/p&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-08#108</atom:id>
  <atom:published>2003-06-08T18:51:20Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;When Mono is completed, Linux is the option for the desktop.&lt;/P&gt; &lt;P&gt;[From &lt;A href=&quot;http://weblogs.asp.net/fbouma/&quot;&gt;Frans Bouma&#39;s blog&lt;/A&gt;&amp;nbsp;in Boldface, &lt;EM&gt;My comments in italics&lt;/EM&gt;]&lt;/P&gt; &lt;P&gt;Randy Holloway &lt;A href=&quot;http://weblogs.asp.net/rholloway/posts/8369.aspx&quot;&gt;wrote&lt;/A&gt; about his &lt;A href=&quot;http://weblogs.asp.net/rholloway/posts/8370.aspx&quot;&gt;vision on Linux&lt;/A&gt; and then especially about Linux on the desktop. I disagree with his vision, I think Linux is definitely an option for the desktop at the moment and thus also in the foreseably future. It will become &lt;EM&gt;the&lt;/EM&gt; option for the desktop when Mono is completed. The reason for this is simple: a lot of Windows programs will be written using .NET. If you can run these programs on Linux too, using Mono, what&#39;s keeping you on Windows? Perhaps the games. But definitely not the business applications, since the Linux version for spreadsheets, browsers, wordprocessors, emailprograms and other every-day software are solid &lt;EM&gt;today&lt;/EM&gt;, even when compared to Microsoft Office XP. &lt;/P&gt; &lt;P&gt;&lt;EM&gt;Linux desktop office applications do not rival those of Windows, in particular Office 2003. We have to be careful when we make generic statements such as this becuase the end result is disappointment and frustation for corporate Linux neophyte.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Imagine a corporate power user that has used Excel to produce Pivot tables (like I do) that provide me with a critical success factors dashboard for my enterprise. If I was to move to any of the incarnations of open office this would be lost. Now, for the corporate user -knowledge, information worker- that I believe Randy has in mind this remains a problem re. Linux as a desktop offering today.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;On the other hand, how true is the position that I presented above? By this I mean, how many knowledge workers actually make use of Pivot Tables in Excel? Something tells me I am the exception rather than the norm. Thus, moving away from Desktop productivity tools of type &quot;Office 200x&quot;, and looking at email, and web browsing etc. Linux certainly matches Windows pound for pound, but is this enough? What is the current &quot;activation threshold&quot; for Windows vs. Linux for a Desktop user (who just wants email and web browsing)? I think this is Linux distribution dependent, now the last time I attempted this experiment (at least over a year ago) Windows won flat out becuase I had to wrestle with X Configuration en route to getting a graphical desktop (I believe this has improved vastly of late, but I need to perform this experiment using current 8.x and higher Linux distros.).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;I&#39;ve hated Linux and especially its most hardcore supporters, for years. However, you can&#39;t have an unbiased vision on what is best for a given company to use as the OS of choice if you are biased yourself. Mono changed me, I really think Mono is the best Linux has ever experienced: it makes transitions of software written for the Windows platform to a free (as in beer, I don&#39;t believe in the GPL-philosophy) OS possible.&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Mono is going to be the most significant Linux &amp;lt;--&amp;gt; Windows harmonization effort over the long term. This is because parity will no longer be about getting the likes of Open Office to reach functional parity with &quot;Office 200x&quot; as future Windows applications will be &quot;managed code&quot; in nature (a strategic Microsoft goal over the long term), and Mono&#39;s goal is to run &quot;managed code&quot; outside the Windows platform (this applies to Linux, UNIX, and other platforms).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;Besides Mono, I do think Linux is a good platform to use for everyday business applications today, because the office tools can use Exchange, they can read/write MS Office documents, so why bother investing in MS software when you can save that money and choose the alternative? The only problem is: when you have a lot of desktops to admin as a sysadmin, and you want to do that with the easy tools in Windows server 2003, you&#39;re out of luck.&amp;nbsp;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Linux is a good platform for everday business applications, but not quite good&amp;nbsp;enough in the area of unravelling it&#39;s value proposition to the point of obvious simplification for&amp;nbsp;corporate decision makers. This is the current hump in the road to this critical destination in my humble opinion.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Randy and Frans are making very good points that shed light on some of the less covered aspects of the Linux vs. Windows debate.&lt;/EM&gt;&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;p&gt;When Mono is completed, Linux is the option for the desktop.&lt;/p&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-08#261</atom:id>
  <atom:published>2003-06-08T18:51:20Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;When Mono is completed, Linux is the option for the desktop.&lt;/P&gt; &lt;P&gt;[From &lt;A href=&quot;http://weblogs.asp.net/fbouma/&quot;&gt;Frans Bouma&#39;s blog&lt;/A&gt;&amp;nbsp;in Boldface, &lt;EM&gt;My comments in italics&lt;/EM&gt;]&lt;/P&gt; &lt;P&gt;Randy Holloway &lt;A href=&quot;http://weblogs.asp.net/rholloway/posts/8369.aspx&quot;&gt;wrote&lt;/A&gt; about his &lt;A href=&quot;http://weblogs.asp.net/rholloway/posts/8370.aspx&quot;&gt;vision on Linux&lt;/A&gt; and then especially about Linux on the desktop. I disagree with his vision, I think Linux is definitely an option for the desktop at the moment and thus also in the foreseably future. It will become &lt;EM&gt;the&lt;/EM&gt; option for the desktop when Mono is completed. The reason for this is simple: a lot of Windows programs will be written using .NET. If you can run these programs on Linux too, using Mono, what&#39;s keeping you on Windows? Perhaps the games. But definitely not the business applications, since the Linux version for spreadsheets, browsers, wordprocessors, emailprograms and other every-day software are solid &lt;EM&gt;today&lt;/EM&gt;, even when compared to Microsoft Office XP. &lt;/P&gt; &lt;P&gt;&lt;EM&gt;Linux desktop office applications do not rival those of Windows, in particular Office 2003. We have to be careful when we make generic statements such as this becuase the end result is disappointment and frustation for corporate Linux neophyte.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Imagine a corporate power user that has used Excel to produce Pivot tables (like I do) that provide me with a critical success factors dashboard for my enterprise. If I was to move to any of the incarnations of open office this would be lost. Now, for the corporate user -knowledge, information worker- that I believe Randy has in mind this remains a problem re. Linux as a desktop offering today.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;On the other hand, how true is the position that I presented above? By this I mean, how many knowledge workers actually make use of Pivot Tables in Excel? Something tells me I am the exception rather than the norm. Thus, moving away from Desktop productivity tools of type &quot;Office 200x&quot;, and looking at email, and web browsing etc. Linux certainly matches Windows pound for pound, but is this enough? What is the current &quot;activation threshold&quot; for Windows vs. Linux for a Desktop user (who just wants email and web browsing)? I think this is Linux distribution dependent, now the last time I attempted this experiment (at least over a year ago) Windows won flat out becuase I had to wrestle with X Configuration en route to getting a graphical desktop (I believe this has improved vastly of late, but I need to perform this experiment using current 8.x and higher Linux distros.).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;I&#39;ve hated Linux and especially its most hardcore supporters, for years. However, you can&#39;t have an unbiased vision on what is best for a given company to use as the OS of choice if you are biased yourself. Mono changed me, I really think Mono is the best Linux has ever experienced: it makes transitions of software written for the Windows platform to a free (as in beer, I don&#39;t believe in the GPL-philosophy) OS possible.&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Mono is going to be the most significant Linux &amp;lt;--&amp;gt; Windows harmonization effort over the long term. This is because parity will no longer be about getting the likes of Open Office to reach functional parity with &quot;Office 200x&quot; as future Windows applications will be &quot;managed code&quot; in nature (a strategic Microsoft goal over the long term), and Mono&#39;s goal is to run &quot;managed code&quot; outside the Windows platform (this applies to Linux, UNIX, and other platforms).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;Besides Mono, I do think Linux is a good platform to use for everyday business applications today, because the office tools can use Exchange, they can read/write MS Office documents, so why bother investing in MS software when you can save that money and choose the alternative? The only problem is: when you have a lot of desktops to admin as a sysadmin, and you want to do that with the easy tools in Windows server 2003, you&#39;re out of luck.&amp;nbsp;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Linux is a good platform for everday business applications, but not quite good&amp;nbsp;enough in the area of unravelling it&#39;s value proposition to the point of obvious simplification for&amp;nbsp;corporate decision makers. This is the current hump in the road to this critical destination in my humble opinion.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Randy and Frans are making very good points that shed light on some of the less covered aspects of the Linux vs. Windows debate.&lt;/EM&gt;&lt;/P&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>.NET Wrappers for Gecko</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-05#366</atom:id>
  <atom:published>2003-06-05T14:10:10Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblogs.asp.net/aaguiar/posts/8300.aspx&quot;&gt;.NET Wrappers for Gecko&lt;/A&gt; &lt;A href=&quot;http://www.cookcomputing.com/blog/archives/000271.html&quot;&gt;.NET Wrappers for Gecko&lt;/A&gt; &lt;P&gt;In case you missed it, A.N.Other added a comment to my &lt;A href=&quot;http://www.cookcomputing.com/blog/archives/000266.html#266&quot;&gt;recent post&lt;/A&gt; on Mozilla Firebird, succintly pointing to a &lt;A href=&quot;http://lxr.mozilla.org/seamonkey/source/embedding/wrappers/DotNETEmbed/&quot;&gt;project&lt;/A&gt; which is building .NET wrappers for the Gecko engine using Managed C++. I&#39;ve not yet had a chance to look into this any further. [via &lt;A href=&quot;http://www.cookcomputing.com/blog/&quot;&gt;Cook Computing&lt;/A&gt;] [via &lt;A href=&quot;http://weblogs.asp.net/aaguiar/&quot;&gt;Andres Aguiar&#39;s Weblog&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;This is an interesting development, the crux of the matter being accessibility to Gecko from Visual Studio. &lt;A href=&quot;http://lxr.mozilla.org/seamonkey/source/embedding/wrappers/DotNETEmbed/ManagedGecko.html&quot;&gt;Details&lt;/A&gt; &lt;/EM&gt;&lt;/P&gt; &lt;DIV&gt;&lt;EM&gt;This would certainly be useful in our current news aggregator project as it allows the aggregator to be browser independent.&lt;/EM&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;EM&gt;What we need next is Mozilla hosting .NET in the same manner that IE6 does.&lt;/EM&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>.NET Wrappers for Gecko</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-05#96</atom:id>
  <atom:published>2003-06-05T14:10:10Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblogs.asp.net/aaguiar/posts/8300.aspx&quot;&gt;.NET Wrappers for Gecko&lt;/A&gt; &lt;A href=&quot;http://www.cookcomputing.com/blog/archives/000271.html&quot;&gt;.NET Wrappers for Gecko&lt;/A&gt; &lt;P&gt;In case you missed it, A.N.Other added a comment to my &lt;A href=&quot;http://www.cookcomputing.com/blog/archives/000266.html#266&quot;&gt;recent post&lt;/A&gt; on Mozilla Firebird, succintly pointing to a &lt;A href=&quot;http://lxr.mozilla.org/seamonkey/source/embedding/wrappers/DotNETEmbed/&quot;&gt;project&lt;/A&gt; which is building .NET wrappers for the Gecko engine using Managed C++. I&#39;ve not yet had a chance to look into this any further. [via &lt;A href=&quot;http://www.cookcomputing.com/blog/&quot;&gt;Cook Computing&lt;/A&gt;] [via &lt;A href=&quot;http://weblogs.asp.net/aaguiar/&quot;&gt;Andres Aguiar&#39;s Weblog&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;This is an interesting development, the crux of the matter being accessibility to Gecko from Visual Studio. &lt;A href=&quot;http://lxr.mozilla.org/seamonkey/source/embedding/wrappers/DotNETEmbed/ManagedGecko.html&quot;&gt;Details&lt;/A&gt; &lt;/EM&gt;&lt;/P&gt; &lt;DIV&gt;&lt;EM&gt;This would certainly be useful in our current news aggregator project as it allows the aggregator to be browser independent.&lt;/EM&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;EM&gt;What we need next is Mozilla hosting .NET in the same manner that IE6 does.&lt;/EM&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Business Wikis in action</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-05#365</atom:id>
  <atom:published>2003-06-05T10:34:52Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">This &lt;A href=&quot;http://www.socialtext.net/etech/&quot;&gt;site&lt;/A&gt; is a good example of Blogs and Wiki&#39;s in action. Certainly take a look at the event presentation &lt;A href=&quot;http://www.socialtext.net/etech/index.cgi?PowerPoint%20Gallery&quot;&gt;slides&lt;/A&gt; area. In particular see the Amazon &lt;A href=&quot;http://www.syndic8.com/~jeff/aws/&quot;&gt;presentation&lt;/A&gt;.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Business Wikis in action</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-05#95</atom:id>
  <atom:published>2003-06-05T10:34:52Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">This &lt;A href=&quot;http://www.socialtext.net/etech/&quot;&gt;site&lt;/A&gt; is a good example of Blogs and Wiki&#39;s in action. Certainly take a look at the event presentation &lt;A href=&quot;http://www.socialtext.net/etech/index.cgi?PowerPoint%20Gallery&quot;&gt;slides&lt;/A&gt; area. In particular see the Amazon &lt;A href=&quot;http://www.syndic8.com/~jeff/aws/&quot;&gt;presentation&lt;/A&gt;.</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Xpressions Software Multiple SQL Injection Attacks</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-04#94</atom:id>
  <atom:published>2003-06-05T01:09:54Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://c.moreover.com/click/here.pl?r74534543&quot;&gt;Xpressions Software Multiple SQL Injection Attacks&lt;/A&gt; Net Security Jun 4 2003 8:39PM ET... &lt;DIV align=right&gt;[via &lt;A href=&quot;http://meerkat.oreillynet.com/&quot;&gt;Meerkat: An Open Wire Service&lt;/A&gt;] &lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://weblogs.asp.net/rholloway/posts/8197.aspx&quot;&gt;Deconstructing the Yukon Delay &lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-03#358</atom:id>
  <atom:published>2003-06-03T21:28:41Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">Deconstructing the Yukon Delay Microsoft is &lt;a href=&quot;http://www.eweek.com/article2/0,3959,1116195,00.asp&quot;&gt;citing&lt;/a&gt; customer concerns about product stability and internal dependencies on Whidbey as the primary drivers for the project delays in the Yukon release. The software is now projected to release in the second half of 2004. I&#39;m the last person that would criticize Microsoft for delaying the schedule to ensure that the product is reliable, however I take exception with their claim that customer concern is a factor. If customers were not voicing their concerns over product stability, how would Microsoft do anything differently? The nature of the product, being a database server, is that is must be reliable and secure. I think this is Microsoft&#39;s way of responding to perception that they release &quot;beta&quot; quality software without sufficient testing and allow the customers to discover the issues. In my opinion the Whidbey dependence is the primary driver for the scheduling delays, although without inside knowledge of the product development initiative it is probably not possible to understand the complexities. Microsoft is probably better off citing the new Yukon features and the Whidbey dependencies rather than &quot;customer concerns&quot; over reliability. Security and reliability concerns need to be Microsoft&#39;s concerns, not the customer&#39;s.[&lt;a href=&quot;http://weblogs.asp.net/rholloway/posts/8197.aspx&quot;&gt;via Randy Holloway&#39;s Blog] &lt;/a&gt; &lt;br&gt; &lt;i&gt;Transalates to: we have some additional time to make Virtuoso even better!&lt;/i&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Borland, Microsoft Move Closer on Databases</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-02#352</atom:id>
  <atom:published>2003-06-02T23:49:19Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://demo2.usnet.private:8890/blog/kidehen@openlinksw.com/blog/index.vsp?date=2003-06-02#81&quot;&gt;Borland, Microsoft Move Closer on Databases&lt;/A&gt; &lt;P&gt;&lt;A href=&quot;http://redir.internet.com/rss/prod-news/www.internetnews.com/infra/article.php/2215361&quot;&gt;Borland, Microsoft Move Closer on Databases&lt;/A&gt; The two competitors put differences aside to push a new environment on the .NET Framework. [via &lt;A href=&quot;http://ipw.internet.com/news.html&quot;&gt;Internet Product News&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Ah! Now I get it, let&#39;s be database specific by bundling developer copies of all the supported databases. So we get one really huge product simply becuase we don&#39;t realize that ADO.NET pretty much ensures some degree of DB independence (ODBC delivers the real thing for SQL. but that&#39;s old hat! Not!).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt; &lt;DIV align=right&gt;[via &lt;A href=&quot;http://demo2.usnet.private:8890/blog/kidehen@openlinksw.com/blog&quot;&gt;Kingsley Idehen&#39;s Weblog&lt;/A&gt;] &lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>Borland, Microsoft Move Closer on Databases</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-06-02#351</atom:id>
  <atom:published>2003-06-02T17:37:45Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;&lt;A href=&quot;http://redir.internet.com/rss/prod-news/www.internetnews.com/infra/article.php/2215361&quot;&gt;Borland, Microsoft Move Closer on Databases&lt;/A&gt; The two competitors put differences aside to push a new environment on the .NET Framework. [via &lt;A href=&quot;http://ipw.internet.com/news.html&quot;&gt;Internet Product News&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Ah! Now I get it, let&#39;s be database specific by bundling developer copies of all the supported databases. So we get one really huge product simply becuase we don&#39;t realize that ADO.NET pretty much ensure some degree of DB independence (ODBC delivers the real thing for SQL. but that&#39;s old hat! Not).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>ASP.NET Forums</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-30#341</atom:id>
  <atom:published>2003-05-30T18:13:16Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://weblogs.asp.net/rhoward/posts/2954.aspx&quot;&gt;ASP.NET Forums&lt;/a&gt; &lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;Last night we updated the &lt;a href=&quot;http://www.asp.net/&quot;&gt;ASP.NET Website&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>ASP.NET Forums</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-30#69</atom:id>
  <atom:published>2003-05-30T18:13:16Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblogs.asp.net/rhoward/posts/2954.aspx&quot;&gt;ASP.NET Forums&lt;/A&gt; &lt;P&gt;&lt;FONT face=Arial&gt;Last night we updated the &lt;A href=&quot;http://www.asp.net/&quot;&gt;ASP.NET Website&lt;/A&gt;&amp;nbsp;to ASP.NET 1.1. So far so good, we found a couple of bugs in the forums that we had to patch this morning, but overall the site seems to run faster! Today we got even more good news, we should have our new dual-processor SQL box online by-end-of-week. It&#39;s somewhat amazing that our little SQL Server (single-proc. 750 MHZ 1GB RAM) has handled the load of (&lt;FONT face=Arial&gt;we&#39;re serving about 100K unique users / day on the site right now.)&lt;/FONT&gt;:&lt;/FONT&gt;&lt;/P&gt; &lt;UL&gt; &lt;LI&gt;&lt;FONT face=Arial&gt;All the content from &lt;A href=&quot;http://www.asp.net/&quot;&gt;www.asp.net&lt;/A&gt; (all content is stored in the DB)&lt;/FONT&gt;&lt;/LI&gt; &lt;LI&gt;&lt;FONT face=Arial&gt;All the interactive content from &lt;A href=&quot;http://www.asp.net/ControlGallery/&quot;&gt;www.asp.net/ControlGallery/&lt;/A&gt; &lt;/FONT&gt;&lt;/LI&gt; &lt;LI&gt;&lt;FONT face=Arial&gt;All the interactive content from &lt;A href=&quot;http://www.asp.net/Forums/&quot;&gt;www.asp.net/Forums/&lt;/A&gt;&amp;nbsp;(requires the most database utilization)&lt;/FONT&gt;&lt;/LI&gt; &lt;LI&gt;&lt;FONT face=Arial&gt;All the interactive online versions of the starter kits (such as IBuySpy Store, Portal, etc.)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;P&gt;&lt;FONT face=Arial&gt;Unfortunately the search functionality of the forums is killing CPU utilization on the SQL Server. Once we get the new DB in place we&#39;ll dedicate it to the forums --- should definitley speed up the site even more! &lt;/FONT&gt;[via &lt;A href=&quot;http://weblogs.asp.net/rhoward/&quot;&gt;Rob Howard&#39;s Blog&lt;/A&gt;]&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Future of Internet Explorer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-27#334</atom:id>
  <atom:published>2003-05-27T18:50:13Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;a href=&quot;http://www.slightlybent.com/200305archive001.asp#1053867954001&quot;&gt;The Future of Internet Explorer&lt;/a&gt; I Just said something to &lt;a title=&quot;Sam Ruby&quot; href=&quot;http://www.intertwingly.net/blog/1432.html&quot; target=&quot;_blank&quot;&gt;Sam Ruby&lt;/a&gt; in a comment that has caused me to stop and think. We are currently seeing all kinds of supposedly leaked information and screenshots of MS&amp;#39;s next operating system, Longhorn. This is not due out till the end of 2004 or the beginning of 2005. A full 1 1/2 to 2 years away. Where are all the leaked screenshots and Information on the next version of Internet Explorer? Is there a next version? I read somewhere the other day that the IE team was actually smaller than the MS Works team. given that IE owns 95% of the browser market and MS Works owns, what?, of the office suite market, this seems a little more strange. &lt;/p&gt; &lt;p&gt;&lt;em&gt;Not strange at all, that&amp;#39;s how Monopolies operate. They do not have any embracing to do right now (in other words there is nothing to kill in this market place). &lt;/em&gt;&lt;/p&gt; &lt;p&gt;I have over 150 weblogs I monitor through my new reader and a good portion of them are MS employees (becuase I work in a MS enviroment). To the best of my knowledge, not one of them is from the IE team. All this has lead me to ask if IE is dead. If so, is it because MS doesn&amp;#39;t see any point in developing it further or could they be worried that any further development would be viewed as anti-competitive? &lt;/p&gt; &lt;p&gt;&lt;em&gt;The problem here is no direction, many of the larger companies live of the innovation of smaller companies. The like to say, &amp;quot;Ah&amp;quot;! &amp;quot;We&amp;#39;ll have one of those in the future sometime...&amp;quot;, and then crush smaller company if the FUD (Fear Uncertainty Doubt) doesn&amp;#39;t bury the perceived threat (anything that is generating revenue that they aren&amp;#39;t taxing; bottom-line). &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Well while the cat&amp;#39;s away the mice will play, Mozilla is getting stronger and better by the minute. So there may just be a reason for IE to come back to its &lt;u&gt;destructive life&lt;/u&gt;.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;[via &lt;a href=&quot;http://www.slightlybent.com/default.asp&quot;&gt;Slightly Bent&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Future of Internet Explorer</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-27#62</atom:id>
  <atom:published>2003-05-27T18:50:13Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P&gt;&lt;A href=&quot;http://www.slightlybent.com/200305archive001.asp#1053867954001&quot;&gt;The Future of Internet Explorer&lt;/A&gt; I Just said something to &lt;A title=&quot;Sam Ruby&quot; href=&quot;http://www.intertwingly.net/blog/1432.html&quot; target=_blank&gt;Sam Ruby&lt;/A&gt; in a comment that has caused me to stop and think. We are currently seeing all kinds of supposedly leaked information and screenshots of MS&#39;s next operating system, Longhorn. This is not due out till the end of 2004 or the beginning of 2005. A full 1 1/2 to 2 years away. Where are all the leaked screenshots and Information on the next version of Internet Explorer? Is there a next version? I read somewhere the other day that the IE team was actually smaller than the MS Works team. given that IE owns 95% of the browser market and MS Works owns, what?, of the office suite market, this seems a little more strange. &lt;/P&gt; &lt;P&gt;&lt;EM&gt;Not strange at all, that&#39;s how Monopolies operate. They do not have any embracing to do right now (in other words there is nothing to kill in this market place). &lt;/EM&gt;&lt;/P&gt; &lt;P&gt;I have over 150 weblogs I monitor through my new reader and a good portion of them are MS employees (becuase I work in a MS enviroment). To the best of my knowledge, not one of them is from the IE team. All this has lead me to ask if IE is dead. If so, is it because MS doesn&#39;t see any point in developing it further or could they be worried that any further development would be viewed as anti-competitive? &lt;/P&gt; &lt;P&gt;&lt;EM&gt;The problem here is no direction, many of the larger companies live of the innovation of smaller companies. The like to say, &quot;Ah&quot;! &quot;We&#39;ll have one of those in the future sometime...&quot;, and then crush smaller company if the FUD (Fear Uncertainty Doubt) doesn&#39;t bury the perceived threat (anything that is generating revenue that they aren&#39;t taxing; bottom-line). &lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Well while the cat&#39;s away the mice will play, Mozilla is getting stronger and better by the minute. So there may just be a reason for IE to come back to its &lt;U&gt;destructive life&lt;/U&gt;.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;[via &lt;A href=&quot;http://www.slightlybent.com/default.asp&quot;&gt;Slightly Bent&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Harry Tuttle award</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-27#333</atom:id>
  <atom:published>2003-05-27T13:06:02Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;a href=&quot;http://weblog.infoworld.com/udell/2003/05/27.html#a704&quot;&gt;The Harry Tuttle award&lt;/a&gt; The weekend&amp;#39;s Harry Tuttle award goes to &lt;a href=&quot;http://clarity.awakeheart.net/&quot;&gt;Robert Ivanc&lt;/a&gt;. On Friday he wrote to inform me that my weblog was interfering with an otherwise painless visit to the dentist: &lt;blockquote&gt;&lt;i&gt;A few days ago, I was waiting at a dentist and trying to kill the time thought of using my Nokia 3650 (with Doris HTML browser) to have a look at your site, to see if there&amp;#39;s anything there that might put my mind on other matters than the precarious closeness of the dentist drilling machines! And what I found out was how hard it was to get to the actual content on your site...I had to scroll through all of what is usually hidden...after about 10 minutes or so I finally got to the content. Any way to redesign it, so that content gets loaded first or putting up a mobile lightweight version? &lt;/i&gt;&lt;/blockquote&gt; &lt;p&gt;Excellent point. I thought about this for five seconds and realized that Rob could solve this problem for himself -- and for others -- in a very simple way. I pointed him at the solution, and he picked up the ball and ran with it. &lt;b&gt;...&lt;/b&gt; &lt;/p&gt; &lt;p&gt;&lt;!--StartFragment --&gt; &lt;/p&gt; &lt;p&gt;My blog is currently available in two XML flavors: the &lt;a href=&quot;http://weblog.infoworld.com/udell/rss.xml&quot;&gt;standard feed&lt;/a&gt; and the &lt;a href=&quot;http://weblog.infoworld.com/udell/gems/longDescriptionFeed.xml&quot;&gt;extended feed&lt;/a&gt;. My suggestion to Rob was to write an XSLT transform for one or the other, and pipe the XML content through it (using the W3C&amp;#39;s public XSLT transformation service) to create a lightweight HTML rendering. &lt;/p&gt; &lt;p&gt;Here is the &lt;a href=&quot;http://awakeheart.net/rss2html.xsl&quot;&gt;XSLT file&lt;/a&gt; Rob wrote. Here&amp;#39;s how &lt;a href=&quot;http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fawakeheart.net%2Frss2html.xsl&amp;xmlfile=http%3A%2F%2Fweblog.infoworld.com%2Fudell%2Frss.xml&amp;transform=Submit&quot;&gt;it renders&lt;/a&gt; my standard feed. Here&amp;#39;s how &lt;a href=&quot;http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fawakeheart.net%2Frss2html.xsl&amp;xmlfile=http%3A%2F%2Fweblog.infoworld.com%2Fudell%2Fgems%2FlongDescriptionFeed.xml&amp;transform=Submit&quot;&gt;it renders&lt;/a&gt; my extended feed. &lt;/p&gt; &lt;p&gt;As Rob notes in &lt;a href=&quot;http://clarity.awakeheart.net/archives/000233.html#000233&quot;&gt;his writeup&lt;/a&gt;, there was a problem with the extended feed, so originally he was only able to pipe the standard feed to his Nokia. But that was my fault, not his. I kicked my setup and it seems to be working properly now. Rob&amp;#39;s conclusion: &lt;/p&gt; &lt;blockquote&gt;&lt;i&gt;Wow, that was pretty simple and quite powerful. The power of this kind of ad hoc scripting never ceases to amaze me! [&lt;a href=&quot;http://clarity.awakeheart.net/&quot;&gt;Clarity&amp;#39;s Blog&lt;/a&gt;] &lt;/i&gt;&lt;/blockquote&gt; &lt;p&gt;[via &lt;a href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&amp;#39;s Radio&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;&lt;em&gt;Very cool! The power of XSLT! Now I am sure we can see how Virtuoso would extend this further? In short I will try to have this become an attribute of my Blog. &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Virtuoso could enable this site to automatically determine what type of User Agent (clients such as Web Browsers)&lt;/em&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>The Harry Tuttle award</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-27#61</atom:id>
  <atom:published>2003-05-27T13:06:02Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://weblog.infoworld.com/udell/2003/05/27.html#a704&quot;&gt;The Harry Tuttle award&lt;/A&gt; The weekend&#39;s Harry Tuttle award goes to &lt;A href=&quot;http://clarity.awakeheart.net/&quot;&gt;Robert Ivanc&lt;/A&gt;. On Friday he wrote to inform me that my weblog was interfering with an otherwise painless visit to the dentist: &lt;BLOCKQUOTE&gt;&lt;I&gt;A few days ago, I was waiting at a dentist and trying to kill the time thought of using my Nokia 3650 (with Doris HTML browser) to have a look at your site, to see if there&#39;s anything there that might put my mind on other matters than the precarious closeness of the dentist drilling machines! And what I found out was how hard it was to get to the actual content on your site...I had to scroll through all of what is usually hidden...after about 10 minutes or so I finally got to the content. Any way to redesign it, so that content gets loaded first or putting up a mobile lightweight version? &lt;/I&gt;&lt;/BLOCKQUOTE&gt; &lt;P&gt;Excellent point. I thought about this for five seconds and realized that Rob could solve this problem for himself -- and for others -- in a very simple way. I pointed him at the solution, and he picked up the ball and ran with it. &lt;B&gt;...&lt;/B&gt; &lt;/P&gt; &lt;P&gt;&lt;!--StartFragment --&gt; &lt;/P&gt; &lt;P&gt;My blog is currently available in two XML flavors: the &lt;A href=&quot;http://weblog.infoworld.com/udell/rss.xml&quot;&gt;standard feed&lt;/A&gt; and the &lt;A href=&quot;http://weblog.infoworld.com/udell/gems/longDescriptionFeed.xml&quot;&gt;extended feed&lt;/A&gt;. My suggestion to Rob was to write an XSLT transform for one or the other, and pipe the XML content through it (using the W3C&#39;s public XSLT transformation service) to create a lightweight HTML rendering. &lt;/P&gt; &lt;P&gt;Here is the &lt;A href=&quot;http://awakeheart.net/rss2html.xsl&quot;&gt;XSLT file&lt;/A&gt; Rob wrote. Here&#39;s how &lt;A href=&quot;http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fawakeheart.net%2Frss2html.xsl&amp;amp;xmlfile=http%3A%2F%2Fweblog.infoworld.com%2Fudell%2Frss.xml&amp;amp;transform=Submit&quot;&gt;it renders&lt;/A&gt; my standard feed. Here&#39;s how &lt;A href=&quot;http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fawakeheart.net%2Frss2html.xsl&amp;amp;xmlfile=http%3A%2F%2Fweblog.infoworld.com%2Fudell%2Fgems%2FlongDescriptionFeed.xml&amp;amp;transform=Submit&quot;&gt;it renders&lt;/A&gt; my extended feed. &lt;/P&gt; &lt;P&gt;As Rob notes in &lt;A href=&quot;http://clarity.awakeheart.net/archives/000233.html#000233&quot;&gt;his writeup&lt;/A&gt;, there was a problem with the extended feed, so originally he was only able to pipe the standard feed to his Nokia. But that was my fault, not his. I kicked my setup and it seems to be working properly now. Rob&#39;s conclusion: &lt;/P&gt; &lt;BLOCKQUOTE&gt;&lt;I&gt;Wow, that was pretty simple and quite powerful. The power of this kind of ad hoc scripting never ceases to amaze me! [&lt;A href=&quot;http://clarity.awakeheart.net/&quot;&gt;Clarity&#39;s Blog&lt;/A&gt;] &lt;/I&gt;&lt;/BLOCKQUOTE&gt; &lt;P&gt;[via &lt;A href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon&#39;s Radio&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Very cool! The power of XSLT! Now I am sure we can see how Virtuoso would extend this further? In short I will try to have this become an attribute of my Blog. &lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Virtuoso could enable this site to automatically determine what type of User Agent (clients such as Web Browsers)&amp;nbsp;is being used by the visitor and then automatically associated the required XSTL stylesheet for the User Agent.&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;This was one of the very basic Virtuoso XML and XSLT demos (circa 2000-2001).&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Blogging is going to provide a very fluid demo canvas for Virtuoso as this article demonstrates.&lt;/EM&gt;&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;big&gt;SQL Injection FAQ &lt;/big&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#319</atom:id>
  <atom:published>2003-05-21T22:27:45Z</atom:published>
  <atom:updated>2006-12-04T08:41:24.000003-05:00</atom:updated>
  <atom:content type="html">&lt;p align=&quot;center&quot;&gt;&lt;font color=&quot;#0080c0&quot; size=&quot;2&quot;&gt;&lt;big&gt;&lt;strong&gt;&lt;big&gt;SQL Injection FAQ &lt;/big&gt;&lt;/strong&gt;&lt;/big&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt; &lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;strong&gt;&lt;font color=&quot;red&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;strong&gt;&lt;font color=&quot;red&quot;&gt;Â &lt;/font&gt;&lt;/strong&gt;&lt;a href=&quot;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;tabid=3&quot;&gt;&lt;strong&gt;&lt;font color=&quot;red&quot;&gt;&lt;a href=&quot;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;amp;;tabid=3&quot;&gt;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;amp;;tabid=3&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color=&quot;red&quot;&gt;Â &lt;/font&gt;&lt;/strong&gt; &lt;br /&gt; &lt;div align=&quot;center&quot;&gt; &lt;center&gt; &lt;table width=&quot;80%&quot; border=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width=&quot;100%&quot;&gt; &lt;p&gt;&lt;big&gt;&lt;strong&gt;&lt;font size=&quot;2&quot;&gt;Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?&lt;/font&gt;&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. &lt;/font&gt;&lt;a href=&quot;http://www.owasp.org/&quot; target=&quot;_blank&quot;&gt;&lt;a href=&quot;http://www.owasp.org/&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://www.owasp.org&lt;/font&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size=&quot;2&quot;&gt;&lt;b&gt;What is SQL Injection and why is all this information not included in the regular FAQ?&lt;/b&gt; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. Â  Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.Â  In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.Â  However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;big&gt;&lt;strong&gt;&lt;font size=&quot;2&quot;&gt;What causes SQL Injection?&lt;/font&gt;&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;SQL injection is usually caused by developers who use &amp;quot;string-building&amp;quot; techniques in order to execute SQL code.Â  For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot; size=&quot;2&quot;&gt;Set myRecordset = myConnection.execute(&amp;quot;SELECT * FROM myTable WHERE someText =&amp;#39;&amp;quot; &amp;amp; request.form(&amp;quot;inputdata&amp;quot;) &amp;amp; &amp;quot;&amp;#39;&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.Â  We are trusting that user has not entered something malicious - something like the innocent looking single quote (&amp;#39;).Â  Let&amp;#39;s consider what would happen if a user entered the following text into the search form:&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;#39; exec master..xp_cmdshell &amp;#39;net user test testpass /ADD&amp;#39; --&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Then, when the query string is assembled and sent to SQL Server, the server will process the following code:&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot; size=&quot;2&quot;&gt;SELECT * FROM myTable WHERE someText =&amp;#39;&amp;#39; exec master..xp_cmdshell &amp;#39;net user test testpass /ADD&amp;#39;--&amp;#39;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.Â  If this application were running as &amp;#39;sa&amp;#39; and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.Â  Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer&amp;#39;s code.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.sqlsecurity.com/faq-inj.asp&quot;&gt;&lt;font size=&quot;2&quot;&gt;More&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot;&gt;Very intresting that these are all Native Interface based exploits.Â  So the security issue isn&amp;#39;t ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;big&gt;SQL Injection FAQ &lt;/big&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#48</atom:id>
  <atom:published>2003-05-21T22:27:45Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;P align=center&gt;&lt;FONT color=#0080c0 size=2&gt;&lt;BIG&gt;&lt;STRONG&gt;&lt;BIG&gt;SQL Injection FAQ &lt;/BIG&gt;&lt;/STRONG&gt;&lt;/BIG&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P align=center&gt; &lt;P align=center&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href=&quot;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;amp;tabid=3&quot;&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;&lt;A href=&quot;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;amp;;tabid=3&quot;&gt;http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;amp;;tabid=3&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;FONT color=red&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;BR&gt; &lt;DIV align=center&gt; &lt;CENTER&gt; &lt;TABLE width=&quot;80%&quot; border=0&gt; &lt;TBODY&gt; &lt;TR&gt; &lt;TD width=&quot;100%&quot;&gt; &lt;P&gt;&lt;BIG&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/BIG&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. &lt;/FONT&gt;&lt;A href=&quot;http://www.owasp.org/&quot; target=_blank&gt;&lt;A href=&quot;http://www.owasp.org/&quot;&gt;&lt;FONT size=2&gt;http://www.owasp.org&lt;/FONT&gt;&lt;/A&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;B&gt;What is SQL Injection and why is all this information not included in the regular FAQ?&lt;/B&gt; &lt;/FONT&gt; &lt;P&gt;&lt;FONT size=2&gt;SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. &amp;nbsp; Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.&amp;nbsp; In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.&amp;nbsp; However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;BIG&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;What causes SQL Injection?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/BIG&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;SQL injection is usually caused by developers who use &quot;string-building&quot; techniques in order to execute SQL code.&amp;nbsp; For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT face=&quot;Courier New&quot; color=#ff0000 size=2&gt;Set myRecordset = myConnection.execute(&quot;SELECT * FROM myTable WHERE someText =&#39;&quot; &amp;amp; request.form(&quot;inputdata&quot;) &amp;amp; &quot;&#39;&quot;)&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.&amp;nbsp; We are trusting that user has not entered something malicious - something like the innocent looking single quote (&#39;).&amp;nbsp; Let&#39;s consider what would happen if a user entered the following text into the search form:&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39; --&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;Then, when the query string is assembled and sent to SQL Server, the server will process the following code:&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT face=&quot;Courier New&quot; color=#ff0000 size=2&gt;SELECT * FROM myTable WHERE someText =&#39;&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39;--&#39;&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=2&gt;Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.&amp;nbsp; If this application were running as &#39;sa&#39; and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.&amp;nbsp; Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer&#39;s code.&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;A href=&quot;http://www.sqlsecurity.com/faq-inj.asp&quot;&gt;&lt;FONT size=2&gt;More&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;&lt;FONT color=#000000 size=2&gt;Very intresting that these are all Native Interface based exploits.&amp;nbsp; So the security issue isn&#39;t ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/CENTER&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>By Harry Fuecks</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#997</atom:id>
  <atom:published>2003-05-21T20:49:29Z</atom:published>
  <atom:updated>2006-07-07T08:29:38-04:00</atom:updated>
  <atom:content type="html">&lt;h2&gt; &lt;font size=&quot;3&quot;&gt;By Harry Fuecks&lt;/font&gt; &lt;br /&gt; &lt;font size=&quot;2&quot;&gt;Here&amp;#39;s a question: what if I was to tell you that you can write your own version of Word using something like HTML and JavaScript? What if I added that you could run on your hard disk or launch it directly from your Web server and use it to update your site&amp;#39;s content? It sounds a little far fetched, I know, but it&amp;#39;s right here, right now -- and it calls itself &amp;quot;Zool&amp;quot;.  &lt;/font&gt; &lt;/h2&gt; &lt;p&gt;Here?s what this three-part series will cover:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The XUL Revolution: just who is Zool? &lt;/li&gt; &lt;li&gt;Back to School: time to dust of that JavaScript... &lt;/li&gt; &lt;li&gt;Zoolology: getting read to fire up your first XUL application &lt;/li&gt; &lt;li&gt;3D Browsing with XUL: straight in at the deep end. &lt;/li&gt; &lt;li&gt;Desperately Seeking: the search is over. &lt;/li&gt; &lt;li&gt;Takeaway Menu: with fries please! &lt;/li&gt; &lt;li&gt;But no one uses Mozilla: back to browser detection. &lt;/li&gt; &lt;li&gt;The Rise of the Rich Client: the future is XUL. &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;strong&gt;&lt;a href=&quot;http://www.sitepoint.com/article/1140/1&quot;&gt;Part 1&lt;/a&gt; &lt;/strong&gt; &lt;/p&gt; &lt;p&gt; &lt;em&gt;&lt;u&gt;My Comments&lt;/u&gt;:&lt;br /&gt; &lt;/em&gt;&lt;em&gt;I am a firm believer in the possibilities presented by XUL. It will enable the bundling of UI, Data, Data Manipulation logic (Application or Module ) as part of a payload hosted on report server Like Virtuoso. Basically, I anticipate the emergence of an IDE that is able to persist is UI components (widgets) and UI behaviour as XML using the XUL grammer. Then along comes a XUL Processor that is able to emit a XUL based UI payloads ( via user agent aware transformation) as:&lt;br /&gt;.NET/Mono Windows Forms assemblies&lt;br /&gt;Javascript&lt;br /&gt;Flash MX&lt;br /&gt;XUL (If we know the client is Mozilla or Firebird for instance)&lt;br /&gt;.....&lt;br /&gt;I think this is a Virtuoso demo in the making :-)&lt;/em&gt; &lt;/p&gt; &lt;p&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;/p&gt; &lt;p&gt; &lt;font face=&quot;Verdana&quot;&gt;&lt;/font&gt; &lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://dotnetweblogs.com/britchie/posts/3920.aspx&quot;&gt;.NET Languages Everywhere&lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-16#30</atom:id>
  <atom:published>2003-05-16T22:23:07Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://dotnetweblogs.com/britchie/posts/3920.aspx&quot;&gt;.NET Languages Everywhere&lt;/A&gt; &lt;P&gt;More .NET languages are popping up everyday.&amp;nbsp; I&#39;ve put together one of the most extensive lists of languages and posted it &lt;A href=&quot;http://www12.brinkster.com/brianr/languages.aspx&quot;&gt;here&lt;/A&gt;.&amp;nbsp;&lt;/P&gt; &lt;P&gt;Its pulled from many sources including: &lt;A href=&quot;http://www.asp.net/Default.aspx?tabindex=8&amp;amp;tabid=40&quot;&gt;&lt;FONT face=Verdana size=2&gt;.NET Languages&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;(ASP.NET), &lt;/FONT&gt;&lt;A href=&quot;http://www.cetus-links.org/oo_dotnet.html#oo_dotnet_netlang&quot;&gt;&lt;FONT face=Verdana size=2&gt;Cetus&lt;/FONT&gt;&lt;/A&gt;, &lt;A href=&quot;http://www.gotdotnet.com/community/resources/Default.aspx?ResourceTypeDropDownList=Language+vendors&quot;&gt;&lt;FONT face=Verdana size=2&gt;Language Vendors&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS GotDotNET), &lt;/FONT&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/lang/&quot;&gt;&lt;FONT face=Verdana size=2&gt;.NET Language Group&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS GotDotNET), &lt;/FONT&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/partners/language/default.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;Visual Studio Partners: Language Vendors&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS), &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.go-mono.com/mailing-lists.html&quot;&gt;Mono-list&lt;/A&gt;, &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.google.com/&quot;&gt;Google&lt;/A&gt;, &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://sourceforge.net/&quot;&gt;SourceForge.net&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Ada &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;A# - port of Ada to .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Dr. Martin C. Carlisle) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;APL &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.dyadic.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Dyalog.Net - Dyalog APL&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Dyadic) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;AsmL &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://research.microsoft.com/fse/asml/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Abstract State Machine Language&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Visual Basic &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vbasic/&quot;&gt;&lt;FONT face=Verdana size=2&gt;VB.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.go-mono.com/mbas.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mbas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;C# &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://msdn.microsoft.com/vcsharp/&quot;&gt;&lt;FONT face=Verdana size=2&gt;C#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI&gt;&lt;A href=&quot;http://www.go-mono.com/c-sharp.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mcs&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian)&lt;/FONT&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.southern-storm.com.au/portable_net.html&quot;&gt;cscc&lt;/A&gt; (DotGNU Portable.NET)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Caml &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://research.microsoft.com/projects/ilx/fsharp.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;F# (ML and Caml), Abstract IL, ILX&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;C++ &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/techinfo/articles/upgrade/managedext.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;Managed Extensions for C++&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/cplusplus/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Managed and Unmanaged C++&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (GotDotNet) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Cobol &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.netcobol.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;NetCOBOL - COBOL for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Fujitsu) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.microfocus.com/products/netexpress/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Net Express&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Micro Focus) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Delphi &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://borland.com/dotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Borland Delphi and C++Builder Support for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Borland) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://sourceforge.net/projects/delphinet&quot;&gt;&lt;FONT face=Verdana size=2&gt;Delphi.NET - interoperability tools&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Marcus Schmidt) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Eiffel &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.eiffel.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Eiffel for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Interactive Software Engineering) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Forth &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.dataman.ro/dforth/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Delta Forth .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Valer BOCAN) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Fortran &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.lahey.com/dotnet.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;Lahey/Fujitsu Fortran for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Lahey Computer Systems, Inc.) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.salfordsoftware.co.uk/compilers/ftn95/dotnet.shtml&quot;&gt;&lt;FONT face=Verdana size=2&gt;FTN95 - Fortran for Microsoft .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Salford Software Ltd.) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Java &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vjsharp/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Visual J# .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://weblog.ikvm.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;IKVM.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; - Java VM for .NET &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;JavaScript &lt;/FONT&gt;&lt;/LI&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/jscript/&quot;&gt;&lt;FONT face=Verdana size=2&gt;JScript .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (GotDotNet) &lt;/FONT&gt;&lt;/LI&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://janet-js.sourceforge.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;JANET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; - JavaScript-compatible language&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;LOGO &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://monologo.sourceforge.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;MonoLOGO&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Richard Hestilow) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Lua &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.tecgraf.puc-rio.br/~rcerq/luadotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Lua.NET: Integrating Lua with Rotor&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (PUC-RIO&lt;/FONT&gt; &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Mercury &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.cs.mu.oz.au/research/mercury/dotnet.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;Mercury on .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Mondrian&lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.mondrian-script.org/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Mondrian and Haskell for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Nigel Perry) &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Oberon &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.oberon.ethz.ch/oberon.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Active Oberon for .net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (ETH Zuerich) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Perl &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://aspn.activestate.com/ASPN/NET/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Perl for .NET, PerlNET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (ActiveState SRL.) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Pascal &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.fit.qut.edu.au/PLAS/ComponentPascal/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Component Pascal&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (QUT) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;PHP &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.akbkhome.com/Projects/PHP_Sharp&quot;&gt;&lt;FONT face=Verdana size=2&gt;PHP Sharp&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Python &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://home.attbi.com/~chetangadgil//DotNetWrapperForPython.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;KOBRA&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://starship.python.net/crew/mhammond/dotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Open Source Python for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mark Hammond) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Ruby &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/nrb.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;NetRuby&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;RPG &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/partners/language/asna.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;ASNA Visual RPG for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Scheme &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://rover.cs.nwu.edu/~scheme/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Scheme&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Northwestern University) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Small&amp;nbsp;Talk &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.smallscript.org/&quot;&gt;&lt;FONT face=Verdana size=2&gt;S#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;(SmallScript LLC)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;SML (Standard Meta Language) &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.cl.cam.ac.uk/Research/TSG/SMLNET/&quot;&gt;&lt;FONT face=Verdana size=2&gt;SML.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research, University of Cambridge) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Visual Basic &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vbasic/&quot;&gt;&lt;FONT face=Verdana size=2&gt;VB.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.go-mono.com/mbas.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mbas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;P class=sub&gt;&lt;FONT face=Verdana size=2&gt;I&#39;ll try to keep this updated when I run across a new language.&amp;nbsp; If anyone knows of any others, let &lt;A href=&quot;about:blankbrianlritchie@hotmail.com&quot;&gt;me&lt;/A&gt; know.&lt;/FONT&gt;[via &lt;A href=&quot;http://dotnetweblogs.com/britchie/&quot;&gt;Brian Ritchie&#39;s Blog&lt;/A&gt;]&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://dotnetweblogs.com/britchie/posts/3920.aspx&quot;&gt;.NET Languages Everywhere&lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-16#303</atom:id>
  <atom:published>2003-05-16T22:23:07Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://dotnetweblogs.com/britchie/posts/3920.aspx&quot;&gt;.NET Languages Everywhere&lt;/A&gt; &lt;P&gt;More .NET languages are popping up everyday.&amp;nbsp; I&#39;ve put together one of the most extensive lists of languages and posted it &lt;A href=&quot;http://www12.brinkster.com/brianr/languages.aspx&quot;&gt;here&lt;/A&gt;.&amp;nbsp;&lt;/P&gt; &lt;P&gt;Its pulled from many sources including: &lt;A href=&quot;http://www.asp.net/Default.aspx?tabindex=8&amp;amp;tabid=40&quot;&gt;&lt;FONT face=Verdana size=2&gt;.NET Languages&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;(ASP.NET), &lt;/FONT&gt;&lt;A href=&quot;http://www.cetus-links.org/oo_dotnet.html#oo_dotnet_netlang&quot;&gt;&lt;FONT face=Verdana size=2&gt;Cetus&lt;/FONT&gt;&lt;/A&gt;, &lt;A href=&quot;http://www.gotdotnet.com/community/resources/Default.aspx?ResourceTypeDropDownList=Language+vendors&quot;&gt;&lt;FONT face=Verdana size=2&gt;Language Vendors&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS GotDotNET), &lt;/FONT&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/lang/&quot;&gt;&lt;FONT face=Verdana size=2&gt;.NET Language Group&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS GotDotNET), &lt;/FONT&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/partners/language/default.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;Visual Studio Partners: Language Vendors&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS), &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.go-mono.com/mailing-lists.html&quot;&gt;Mono-list&lt;/A&gt;, &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.google.com/&quot;&gt;Google&lt;/A&gt;, &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://sourceforge.net/&quot;&gt;SourceForge.net&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Ada &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;A# - port of Ada to .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Dr. Martin C. Carlisle) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;APL &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.dyadic.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Dyalog.Net - Dyalog APL&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Dyadic) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;AsmL &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://research.microsoft.com/fse/asml/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Abstract State Machine Language&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Visual Basic &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vbasic/&quot;&gt;&lt;FONT face=Verdana size=2&gt;VB.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.go-mono.com/mbas.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mbas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;C# &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://msdn.microsoft.com/vcsharp/&quot;&gt;&lt;FONT face=Verdana size=2&gt;C#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI&gt;&lt;A href=&quot;http://www.go-mono.com/c-sharp.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mcs&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian)&lt;/FONT&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.southern-storm.com.au/portable_net.html&quot;&gt;cscc&lt;/A&gt; (DotGNU Portable.NET)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Caml &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://research.microsoft.com/projects/ilx/fsharp.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;F# (ML and Caml), Abstract IL, ILX&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;C++ &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/techinfo/articles/upgrade/managedext.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;Managed Extensions for C++&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/cplusplus/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Managed and Unmanaged C++&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (GotDotNet) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Cobol &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.netcobol.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;NetCOBOL - COBOL for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Fujitsu) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.microfocus.com/products/netexpress/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Net Express&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Micro Focus) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Delphi &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://borland.com/dotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Borland Delphi and C++Builder Support for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Borland) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://sourceforge.net/projects/delphinet&quot;&gt;&lt;FONT face=Verdana size=2&gt;Delphi.NET - interoperability tools&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Marcus Schmidt) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Eiffel &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.eiffel.com/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Eiffel for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Interactive Software Engineering) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Forth &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.dataman.ro/dforth/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Delta Forth .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Valer BOCAN) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Fortran &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.lahey.com/dotnet.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;Lahey/Fujitsu Fortran for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Lahey Computer Systems, Inc.) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.salfordsoftware.co.uk/compilers/ftn95/dotnet.shtml&quot;&gt;&lt;FONT face=Verdana size=2&gt;FTN95 - Fortran for Microsoft .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Salford Software Ltd.) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Java &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vjsharp/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Visual J# .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://weblog.ikvm.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;IKVM.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; - Java VM for .NET &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;JavaScript &lt;/FONT&gt;&lt;/LI&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.gotdotnet.com/team/jscript/&quot;&gt;&lt;FONT face=Verdana size=2&gt;JScript .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (GotDotNet) &lt;/FONT&gt;&lt;/LI&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://janet-js.sourceforge.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;JANET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; - JavaScript-compatible language&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;LOGO &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://monologo.sourceforge.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;MonoLOGO&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Richard Hestilow) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Lua &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.tecgraf.puc-rio.br/~rcerq/luadotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Lua.NET: Integrating Lua with Rotor&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (PUC-RIO&lt;/FONT&gt; &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Mercury &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.cs.mu.oz.au/research/mercury/dotnet.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;Mercury on .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Mondrian&lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href=&quot;http://www.mondrian-script.org/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Mondrian and Haskell for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Nigel Perry) &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Oberon &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.oberon.ethz.ch/oberon.net/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Active Oberon for .net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (ETH Zuerich) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI class=sub&gt;&lt;FONT face=Verdana size=2&gt;Perl &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://aspn.activestate.com/ASPN/NET/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Perl for .NET, PerlNET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (ActiveState SRL.) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Pascal &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.fit.qut.edu.au/PLAS/ComponentPascal/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Component Pascal&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (QUT) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;PHP &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.akbkhome.com/Projects/PHP_Sharp&quot;&gt;&lt;FONT face=Verdana size=2&gt;PHP Sharp&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Python &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://home.attbi.com/~chetangadgil//DotNetWrapperForPython.htm&quot;&gt;&lt;FONT face=Verdana size=2&gt;KOBRA&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://starship.python.net/crew/mhammond/dotnet/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Open Source Python for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mark Hammond) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Ruby &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/nrb.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;NetRuby&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;RPG &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://msdn.microsoft.com/vstudio/partners/language/asna.asp&quot;&gt;&lt;FONT face=Verdana size=2&gt;ASNA Visual RPG for .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Scheme &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://rover.cs.nwu.edu/~scheme/&quot;&gt;&lt;FONT face=Verdana size=2&gt;Scheme&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Northwestern University) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Small&amp;nbsp;Talk &lt;/FONT&gt; &lt;UL&gt; &lt;LI&gt;&lt;A href=&quot;http://www.smallscript.org/&quot;&gt;&lt;FONT face=Verdana size=2&gt;S#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;(SmallScript LLC)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;SML (Standard Meta Language) &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.cl.cam.ac.uk/Research/TSG/SMLNET/&quot;&gt;&lt;FONT face=Verdana size=2&gt;SML.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS Research, University of Cambridge) &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Visual Basic &lt;/FONT&gt; &lt;UL&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://msdn.microsoft.com/vbasic/&quot;&gt;&lt;FONT face=Verdana size=2&gt;VB.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (MS) &lt;/FONT&gt; &lt;LI class=sub&gt;&lt;A href=&quot;http://www.go-mono.com/mbas.html&quot;&gt;&lt;FONT face=Verdana size=2&gt;mbas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Mono/Ximian)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt; &lt;P class=sub&gt;&lt;FONT face=Verdana size=2&gt;I&#39;ll try to keep this updated when I run across a new language.&amp;nbsp; If anyone knows of any others, let &lt;A href=&quot;about:blankbrianlritchie@hotmail.com&quot;&gt;me&lt;/A&gt; know.&lt;/FONT&gt;[via &lt;A href=&quot;http://dotnetweblogs.com/britchie/&quot;&gt;Brian Ritchie&#39;s Blog&lt;/A&gt;]&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://www.dotnetweblogs.com/yassers/posts/5558.aspx&quot;&gt;VM Ware vs Virtual PC&lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-15#285</atom:id>
  <atom:published>2003-05-15T13:36:44Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;A href=&quot;http://www.dotnetweblogs.com/yassers/posts/5558.aspx&quot;&gt;VM Ware vs Virtual PC&lt;/A&gt; &lt;P&gt;&lt;FONT face=&quot;Trebuchet MS&quot; size=2&gt;I&#39;ve installed and used both VMWare and Virtual PC on my tablet. VPC has one key advantage: It lets the guest OS use the right drivers for your hardware. VMWare&amp;nbsp;installs its own drivers for things like display and network. In my case, VMWare&#39;s virtualized drivers caused two problems: The guest OS could not connect to the network using the host&#39;s wireless connection. This is meant I always had to be plugged in to an ethernet for the guest to be connected - an inconvenience more than a real problem. The second, more serious,&amp;nbsp;issue was going into full screen. VMWare let me choose 640x480 or 1024x768. Going into full screen with the latter resolution caused my tablet&#39;s display to go into vertical (portrait) mode. I tried everything I could think of to put it back to landscape but had no success. This is a real issue since, needless to say, using VS .NET in 640x480 is a real challenge. VPC has none of these problems. I can use my wireless network from the guest OS and I can choose from 640x480, 800x600, and 1024x768 all in full screen mode. Although there&#39;s one slight problem in VPC: When using the wireless network, the guest OS cannot ping the host OS. I can live with that.&lt;BR&gt;Next&amp;nbsp;I want to&amp;nbsp;install Longhorn in a VPC on my tablet. I don&#39;t even know if VPC supports Longhorn, stay tuned.&lt;/FONT&gt;[via &lt;A href=&quot;http://www.dotnetweblogs.com/yassers/&quot;&gt;Yasser Shohoud&lt;/A&gt;]&lt;/P&gt; &lt;P&gt;&lt;EM&gt;This is what blogs are supposed to be all about; unadulterated dissemination of knowledge. We have got to share knowledge as opposed to hoarding it!&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt;&lt;/DIV&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>eCRM Evaluation and Comparison (of sorts)</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-14#277</atom:id>
  <atom:published>2003-05-14T19:38:01Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;span class=&quot;DropCap&quot;&gt;T&lt;/span&gt;he next release of Microsoft SQL Server, code-named &amp;quot;Yukon,&amp;quot; will reshape the Windows relational database management system (RDBMS) landscape. Yukon promises to incorporate the benefits of native XML and object-oriented databases within a fully programmable relational database framework. A new Reporting Service, support for InfoPath (formerly XDocs) data-entry forms, and Transact-SQL (T-SQL) enhancements round out Yukon&amp;#39;s new feature set. David Campbell, Microsoft&amp;#39;s product unit manager for the SQL Server engine, gave .NET developers a Yukon preview at VSLive! San Francisco this past February. In this article, I&amp;#39;ll analyze Campbell&amp;#39;s &amp;quot;Database of the Future: A Preview of Yukon and Other Technical Advancements&amp;quot; keynote address from an IT management and SQL Server DBA perspective. &lt;/p&gt; &lt;p&gt;For more see full &lt;a href=&quot;http://www.fawcette.com/dotnetmag/2003_06/magazine/columns/sqlconnection/default.asp&quot;&gt;article&lt;/a&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://www.forbes.com/2003/05/14/cz_tm_0514sf.html&quot;&gt;Forbes Magazine Article&lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-14#262</atom:id>
  <atom:published>2003-05-14T17:34:58Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">&lt;p&gt;&lt;span class=&quot;mainarttxt&quot;&gt;&lt;a href=&quot;http://www.forbes.com/2003/05/14/cz_tm_0514sf.html&quot;&gt;Forbes Magazine Article&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span class=&quot;mainarttxt&quot;&gt;Net margins and return on equity are popular metrics that investors turn to in an effort to identify the most profitable companies. One less-used measure is return on invested capital, or ROIC. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;mainarttxt&quot;&gt;Definitions of return on capital vary, but they all try to capture the same thing: how much a company has earned on all the capital it has invested, which includes both equity and debt. By including both, return on capital shows how a company uses all of its financial resources. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;mainarttxt&quot;&gt;For our purposes, we define ROIC as earnings before interest, depreciation and amortization divided by invested capital. Invested capital encompasses shareholders&amp;#39; equity, plus all long-term liabilities and short-term debt.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;mainarttxt&quot;&gt;WOW! We now use this metric to assess companies? Times have really changed!&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;mainarttxt&quot;&gt;This could be the basis of an &lt;a href=&quot;www.xbrl.org&quot;&gt;XBRL&lt;/a&gt; project, the goal being to produce an XQuery to filter for all companies with a positive ROIC. Watch this space, it would be a great &lt;a href=&quot;http://www.openlinksw.com/virtuoso&quot;&gt;Virtuoso demo&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;mainarttxt&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;1&quot; border=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class=&quot;mainarttblhed&quot;&gt;ROIC Industry Leaders&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;Company&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Price&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Latest 12- Month Sales ($mil)&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Return On Invested Capital&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;2003 Estimated P/E&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;2003 Estimated EPS Growth&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#eeeeee&quot;&gt; &lt;td&gt;&lt;b&gt;Applebee&amp;#39;s Int&amp;#39;l&lt;/b&gt; (nasdaq: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=APPB&quot;&gt;APPB&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=APPB&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=APPB&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;$28.73 &lt;/td&gt; &lt;td&gt;$862 &lt;/td&gt; &lt;td&gt;25.4% &lt;/td&gt; &lt;td&gt;17 &lt;/td&gt; &lt;td&gt;15% &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;AutoZone&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=AZO&quot;&gt;AZO&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=AZO&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=AZO&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;86.60 &lt;/td&gt; &lt;td&gt;5,407 &lt;/td&gt; &lt;td&gt;30.7 &lt;/td&gt; &lt;td&gt;17 &lt;/td&gt; &lt;td&gt;26 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#eeeeee&quot;&gt; &lt;td&gt;&lt;b&gt;CVS&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=CVS&quot;&gt;CVS&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=CVS&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=CVS&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;27.08 &lt;/td&gt; &lt;td&gt;24,524 &lt;/td&gt; &lt;td&gt;16.8 &lt;/td&gt; &lt;td&gt;14 &lt;/td&gt; &lt;td&gt;10 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;Dell Computer&lt;/b&gt; (nasdaq: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=DELL&quot;&gt;DELL&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=DELL&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=DELL&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;32.45 &lt;/td&gt; &lt;td&gt;35,404 &lt;/td&gt; &lt;td&gt;32.9 &lt;/td&gt; &lt;td&gt;33 &lt;/td&gt; &lt;td&gt;24 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#eeeeee&quot;&gt; &lt;td&gt;&lt;b&gt;HCA&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=HCA&quot;&gt;HCA&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=HCA&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=HCA&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;32.42 &lt;/td&gt; &lt;td&gt;20,129 &lt;/td&gt; &lt;td&gt;18.1 &lt;/td&gt; &lt;td&gt;11 &lt;/td&gt; &lt;td&gt;10 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;McClatchy&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=MNI&quot;&gt;MNI&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=MNI&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=MNI&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;59.95 &lt;/td&gt; &lt;td&gt;1,087 &lt;/td&gt; &lt;td&gt;13.4 &lt;/td&gt; &lt;td&gt;20 &lt;/td&gt; &lt;td&gt;7 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#eeeeee&quot;&gt; &lt;td&gt;&lt;b&gt;PepsiCo&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=PEP&quot;&gt;PEP&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=PEP&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=PEP&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;43.47 &lt;/td&gt; &lt;td&gt;25,541 &lt;/td&gt; &lt;td&gt;25.9 &lt;/td&gt; &lt;td&gt;20 &lt;/td&gt; &lt;td&gt;12 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;Select Medical&lt;/b&gt; &lt;b&gt;&lt;/b&gt;(nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=SEM&quot;&gt;SEM&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=SEM&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=SEM&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;19.68 &lt;/td&gt; &lt;td&gt;1,167 &lt;/td&gt; &lt;td&gt;18.8 &lt;/td&gt; &lt;td&gt;16 &lt;/td&gt; &lt;td&gt;33 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#eeeeee&quot;&gt; &lt;td&gt;&lt;b&gt;University of Phoenix Online&lt;/b&gt; (nasdaq: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=UOPX&quot;&gt;UOPX&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=UOPX&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=UOPX&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;45.16 &lt;/td&gt; &lt;td&gt;418 &lt;/td&gt; &lt;td&gt;39.1 &lt;/td&gt; &lt;td&gt;51 &lt;/td&gt; &lt;td&gt;66 &lt;/td&gt;&lt;/tr&gt; &lt;tr bgcolor=&quot;#cccccc&quot;&gt; &lt;td&gt;&lt;b&gt;Wal-Mart Stores&lt;/b&gt; (nyse: &lt;a class=&quot;maintkrlink&quot; href=&quot;http://www.forbes.com/finance/mktguideapps/compinfo/CompanyTearsheet.jhtml?tkr=WMT&quot;&gt;WMT&lt;/a&gt; - &lt;a href=&quot;http://www.forbes.com/markets/company_news.jhtml?ticker=WMT&quot;&gt;news &lt;/a&gt;- &lt;a href=&quot;http://www.forbes.com/peopletracker/results.jhtml?startRow=0&amp;name=&amp;ticker=WMT&quot;&gt;people &lt;/a&gt;) &lt;/td&gt; &lt;td&gt;55.49 &lt;/td&gt; &lt;td&gt;244,524 &lt;/td&gt; &lt;td&gt;15.6 &lt;/td&gt; &lt;td&gt;27 &lt;/td&gt; &lt;td&gt;13 &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;mainarttblsrc&quot;&gt;Prices as of May 13 (with XBRL it would as of last XQuery). Sources would read: Would be my Virtuoso DB instance. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;span class=&quot;mainarttxt&quot;&gt;&lt;/span&gt;&lt;/p&gt;</atom:content>
 </atom:entry>
 <atom:entry>
  <atom:title>&lt;a href=&quot;http://weblog.siliconvalley.com/column/dangillmor/archives/000802.shtml&quot;&gt;buying Blogger creator Pyra Labs&lt;/a&gt;</atom:title>
  <atom:id>http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?date=2003-05-14#8</atom:id>
  <atom:published>2003-05-14T14:34:37Z</atom:published>
  <atom:updated>2006-06-22T08:56:58-04:00</atom:updated>
  <atom:content type="html">With Google &lt;A href=&quot;http://weblog.siliconvalley.com/column/dangillmor/archives/000802.shtml&quot;&gt;buying Blogger creator Pyra Labs&lt;/A&gt; many are wondering when and if Microsoft will take a similar plunge into the Weblog-tools world. &lt;P&gt;It will come as a surprise to many that, with little fanfare, Microsoft officially entered the blogging-tool space. At the recent VSLive! developer conference, Microsoft unveiled five new sample applications built on top of its ASP.Net scripting environment. One of these five ? the ASP.Net &lt;A href=&quot;http://www.asp.net/Default.aspx?tabindex=9&amp;amp;tabid=47&quot;&gt;Community Starter Kit &lt;/A&gt;? is a blog builder.&lt;/P&gt; &lt;P&gt;&lt;A href=&quot;http://www.asp.net/Default.aspx?tabindex=9&amp;amp;tabid=47&quot;&gt;The Community Starter Kit&lt;/A&gt; consists of application code, templates, documentation and forum-based help. According to Microsoft&#39;s own definition of the kit: &quot;The Community Starter Kit enables you to quickly create a community Web site such as a user group site, a developer resource site, or a news site.&quot; &lt;/P&gt; &lt;P&gt;Some additonal commentary from &lt;A href=&quot;http://www.drupal.org/node/view/1203&quot;&gt;Drupal&lt;/A&gt;:&lt;BR&gt;&lt;EM&gt;Food for &lt;/EM&gt;&lt;A href=&quot;http://www.megnut.com/weblogs/002620.asp&quot;&gt;&lt;EM&gt;thought and discussion&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;. What would happen when every &lt;/EM&gt;&lt;A href=&quot;http://www.msn.com/&quot;&gt;&lt;EM&gt;MSN/Hotmail&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; user was automatically given the option to opt in for a free weblog (a la &lt;/EM&gt;&lt;A href=&quot;http://www.livejournal.com/&quot;&gt;&lt;EM&gt;LiveJournal&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;)?&lt;/EM&gt;&lt;/P&gt; &lt;P&gt;&lt;EM&gt;Here is an extreme scenario. Having single sign-on in place (.NET Passport), every MSN user could c