<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI3:::Adaptive Information &#187; Jewels &amp; Doubloons</title>
	<atom:link href="http://www.mkbergman.com/category/jewels-dubloons/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mkbergman.com</link>
	<description>Mike Bergman on the semantic Web and structured Web</description>
	<lastBuildDate>Mon, 26 Jul 2010 05:31:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Thomson Reuters Sues Zotero for $10 Million</title>
		<link>http://www.mkbergman.com/455/thomson-reuters-sues-zotero-for-10-million/</link>
		<comments>http://www.mkbergman.com/455/thomson-reuters-sues-zotero-for-10-million/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 16:50:52 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Information Automation]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[calais]]></category>
		<category><![CDATA[endnote]]></category>
		<category><![CDATA[george mason university]]></category>
		<category><![CDATA[thomas reuters]]></category>
		<category><![CDATA[zotero]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=455</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Thomson Reuters Sues Zotero for $10 Million&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Information Automation&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2008-09-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/455/thomson-reuters-sues-zotero-for-10-million/&amp;rft.language=English"></span>

Infringement of EndNote Formats Claimed
Zotero has long been one of my favorite Firefox plug-ins, being a  productive and trusted sidekick for collecting and reporting my voluminous citation and bibliographic data.  I  think perhaps my review of Zotero from January 2007 was one of my most  glowing write-ups.
If you go to the [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Thomson Reuters Sues Zotero for $10 Million&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Information Automation&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2008-09-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/455/thomson-reuters-sues-zotero-for-10-million/&amp;rft.language=English"></span>
<p><a href="http://www.zotero.org/"><img src="../wp-content/themes/ai3/images/2007Posts/070126a_Zotero.png" style="border: 0px solid ; width: 242px; height: 215px; float: left" alt="Zotero Bibliographic Plug-in" hspace="5" vspace="5" /></a></p>
<h2>Infringement of EndNote Formats Claimed</h2>
<p><a href="http://www.zotero.org/">Zotero</a> has long been one of my favorite Firefox plug-ins, being a  productive and trusted sidekick for collecting and reporting my voluminous citation and bibliographic data.  I  think perhaps my <a href="../?p=329">review of Zotero</a> from January 2007 was one of my most  glowing write-ups.</p>
<p>If you go to the Zotero home page, you will see at the lower left the steady increase of functionality that has  come out in this free and open source tool.  For example, Zotero now supports more than 1100 bibliographic sources,  can capture Web pages and many standard Web sources, and has MS Office and WordPress support.  Zotero has been  developed and is distributed by the <a href="http://chnm.gmu.edu/">Center for History and New Media</a> at <a href="http://www.gmu.edu/">George Mason University</a>.</p>
<h3>Thomson Reuters Sues George Mason University, Virginia</h3>
<p>According to the <a href="http://www.courthousenews.com/2008/09/17/Reuters_Says_George_Mason_University_Is_Handing_Out_Its_Proprietary_Software.htm">  Courthouse News Service</a> with a copy of <a href="http://www.courthousenews.com/2008/09/17/ReutersvVirginia.pdf">this complaint</a> filed September 5, <a href="http://www.thomsonreuters.com/">Thomson  Reuters</a> is suing George Mason University and, as a state institution, the Commonwealth of Virginia, for $10 million  in damages and an injunction on further distribution of a beta version of Zotero.  Thomson is seeking a jury trial.</p>
<p>Thomson claims that a July 8 beta release of Zotero (version 1.5) included a new feature to read and  convert Thomson&#8217;s 3,500 plus proprietary .ens style files within the EndNote software into free, open source Zotero  .csl files.  Thomson claims this is in direct violation with GMU&#8217;s current license for EndNote.  The Zotero beta release  introduces a server-side synchronization function; the standard Zotero release without this feature and the EndNote  support is version 1.07.</p>
<p><a href="http://www.endnote.com/">EndNote</a> is a proprietary and popular citation software used by many academics and researchers.  EndNote has very  similar functionality to Zotero.  It allows users to search online bibliographic databases, organize them, and  store and re-format citations in various publication styles.  Single user licenses are $250 with volume and  academic discounts available.  Thomson claims &#8220;millions&#8221; of ultimate users.</p>
<p>Thomson Reuters is also the firm behind the <a href="http://www.opencalais.com/">Open Calais</a> named entity  extraction service noted much in the semantic Web community (and which this week announced a <a href="http://www.sitepoint.com/blogs/2008/09/24/calais-semantic-web-service-adds-professional-version/">commercial  version</a>).</p>
<p>File format ingest and conversions have long been a mainstay of interoperable software systems.  This lawsuit will bear close monitoring.</p>
<p>Hat tip to <a href="http://rafaelsidi.blogspot.com/">Rafael Sidi</a> for this link.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/455/thomson-reuters-sues-zotero-for-10-million/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cytoscape: Hands-down Winner for Large-scale Graph Visualization</title>
		<link>http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/</link>
		<comments>http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 23:45:44 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Innovation]]></category>
		<category><![CDATA[Bioinformatics]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Semantic Web Tools]]></category>
		<category><![CDATA[Structured Web]]></category>
		<category><![CDATA[UMBEL]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=415</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Cytoscape: Hands-down Winner for Large-scale Graph Visualization&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Bioinformatics&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2008-01-28&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/&amp;rft.language=English"></span>

Where Has the Biology Community Been Hiding this Gem?
I still never cease to be amazed at how wonderful and powerful tools are so often and easily overlooked. The most recent example is Cytoscape, a winner in our recent review of more than 25 tools for large-scale RDF graph visualization.
We began this review because the UMBEL [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Cytoscape: Hands-down Winner for Large-scale Graph Visualization&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Bioinformatics&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2008-01-28&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/&amp;rft.language=English"></span>
<p><a href="http://cytoscape.org/"><img style="border: 0px solid; margin: 0pt 10px 10px 0pt; width: 140px; height: 140px; float: left;" title="Cytoscape" src="http://cytoscape.org/images/logo.png" alt="Big Graph" /></a><a href="http://cytoscape.org/"><img style="border: 0px solid; width: 300px; height: 309px; float: right;" src="http://cytoscape.org/screenshots/2_5_ss1_thumb.png" alt="Cytoscape Thumbnail" /></a></p>
<h2>Where Has the Biology Community Been Hiding this Gem?</h2>
<p><img title="Jewels &amp; Doubloons" src="../wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="bottom" />I still never cease to be amazed at how wonderful and powerful tools are so often and easily overlooked. The most recent example is <a href="http://cytoscape.org/">Cytoscape</a>, a winner in our recent <a href="../?p=414">review of more than 25 tools</a> for large-scale RDF graph visualization.</p>
<p>We began this review because the <a href="http://www.umbel.org/">UMBEL</a> subject concept &#8220;backbone&#8221; ontology will involve literally thousands of concepts. Graph visualization software suitable to very large graphs would aid UMBEL&#8217;s construction and refinement.</p>
<p>Cytoscape describes itself as a bioinformatics software platform for visualizing molecular interaction networks and integrating these interactions with gene expression profiles and other state data.  Cytoscape is partially based on <a class="external text" title="http://csbi.sourceforge.net/" rel="nofollow" href="http://csbi.sourceforge.net/">GINY</a> and <a class="external text" title="http://www.cs.umd.edu/hcil/piccolo/" rel="nofollow" href="http://www.cs.umd.edu/hcil/piccolo/">Piccolo</a>, among other open-source toolkits.  What is more important to our immediate purposes, however, is that its design also lends itself well to general network and graph manipulation.</p>
<p>Cytoscape was first brought to our attention by François<span> Belleau</span> of <a title="http://www.bio2rdf.org" rel="nofollow" href="http://www.bio2rdf.org/">Bio2RDF.org</a>. Thanks François, and also for the strong recommendation and tips. Special thanks are also due to <a href="http://fgiasson.com/">Frédérick Giasson</a> of <a href="http://www.zitgist.com/">Zitgist</a> for his early testing and case examples. Thanks, Fred!</p>
<h3>Requirements</h3>
<p>We had a number of requirements and items on our wish list prior to beginning our review.  We certainly did not expect most or all of these items to be met:</p>
<ul>
<li>Large scale &#8211; the UMBEL graph will likely have about 20,000 nodes or so; we would also like to be able to scale to instance graphs of hundreds of thousands or millions of nodes.  For example, here is one representation of the full UMBEL graph (with nodes in pink-orange and different colored lines representing different relationships or predicates):</li>
</ul>
<div><img class="center_ok" style="width: 600px; height: 436px;" src="../wp-content/themes/ai3/images/2008Posts/080128_full_umbel.jpg" alt="Full UMBEL Graph" width="600" height="436" /></div>
<ul>
<li>Graph filtering &#8211; the ability to filter out the graph display by attribute, topology, selected nodes or other criteria.  Again, here is an example using the &#8216;Organic&#8217; layout produced by selecting on the Music node in UMBEL (click for full size):</li>
</ul>
<div><a href="../wp-content/themes/ai3/images/2008Posts/080128_music_organic.jpg"><img class="center_ok" style="border: 0px solid; width: 600px; height: 537px;" src="../wp-content/themes/ai3/images/2008Posts/080128_music_organic.jpg" alt="Music Sub-graph, 'Organic' Layout" width="748" height="670" /></a></div>
<ul>
<li>Graph analysis &#8211; the ability to analyze edge (or relation) lengths, cyclic aspects, missing nodes, imbalances across the full graph, etc.</li>
<li>Extensibility &#8211; the ability to add new modules or plugins to the system</li>
<li>Support for RDF &#8211; the ease for direct incorporation of RDF graphs</li>
<li>Graph editing &#8211; the interactive ability to add, edit or modify nodes and relations, to select colors and display options, to move nodes to different locations, cut-and-past operations and other standard edits, and</li>
<li>Graph visualization &#8211; the ease of creating sub-graphs and to plot the graphs with a variety of layout options.</li>
</ul>
<p>Cytoscape met or exceeded our wish list in all areas save one:  it does not support direct ingest of RDF (other than some pre-set <a href="http://www.biopax.org/">BioPAX</a> formats).  However, that proved to be no obstacle because of the clean input format support of the tool.  Simple parsing of triples into a CSV file is sufficient for input.  Moreover, as described below, there are other cool attribute management functions that this clean file format supports as well.</p>
<h3>Features and Attractions</h3>
<p>The following screen shot shows the major Cytoscape screen.  We will briefly walk through some of its key views (click for full size):</p>
<div style="margin: 10px 0pt"><a href="../wp-content/themes/ai3/images/2008Posts/080128_umbel_session.jpg"><img class="center_ok" style="border: 0px solid; width: 600px; height: 480px;" src="../wp-content/themes/ai3/images/2008Posts/080128_umbel_session.jpg" alt="Cytoscape-UMBEL Main Screen" width="1280" height="1024" /></a></div>
<p>This Java tool has a fairly standard Eclipse-like interface and design.  The main display window (<span style="font-weight: bold">A</span>) shows the active portion of the current graph view.  (Note that in this instance we are looking at a &#8216;Spring&#8217; layout for the same Music sub-graph presented above.)  Selections can easily be made in this main display (the red box) or by directly clicking on a node.  The display itself represents a zoom (<span style="font-weight: bold">B</span>) of the main UMBEL graph, which can also be easily panned (the blue box on <span style="font-weight: bold">B</span>) or itself scaled (<span style="font-weight: bold">C</span>).  Those items that are selected in the main display window also appear as editable nodes or edges and attributes in the data editing view (<span style="font-weight: bold">D</span>).</p>
<p>The appearance of the graph is fully editable via the VizMapper (<span style="font-weight: bold">E</span>).  An interesting aspect here is that every relation type in the graph (its RDF properties, or predicates) can be visually displayed in a different manner.  The graphs or sub-graphs themselves can be selected, but also most importantly, the display can respond to a very robust and flexible filtering framework (<span style="font-weight: bold">F</span>).  Filters can be easily imported and can apply to nodes, edges (relations), the full graph or other aspects (depending on plugin).  A really neat feature is the ability to search the graph in various flexible ways (<span style="font-weight: bold">G</span>), which alters the display view.  Any field or attribute can be indexed for faster performance.</p>
<p>In addition to these points, Cytoscape supports the following features:</p>
<ul>
<li> Load and save previously-constructed interaction networks in GML format (Graph Markup Language)</li>
<li> Load and save networks and node/edge attributes in an XML document format called XGMML (eXtensible Graph Markup and Modeling Language)</li>
<li> Load and save arbitrary attributes on nodes and edges.  For example, input a set of custom annotation terms or confidence values</li>
<li> Load and save state of the Cytoscape session in a Cytoscape Session (.cys) file. Cytoscape Session file includes networks, attributes (for node/edge/network), desktop states (selected/hidden nodes and edges, window sizes), properties, and visual styles (which are namable)</li>
<li> Customize network data display using powerful visual styles</li>
<li> Map node color, label, border thickness, or border color, etc. according to user-configurable colors and visualization schemes</li>
<li> Layout networks in two dimensions.  A variety of layout algorithms are available, including cyclic and spring-embedded layouts</li>
<li> Zoom in/out and pan for browsing the network</li>
<li> Use the network manager to easily organize multiple networks, with this structure savable in a session file</li>
<li> Use the bird&#8217;s eye view to easily navigate large networks</li>
<li> Easily navigate large networks (100,000+ nodes and edges) by efficient rendering engine</li>
<li> Multiple plugins are available for areas such as subset selections, analysis, path analysis, etc. (see below).</li>
</ul>
<h3>Other Cytoscape Resources</h3>
<p>The Cytoscape project also offers:</p>
<ul>
<li> An excellent <a title="http://cytoscape.org/manual/Cytoscape2_5Manual.pdf" rel="nofollow" href="http://cytoscape.org/manual/Cytoscape2_5Manual.pdf">PDF manual</a></li>
<li> <a title="http://cytoscape.org/cgi-bin/moin.cgi/Presentations" rel="nofollow" href="http://cytoscape.org/cgi-bin/moin.cgi/Presentations">Online tutorials</a>, and</li>
<li> A Google discussion group at <a title="http://groups.google.com/group/cytoscape-discuss/topics" rel="nofollow" href="http://groups.google.com/group/cytoscape-discuss/topics">http://groups.google.com/group/cytoscape-discuss/topics</a>.</li>
</ul>
<p>Unfortunately, other than these official resources, there appears to be a dearth of general community discussion and tips on the Web.  Here&#8217;s hoping that situation soon changes!</p>
<h3>Plugins</h3>
<p>There is a broad suite of plugins available for Cytoscape, and directions to developers for developing new ones.</p>
<p>The <a title="http://www.cytoscape.org/plugins2.php" rel="nofollow" href="http://www.cytoscape.org/plugins2.php">master page</a> also includes third-party plugins. The candidates useful to UMBEL and its graphing needs &#8212; also applicable to standard semantic Web applications &#8212; appear to be:</p>
<ul>
<li> AgilentLiteratureSearch &#8211; creates a CyNetwork based on searching the scientific literature.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=18" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=18">here</a></li>
<li> <a title="http://www.genmapp.org/BubbleRouter/manual.htm" rel="nofollow" href="http://www.genmapp.org/BubbleRouter/manual.htm">BubbleRouter</a> &#8211; this plugin allows users to layout a network incrementally and in a semi-automated way.  Bubble Router arranges specific nodes in user-drawn regions based on a selected attribute value. Bubble Router works with any node attribute file.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=33" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=33">here</a></li>
<li> <a class="external text" title="http://www.oracle.com/technology/software/tech/semantic_technologies/index.html" rel="nofollow" href="http://www.oracle.com/technology/software/tech/semantic_technologies/index.html">Cytoscape Plugin (Oracle)</a> &#8211; enables a read/write interface between the Oracle database and the Cytoscape program.  In addition, it also enables some network analysis functions from cytoscape. The README.txt file within the zipfile has instructions for installing and using this plugin.  Download from <a class="external text" title="http://www.oracle.com/technology/software/htdocs/devlic.html?url=/technology/software/tech/semantic_technologies/htdocs/xplatformsoft.html" rel="nofollow" href="http://www.oracle.com/technology/software/htdocs/devlic.html?url=/technology/software/tech/semantic_technologies/htdocs/xplatformsoft.html">here</a></li>
<li> <a class="external text" title="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/Dot-Layout1.1.jar" rel="nofollow" href="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/Dot-Layout1.1.jar">DOT</a> &#8211; interfaces with the GraphViz package for graph layout. The plugin now supports both simple and rank-cluster layouts. This software uses the dot layout routine from the graphviz opensource software developed at AT&amp;T labs. Download from <a class="external text" title="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/Dot-Layout1.1.jar" rel="nofollow" href="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/Dot-Layout1.1.jar">here</a></li>
<li> <a class="external text" title="http://conklinwolf.ucsf.edu/genmappwiki/Google_Summer_of_Code_2007/Maital" rel="nofollow" href="http://conklinwolf.ucsf.edu/genmappwiki/Google_Summer_of_Code_2007/Maital">EnhancedSearch</a> &#8211; performs search on multiple attribute fields. Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=44" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=44">here</a></li>
<li> HyperEdgeEditor &#8211; add, remove, and modify HyperEdges in a Cytoscape Network. Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=57" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=57">here</a></li>
<li> MCODE &#8211; MCODE finds clusters (highly interconnected regions) in a network. Clusters mean different things in different types of networks. For instance, clusters in a protein-protein interaction network are often protein complexes and parts of pathways, while clusters in a protein similarity network represent protein families.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=47" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=47">here</a></li>
<li> <a class="external text" title="http://delsol.kaist.ac.kr/~monet/home/index.html" rel="nofollow" href="http://delsol.kaist.ac.kr/%7Emonet/home/index.html">MONET</a> &#8211; is a genetic interaction network inference algorithm based on Bayesian networks, which enables reliable network inference with large-scale data(ex. microarray) and genome-scale network inference from expression data.  Network inference can be finished in reasonable time with parallel processing technique with supercomputing center resources.  This option may also be applicable to generic networks.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=53" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=53">here</a></li>
<li> <a class="external text" title="http://www.rbvi.ucsf.edu/Research/cytoscape/" rel="nofollow" href="http://www.rbvi.ucsf.edu/Research/cytoscape/">NamedSelection</a> &#8211; this plugin provides the ability to &#8220;remember&#8221; a group of selected nodes.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=15" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=15">here</a></li>
<li> <a class="external text" title="http://med.bioinf.mpi-inf.mpg.de/netanalyzer/index.html" rel="nofollow" href="http://med.bioinf.mpi-inf.mpg.de/netanalyzer/index.html">NetworkAnalyzer</a> &#8211; computes network topology parameters such as diameter, average number of neighbors, and number of connected pairs of nodes.  It also displays diagrams for the distributions of node degrees, average clustering coefficients, topological coefficients, and shortest path lengths.  Download: <a class="external free" title="http://med.bioinf.mpi-inf.mpg.de/netanalyzer/index.html" rel="nofollow" href="http://med.bioinf.mpi-inf.mpg.de/netanalyzer/index.html">http://med.bioinf.mpi-inf.mpg.de/netanalyzer/index.html</a></li>
<li> <a class="external text" title="http://csresources.sourceforge.net/SelConNet/" rel="nofollow" href="http://csresources.sourceforge.net/SelConNet/">SelConNet</a> &#8211; is used to select the connected part of a network.  Actually, running this plugin is like calling Select <span style="font-weight: bold">â†’</span> Nodes <span style="font-weight: bold">â†’</span> First neighbors of selected nodes many times until all the connected part of the network containing the selected nodes is selected.  Download from <a class="external text" title="http://sourceforge.net/project/showfiles.php?group_id=142107" rel="nofollow" href="http://sourceforge.net/project/showfiles.php?group_id=142107">here</a></li>
<li> ShortestPath &#8211; is a plugin for Cytoscape 2.1 and later to show the shortest path between 2 selected nodes in the current network. It supports both directed and undirected networks and it gives the user the possibility to choose which node (of the selected ones) should be used as source and target (useful for directed networks).  The plugin API makes possible to use its functionality from another plugin.  Download from <a class="external text" title="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=23" rel="nofollow" href="http://chianti.ucsd.edu/cyto_web/plugins/pluginjardownload.php?id=23">here</a></li>
<li> <a class="external text" title="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/SubgraphCreator1.5.jar" rel="nofollow" href="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/SubgraphCreator1.5.jar">sub-graph</a> &#8211; is a flexible sub-graph creation, node identification, cycle finder, and path finder in directed and undirected graphs.  It also has a function to select the p-neighborhood of a selected node or group of nodes which can be selected by pathway name, node type, or by a list in a file. This generates a set of plug-ins called: path and cycle finding, p-neighborhoods and sub-graph selection.  Download from <a title="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/SubgraphCreator1.5.jar" rel="nofollow" href="http://metnet.vrac.iastate.edu/fcmodeler/cytoscape/plugins/SubgraphCreator1.5.jar">here.</a></li>
</ul>
<p>Importantly, please note there is a wealth of biology- and molecular-specific plugins also available that are not included in the generic listing above.</p>
<h3>Initial Use Tips</h3>
<p>Our initial use of the tool suggests some use tips:</p>
<ul>
<li> Try Cytoscape with the yFiles layouts; quicker to perform, and interesting results</li>
<li> Try the Organic yFile layout as one of the first</li>
<li> Try the search feature</li>
<li> Check the manual for examples of layouts</li>
<li>Holding the right mouse button down when in the main screen; moving the cursor from the center outward causes zoom in, from the exterior inward, to zoom out</li>
<li> Moving and panning nodes can be done in real time without issues</li>
<li> The &#8220;edge attribute browser&#8221; is really nice to find what node links to what other node by clicking on a link (so you don&#8217;t have to pan and check, etc)</li>
<li> Export to PDF often works best as an output display (though SVG is also supported)</li>
<li>If you select an edge and then Ctrl-left-click on the edge, an edge &#8220;handle&#8221; will appear. This handle can be used to change the shape of the line</li>
<li> Use the CSV file to make quick modifications, and then check it with the Organic layout</li>
<li> A convenient way to check the propagation of a network is to select a node, then click on Ctrl+6 again and again (Ctrl+6 selects neighborhood nodes of a selected node, so it &#8220;shows&#8221; you the network created by a node and its relationships)</li>
<li> If you want to analyze a sub-graph, search for a node, then press a couple of times on Ctrl+6, then create another graph from that selected node (File <span style="font-weight: bold">â†’</span> New <span style="font-weight: bold">â†’</span> Network <span style="font-weight: bold">â†’</span> from selected node)</li>
<li>If you begin to see slow performance, then save and re-load your session; there appears to be some memory leaks in the program</li>
<li>Also, for very large graphs, avoid repeated use of certain layouts (Hierarchy, Orthogonal, etc.) that take very long times to re-draw.</li>
</ul>
<h3>Concluding Observations and Comments</h3>
<p>Cytoscape was <a href="http://web.archive.org/web/20020528054312/http://www.cytoscape.org/">first released in 2002</a> and has undergone steady development since.  Most recently, the 2.x and especially 2.3 versions forward have seen a flurry of general developments that have greatly broadened the tool&#8217;s appeal and capabilities.  It was perhaps only these more recent developments that have positioned Cytoscape for broader use.</p>
<p>I suspect another reason that this tool has been overlooked by the general semWeb community is the fact that its sponsors have positioned it mostly in the biological space.  Their short descriptor for the project, for example, is:  <span style="font-style: italic">Cytoscape is an open source bioinformatics software platform for visualizing molecular interaction networks and integrating these interactions with gene expression profiles and other state data. </span>That statement hardly makes it sound like a general tool!</p>
<p>Another reason for the lack of attention, of course, is the common tendency for different disciplines not to share enough information.  Indeed, one reason for my starting the <a style="font-weight: bold" href="../?page_id=325">Sweet Tools</a> listing was hopefully as a means of overcoming artificial boundaries and assembling relevant semantic Web tools in one central place.</p>
<p>Yet despite the product&#8217;s name and its positioning by sponsors, Cytoscape is indeed a general graph visualization tool, and arguably the most powerful one reviewed from our earlier list.  Cytoscape can easily accommodate any generalized graph structure, is scalable, provides all conceivable visualization and modeling options, and has a clean extension and plugin framework for adding specialized functionality.</p>
<p>With just minor tweaks or new plugins, Cytoscape could directly read RDF and its various serializations, could support processing any arbitrary OWL or RDF-S ontology, and could support other specific semWeb-related tasks.  As well, a tool like CPath (<a class="external free" title="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1660554" rel="nofollow" href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1660554">http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1660554</a>), which enables querying of biological databases and then storing them in Cytoscape format, offers some tantalizing prospects for a general model for other Web query options.</p>
<p>For these reasons, I gladly announce Cytoscape as the next deserving winner of the (highly coveted, but cheesy! <img class="wp-smiley" src="../wp-includes/images/smilies/icon_smile.gif" alt=":)" /> ) <span style="font-weight: bold"><span style="color: #820000;">AI3</span> <em>Jewels &amp; Doubloons</em></span> award.</p>
<p>Cytoscape&#8217;s sponsors &#8212; the U.S. <a href="http://www.nigms.nih.gov/">National Institute of General Medical Sciences (NIGMS)</a> of the <a href="http://www.nih.gov/">National Institutes of Health (NIH)</a>,  the U.S. <a href="http://www.nsf.gov/">National Science Foundation (NSF)</a> and <a href="http://www.unilever.com/">Unilever PLC</a> &#8212;  and its developers &#8212; the <a href="http://www.systemsbiology.org/">Institute for Systems Biology</a>, the <a href="http://www.ucsd.edu/">University of California &#8211; San Diego</a>, the <a href="http://cbio.mskcc.org/"> Memorial Sloan-Kettering Cancer Center</a>, <a href="http://www.pasteur.fr/">L&#8217;Institut Pasteur</a> and <a href="http://www.agilent.com/">Agilent Technologies </a>&#8211; are to be heartily thanked for this excellent tool!</p>
<table border="0" cellpadding="5" align="center" bgcolor="#f2f5f8">
<tbody>
<tr>
<td><a href="..//?p=338"><img title="Jewels &amp; Doubloons" src="../wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /></a></td>
<td><a class="liinternal" href="..//?p=338"><em><strong>An <span style="color: #820000;">AI3 </span>Jewels &amp; Doubloons Winner</strong></em></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenLink Plugs the Gaps in the Structured Web</title>
		<link>http://www.mkbergman.com/355/openlink-plugs-the-gaps-in-the-structured-web/</link>
		<comments>http://www.mkbergman.com/355/openlink-plugs-the-gaps-in-the-structured-web/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 19:33:50 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Information]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Semantic Web Tools]]></category>
		<category><![CDATA[Structured Web]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=355</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=OpenLink Plugs the Gaps in the <em>Structured Web</em>&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-04-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/355/openlink-plugs-the-gaps-in-the-structured-web/&amp;rft.language=English"></span>
Virtuoso and Related Tools String Together a Surprisingly Complete Score



 NOTE: This is a lengthy post.



One of my objectives in starting the comprehensive Sweet Tools listing of 500+ semantic Web and -related tools was to surface hidden gems deserving of more attention.  Partially to that end I created this AI3 blog&#8217;s Jewels and Doubloons [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=OpenLink Plugs the Gaps in the <em>Structured Web</em>&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-04-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/355/openlink-plugs-the-gaps-in-the-structured-web/&amp;rft.language=English"></span>
<p><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416a_StringPearls.jpg" alt="String of Pearls" title="String of Pearls" style="width: 222px; height: 176px; float: left; margin-right: 10px" /><span style="font-weight: bold; color: #820000">Virtuoso and Related Tools String Together a Surprisingly Complete Score</span></p>
<div style="margin: 0px 0px 0px 80px; width: 300px">
<table style="text-align: left; margin-left: auto; margin-right: 0px; height: 53px" border="1" cellpadding="8" cellspacing="0" width="280">
<tr>
<td style="background-color: #ebebeb"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/warning.gif" align="middle" /> <span style="font-weight: bold">NOTE:</span> This is a lengthy post.</td>
</tr>
</table>
</div>
<p><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" title="Jewels &amp; Doubloons" alt="Jewels &amp; Doubloons" align="bottom" />One of my objectives in starting the comprehensive <a href="http://www.mkbergman.com//?page_id=325" style="font-weight: bold">Sweet Tools</a> listing of 500+ semantic Web and -related tools was to surface hidden gems deserving of more attention.  Partially to that end I created this <span style="font-weight: bold; color: #820000">AI3</span> blog&#8217;s <a href="http://www.mkbergman.com//?p=338" style="font-weight: bold; font-style: italic">Jewels and Doubloons</a> award to recognize such treasures among the many offerings.  The idea was and is that there is much of value out there; all we need to do is spend the time to find it.</p>
<p>I am now pleased to help better expose one of those treasures &#8212; in fact, a whole string of pearls &#8212; from <a href="http://www.openlinksw.com/">OpenLink Software</a>.</p>
<div style="margin: 0px 0px 0px 10px; font-size: 120%; float: right; width: 35%">
<table style="text-align: center; margin-left: auto; margin-right: 0px" border="1" cellpadding="8" cellspacing="0" width="100%">
<tr>
<td style="background-color: #ffffcc">The semantic Web through its initial <span style="font-style: italic">structured Web</span> expression is not about to come &#8212; it has arrived.  Mark your calendar.  And OpenLink&#8217;s offerings are a key enabler of this milestone.</td>
</tr>
</table>
</div>
<p>Though having been in existence since 1992 as a provider of <a href="http://en.wikipedia.org/wiki/Odbc">ODBC</a> middleware and then virtual databases, since at least 2003 OpenLink has been active in the semantic Web space [<a href="http://www.mkbergman.com/index.php?p=355#ref1">1</a>].  The company was an early supporter of open source beginning with <a href="http://www.iodbc.org/">iODBC</a> in 1999.  But OpenLink&#8217;s decision to release its main product lines under dual-license open source in mid-2006 really marked a significant milestone for semantic Web toolsets.  Though generally known mostly to the technology cognoscenti and innovators, these events now poise OpenLink for much higher visibility and prominence in the <span style="font-style: italic">structured Web</span> explosion now unfolding.</p>
<p>OpenLink&#8217;s current tools and technologies span the entire spectrum from <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework" title="Resource Description Framework">RDF</a> browsing and structure extraction to create RDF-enabled Web content, to format conversions and basic middleware operations, to ultimate data storage, query and management.  (It is also important to emphasize that the company&#8217;s offerings support virtual databases, procedure hosting, and general SQL and XML data systems that provide value independent of RDF or the semantic Web.)  There are numerous alternatives in other semantic Web tools at specific spots across this spectrum, most of which are also open source [<a href="http://www.mkbergman.com/index.php?p=355#ref2">2</a>].</p>
<p>What sets OpenLink apart is the breadth and consistency of vision &#8212; correct in my view &#8212; that governs the company&#8217;s commitment and total offerings.  It is this breadth of technology and responsiveness to emerging needs in the <span style="font-style: italic">structured Web</span> that signals to me that OpenLink will be a deserving player in this space for many years to come [<a href="http://www.mkbergman.com/index.php?p=355#ref3">3</a>].</p>
<p style="font-weight: bold">An Overview of OpenLink Products <span style="font-weight: normal">[<a href="http://www.mkbergman.com/index.php?p=355#ref4">4</a>]</span></p>
<p><a href="http://www.openlinksw.com/"><img src="http://www.openlinksw.com/index_files/openlink150.gif" alt="OpenLink Software" style="border: 0px solid ; margin-left: 10px; width: 150px; height: 50px; float: right" /></a>OpenLink provides a combination of open source and commercial software and associated services.  While most attention in the remainder of this piece is given to its open source offerings, the company&#8217;s longevity obviously stems from its commercial success.  And that success first built from its:</p>
<ul>
<li><a href="http://uda.openlinksw.com/"><span style="font-weight: bold">Universal Data Access Drivers</span></a> &#8212; high-performance data access drivers for ODBC, JDBC, ADO.NET, and OLE DB that provide transparent access to enterprise databases. These UDA products also were the basis for OpenLink&#8217;s first foray into open source with the iODBC initiative (see below).  This history of understanding relational database management systems (RDBMSs) and the needs of data transfer and interoperability are key underpinnings to the company&#8217;s present strengths.</li>
</ul>
<p>This basis in data federation and interoperability then led to a constant evolution to more complex data integration and application needs, resulting in major expansion of the company&#8217;s product lines:</p>
<ul>
<li><a href="http://virtuoso.openlinksw.com/"><span style="font-weight: bold">OpenLink Virtuoso</span></a> &#8212;  is a cross-platform &#8216;Universal Server&#8217; for SQL, XML, and RDF data, including data management, that also includes a powerful virtual database engine, full-text indexing, native hosting of existing applications, Web Services (WS*) deployment platform, Web application server, and bridges to numerous existing programming languages.  Now in version 5.0, Virtuoso is also offered in an open source version; it is described in focus below.  The basic architecture of Virtuoso and its robust capabilities, as depicted by OpenLink, is:</li>
</ul>
<div align="center"><a href="http://virtuoso.openlinksw.com/images/virtuoso3arch_lg.gif" onclick="ps_imagemanager_popup(this.href,'http://virtuoso.openlinksw.com/images/virtuoso3arch_lg.gif','1250','1250');return false" onfocus="this.blur()"><img src="http://virtuoso.openlinksw.com/images/virtuoso3arch_lg.gif" alt="Virtuoso Architecture" title="Virtuoso Architecture" style="border: 0px solid ; width: 600px" align="middle" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<ul>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex"><span style="font-weight: bold"> OpenLink Data Spaces</span></a> &#8212; also known as ODS, these are a series of distributed collaboration components built on top of Virtuoso that provide semantic Web and Web 2.0 support.  Integrated components are provided for Web blogs, wikis, bookmark managers, discussion forums, photo galleries, feed aggregators and general Web site publishing using a clean scripting language. Support for multiple data formats, query languages, feed formats, and data services such as <a href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a>, <a href="http://code.google.com/apis/gdata/index.html">GData</a>, <a href="http://en.wikipedia.org/wiki/GRDDL">GRDDL</a>, <a href="http://en.wikipedia.org/wiki/Microformats">microformats</a>, <a href="http://en.wikipedia.org/wiki/Opensearch">OpenSearch</a>, <a href="http://www.sqlx.org/">SQLX</a> and <a href="http://en.wikipedia.org/wiki/Sql">SQL</a> is included, among others (see below).  This remarkable (but little known!) platform is extensible and provided both commercially and as open source; it is described in focus below.</li>
</ul>
<div style="margin: 10px 0px 10px 10px; font-size: 10pt; float: right; width: 60%">
<table style="text-align: left; margin-left: auto; margin-right: 0px" border="1" cellpadding="6" cellspacing="0" width="100%">
<tr align="center">
<td style="background-color: #ffcc99"><span style="font-weight: bold">OpenLink Software Demos</span></td>
</tr>
<tr>
<td style="background-color: #ffffcc">OpenLink has a number of useful (and impressive) online demos of capabilities.  Here are a few of them, with instructions (if appropriate) on how best to run them:</p>
<ul>
<li style="background-color: #ffffcc"><span style="font-weight: bold">OAT components </span>&#8211; this series of demos, at <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?about">http://demo.openlinksw.com/DAV/JS/demo/index.html?about</a>, provide live use and JavaScript for all components in the toolkit.  Simply choose one of the options in the menu to the left and then run the widget or app</li>
<li style="background-color: #ffffcc"><span style="font-weight: bold">Extract RDF from a standard Web page</span> &#8212; in this demo, simply pasting a URL will allow you to extract RDF information from any arbitrary Web page.  Go to <a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html </a> (<span style="font-style: italic">demo</span> / <span style="font-style: italic">demo</span> for username and password) and enter a URL of your choice (include <a href="/">http://</a>!) in the Data Source URI box and then hit query.  Alternatively, you can enter <a href="http://www.openlinksw.com/blog/%7Ekidehen/">http://www.openlinksw.com/blog/~kidehen/</a> which will show all use options</li>
<li style="background-color: #ffffcc"><span style="font-weight: bold">Browse DBPedia RDF</span> &#8212; this demo uses the OpenLink iSPARQL query builder and viewer, found at <a href="http://demo3.openlinksw.com:8890/isparql/">http://demo3.openlinksw.com:8890/isparql/</a>  (<span style="font-style: italic">demo</span> / <span style="font-style: italic">demo</span> for username and password).  At entry, then pick QBE &gt; Open from the menu, then choose one of the listed queries.  At this point, begin to explore the results.  Note that clicking on a link in the lower pane will pull up the &#8216;explorer&#8217;, which allows you to navigate graph links between resources</li>
<li style="background-color: #ffffcc"><span style="font-weight: bold">Construct a SPARQL query</span> &#8212; in the same example above, use the graph or generate options to either create a new query with the SPARQL language directly or via modifying the node graph in the middle pane (using its corresponding symbol buttons).<span style="font-weight: bold"></span></li>
</ul>
</td>
</tr>
</table>
</div>
<ul>
<li><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html"><span style="font-weight: bold">OAT (OpenLink Ajax Toolkit)</span></a> &#8212; is a JavaScript-based toolkit for browser-independent <a href="http://en.wikipedia.org/wiki/Rich_internet_application">rich-Internet application</a> development. It includes a complete collection of <a href="http://en.wikipedia.org/wiki/User_interface">UI</a> widgets and controls, a platform-independent data access layer called <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">Ajax</a> Database Connectivity, and full-blown applications including unique database and table creation utilities, and RDF browser and SPARQL query builder, among others.  It is offered as open source and is described in focus below.</li>
<li><a href="http://iodbc.org/"><span style="font-weight: bold">iODBC</span></a> &#8212; is another open source initiative that provides a comprehensive data access <a href="http://en.wikipedia.org/wiki/Sdk">SDK</a> for ODBC.  iODBC is both a C-based API and cross-language hooks to C++, Java, Perl, Python, TCL and Ruby.  iODBC has been ported to most modern platforms.</li>
<li><a href="http://rubyforge.org/projects/odbc-rails/" style="font-weight: bold">odbc-rails</a> &#8212; is an open-source data adapter for <a href="http://www.rubyonrails.org/">Ruby on Rail</a>&#8217;s ActiveRecord that provides ODBC access to databases such as Oracle, Informix, Ingres, Virtuoso, SQL Server, Sybase, MySQL, PostgreSQL, DB2, Firebird, Progress, and others.</li>
<li>And, various other <span style="font-weight: bold">benchmarking and diagnostic utilities</span>.</li>
</ul>
<p style="font-weight: bold">Relation to the Overall Semantic Web</p>
<p>One remarkable aspect of the OpenLink portfolio is its support for nearly the full spectrum of semantic Web requirements.  Without the need to consider tools from any other company or entity, it is now possible to develop, test and deploy real semantic Web instantiations today, and with no direct software cost.  Sure, some of these pieces are rougher than others, and some are likely not the &#8220;best&#8221; as narrowly defined, and there remain some notable and meaningful gaps.  (After all, the semantic Web and its supporting tools will be a challenge for years to come.)  But it is telling about the actual status of the semantic Web and its readiness for serious attention that most of the tools to construct a meaningful semantic Web deployment are available today &#8212; <span style="font-weight: bold; font-style: italic">from a single supplier</span> [<a href="http://www.mkbergman.com/index.php?p=355#ref5">5</a>].</p>
<p>We can see the role and placement of OpenLink tools within the broader context of the overall semantic Web.  The following diagram represents the <a href="http://www.w3c.org/">W3C&#8217;s</a> overall development roadmap (as of early 2006), with the roles played by OpenLink components shown in the opaque <span style="color: #ff0000; font-weight: bold">red ovals</span>.  While this is not necessarily the diagram I would personally draw to represent the current <span style="font-style: italic">structured Web</span>, it does represent consensus of key players and does represent a comprehensive view of the space.  By this measure, OpenLink components contribute in many, many areas and across the full spectrum of the semantic Web architecture (note the full-size diagram is quite large):</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416d_OpenLinkW3.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416d_OpenLinkW3.png','4976','2128');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416d_OpenLinkW3_600.jpg" alt="OpenLink in Relation to W3C Architecture" title="OpenLink in Relation to W3C Architecture" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>This status is no accident.  It can be argued that OpenLink&#8217;s strong background in structured data, data federation and virtual databases and ODBC were excellent foundations.  The company has also been focused on semantic Web issues and RDF support since at least 2003; we are now seeing the obvious fruits of these years of effort.  As well, the early roots for some of the basic technology and approaches taken by the company extend back to Lisp and various AI (artificial intelligence) interests.  One could also argue that perhaps a certain mindset comes from a self-defined role in &#8220;middleware&#8221; that lends itself to connecting the dots.  And, finally, a vision and a belief in the centrality of data as an organizing principal for the next-generation Web has infused this company&#8217;s efforts from the beginning.</p>
<p>This placing of the scope of OpenLink&#8217;s offerings in context now allows us to examine some of the company&#8217;s individual &#8220;pearls&#8221; in more depth.</p>
<p style="font-weight: bold">In Focus:  Bringing Structure to the Web</p>
<p>No matter how much elegance and consistency of logic some may want to bring to the idea of the semantic Web, the fact will always remain that the medium is chaotic with multiple standards, motivations and statuses of development at work at any point in time.  Do you want a consistent format, a consistent schema, a consistent ontology or world view?  Forget it.  It isn&#8217;t going to happen unless you can force it internally or with your suppliers (if you are a hegemonic enterprise, and, likely, not even then).</p>
<p>This real-world context has been a challenge for some semantic Web advocates.  (I find it telling and amusing that the standard phrase for real-world applications is &#8220;in the wild&#8221;.)  Many come from an academic background and naturally gravitate to theory or parsimony.  Actually, there is nothing wrong with this; quite the opposite.  What all of us now enjoy with the Internet would not have come about without the brilliance of understanding of simple and direct standards that early leaders brought to bear.  My own mental image is that standards provide the navigation point on the horizon even if there is much tacking through the wind to get there.</p>
<p>But as theory meets practice the next layer of innovation comes from the experienced realists.  And it is here that OpenLink (plus many others who recognize such things) provide real benefit.  A commitment to data, to data federation, and an understanding of real world data formats and schemas &#8220;in the wild&#8221; naturally lead to a predilection to conversion and transformation.  It may not be grand theory, but real practitioners are the ones who will lead the next phases with prejudices more to workability through such things as &#8220;pipeline&#8221; models or providing working code [<a href="http://www.mkbergman.com/index.php?p=355#ref6">6</a>].</p>
<p>I&#8217;ve spoken previously about how RDF has emerged as the canonical storage form for the structured and semantic Web; I&#8217;m not sure this was self-evident to many observers up until recently.  But it was evident to the folks at OpenLink, and &#8212; given their experience in heterogeneous data formats &#8212; they acted upon it.</p>
<p>Today, out of the box, you can translate the following formats and schema using OpenLink&#8217;s software alone.  My guess is that the breadth of the table below would be a surprise to many current semantic Web researchers:</p>
<div align="center">
<table style="text-align: left" border="0" cellpadding="0" cellspacing="0" width="85%">
<tr>
<td style="background-color: #ffffcc; font-weight: bold; text-align: center; width: 35%">Accepted Data Formats / Schemas</td>
<td style="background-color: #ffffcc; font-weight: bold; text-align: center; width: 35%">Query / Access / Transport Protocols</td>
<td style="background-color: #ffffcc; font-weight: bold; text-align: center; width: 30%">Output Formats</td>
</tr>
<tr>
<td style="vertical-align: top">
<ul>
<li>Standard HTML/XHTMLWeb pages (limited extraction)</li>
<li>XML</li>
<li><a href="http://en.wikipedia.org/wiki/XML_Schema">XML Schema</a></li>
<li>RDF, and the <a href="http://en.wikipedia.org/wiki/Notation_3">N3</a> and <a href="http://en.wikipedia.org/wiki/Turtle_%28syntax%29">Turtle</a> variants</li>
<li><a href="http://en.wikipedia.org/wiki/RDFa">RDFa</a></li>
<li><a href="http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml">eRDF</a></li>
<li>Free text</li>
<li><a href="http://en.wikipedia.org/wiki/Microformats">Microformats</a> (hAtom, hCalendar, hCard, hReview, hResume, rel-directory, rel-nofollow, rel-tag, xFolk, XFN, XOXO)</li>
<li><a href="http://en.wikipedia.org/wiki/Webcal">WebCal</a></li>
<li><a href="http://en.wikipedia.org/wiki/Atom_%28standard%29">Atom</a>/<a href="http://en.wikipedia.org/wiki/Rss">RSS</a>/<a href="http://en.wikipedia.org/wiki/OPML">OPML</a> feeds</li>
<li><a href="http://bblfish.net/work/atom-owl/2006-06-06/AtomOwl.html">AtomOWL</a></li>
<li><a href="http://code.google.com/apis/gdata/index.html">GData</a></li>
<li><a href="http://en.wikipedia.org/wiki/Json">JSON</a></li>
<li>GRDDL</li>
<li><a href="http://en.wikipedia.org/wiki/Xslt">XSLT</a></li>
<li><a href="http://dbpedia.org/docs/">DBpedia</a></li>
<li><a href="http://en.wikipedia.org/wiki/SIOC">SIOC</a> (major organizing framework)</li>
<li><a href="http://en.wikipedia.org/wiki/DOAP">DOAP</a></li>
<li><a href="http://en.wikipedia.org/wiki/SKOS">SKOS</a></li>
<li><a href="http://en.wikipedia.org/wiki/FOAF">FOAF</a></li>
<li><a href="http://en.wikipedia.org/wiki/XBEL">XBEL</a></li>
<li><a href="http://en.wikipedia.org/wiki/Dublin_core">Dublin Core</a></li>
<li>Multiple existing major Web sites and services (<a href="http://base.google.com/base">Google Base</a>, <a href="http://www.flickr.com/">Flickr</a>, <a href="http://del.icio.us/">del.icio.us</a>, <a href="http://www.ning.com/">Ning</a>, <a href="http://www.amazon.com/">Amazon</a>, <a href="http://hub.ebay.com/">eBay</a>, etc.)</li>
</ul>
</td>
<td style="vertical-align: top">
<ul>
<li><a href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a></li>
<li><a href="http://jena.hpl.hp.com/%7Eafs/SPARQL-Update.html">SPARUL</a></li>
<li><a href="http://en.wikipedia.org/wiki/Xquery">XQuery</a></li>
<li><a href="http://en.wikipedia.org/wiki/Xpath">XPath</a></li>
<li>SQL and SQL-92</li>
<li>ODBC (SQL)</li>
<li>JDBC (SQL)</li>
<li><a href="http://en.wikipedia.org/wiki/OLE_DB">OLE-DB</a></li>
<li>SQLX</li>
<li><a href="http://en.wikipedia.org/wiki/Opensearch">OpenSearch</a></li>
<li><a href="http://en.wikipedia.org/wiki/XMLA">XMLA</a></li>
<li>HTTP</li>
<li><a href="http://en.wikipedia.org/wiki/Webdav">WebDAV</a></li>
<li><a href="http://en.wikipedia.org/wiki/Nntp">NNTP</a>, <a href="http://en.wikipedia.org/wiki/Smtp">SMTP</a>, <a href="http://en.wikipedia.org/wiki/Pop3">POP3</a>, <a href="http://en.wikipedia.org/wiki/IMAP">IMAP</a> (mail and discussion)</li>
<li><a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a></li>
<li>A variety of <a href="http://en.wikipedia.org/wiki/Web_services">Web services</a> (WS*, including <a href="http://en.wikipedia.org/wiki/WSDL">WSDL</a>, <a href="http://en.wikipedia.org/wiki/BPEL">BPEL</a>, <a href="http://en.wikipedia.org/wiki/UDDI">UDDI</a>, etc.)</li>
<li>Semantic Web APIs such as <a href="http://librdf.org/">Redland</a>, <a href="http://simile.mit.edu/wiki/Semantic_Bank">Semantic Bank</a> / <a href="http://simile.mit.edu/wiki/Piggy_Bank">Piggy Bank</a>, and <a href="http://www.w3.org/Submission/rdf-netapi/">RDF Net</a>.</li>
</ul>
</td>
<td style="vertical-align: top">
<ul>
<li>RDF</li>
<li>XML</li>
<li>JSON</li>
<li>HTML</li>
</ul>
</td>
</tr>
</table>
</div>
<p>(Note, some of these items may reside in multiple categories and thus have been somewhat arbitrarily placed.)</p>
<p>In addition, OpenLink is developing or in beta with these additional formats, application sources or standards: <a href="http://triplr.org/">Triplr</a>, <a href="http://jena.sourceforge.net/">Jena</a>, <a href="http://wordpress.org/">WordPress</a>, <a href="http://drupal.org/">Drupal</a>, <a href="http://www.zotero.org/">Zotero</a> (with its support for major citation schemas such as <a href="http://en.wikipedia.org/wiki/Citation_style_language">CSL</a>, <a href="http://en.wikipedia.org/wiki/COinS">COinS</a>, etc.), <a href="http://en.wikipedia.org/wiki/RELAX_NG">Relax NG</a>, <a href="http://en.wikipedia.org/wiki/Phpbb">phpBB</a>, <a href="http://en.wikipedia.org/wiki/Mediawiki">MediaWiki</a>, <a href="http://en.wikipedia.org/wiki/XBRL">XBRL</a>, and <a href="http://en.wikipedia.org/wiki/ECRM">eCRM</a>.</p>
<p>A critical piece in these various transformations is the new Virtuoso <a href="http://fgiasson.com/blog/index.php/2007/03/28/making-the-bridge-between-the-web-and-the-semantic-web">Sponger</a>, formally released in version 5.0 (though portions had been in use for quite some time).  Depending on the file or format type detected at ingest, Sponger may apply metadata extractors to binary files (a multitude of built-in extractors, Open Office, images, audio, video, etc., plus an API to add new ones), &#8220;cartridges&#8221; for mapping <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a>-style Web services and query languages (see above), or cartridges for mapping microformats or metadata or structure embedded in HTML (basic XHTML, eRDF, RDFa, GRDDL profiles, or other sources suitable for XSLT). There is also a UI for simply adding your own cartridges via the Virtuoso Conductor, the system administration console for Virtuoso.</p>
<p>Detection occurs at the time of content negotiation instigated by the retrieval user agent. Sponger first tests for RDF (including N3 or Turtle), then scans for microformats or GRDDL. (If it is GRDDL-based the associated XSLT is used; otherwise Virtuoso&#8217;s built-in XSLT processors are used. If it is a microformat, Virtuoso uses its own XSLT to transform and map to RDF.) The next fallback is scanning of the HTML header for different Web 2.0 types or RSS 1.1, RSS 2.0, Atom, etc. In these cases, the format (if supported) is transformed to RDF on the fly using other built-in XSLT processors (via an internal table that associates data sources with XSLT similar to GRDDL patterns but without the dependency on GRRDL profiles). Failing those tests, the scan then uses standard Web 1.0 rules to search in the header tags for metadata (typically Dublin Core) and transform to RDF; other HTTP response header data may also be transformed to RDF.</p>
<p>&#8220;Transform&#8221; as used above includes the fact that OpenLink generates RDF based on an internal mapping table that associates the data sources with schemas and ontologies. This mapping will vary depending on if you are using Virtuoso with or without the ODS layer (see below). If using the ODS layer, OpenLink maps further to SIOC, SKOS, FOAF, AtomOWL, Annotea bookmarks, Annotea annotations, etc.. depending on the data source [<a href="http://www.mkbergman.com/index.php?p=355#ref7">7</a>].  Getting all &#8220;scrubbed&#8221; or &#8220;sponged&#8221; data from these Web sources into RDF enables fast and easy mash-ups and, of course, an appropriate canonical form for querying and inference.  Sponger is also fully extensible.</p>
<p>The result of these capabilities is simple: from any URL, it is now possible to get a minimum of RDF, and often quite rich RDF. The bridge is now made between the Web and the <span style="font-style: italic">structured Web</span>.  Though we are now seeing such transformation utilities or so-called &#8220;<a href="http://simile.mit.edu/wiki/RDFizers">RDFizers</a>&#8221; rapidly emerge, none to my knowledge offer the breadth of formats, relation to ontology structure, or ease of integration and extension as do these Sponger capabilities from OpenLink.</p>
<p style="font-weight: bold">In Focus:  OAT and Tools</p>
<p>Though the youngest of the major product releases from Open Link, OAT &#8212; the OpenLink Ajax Toolkit &#8212; is also one of the most accessible and certainly flashiest of the company&#8217;s offerings.  OAT is a JavaScript-based toolkit for browser-independent rich-Internet application development.  It includes a robust set of standalone applications, database connectivity utilities, complete and supplemental UI (user interface) widgets and controls, an event management system, and supporting libraries.  It works on a broad range of Ajax-capable web browsers in a standalone mode, and has notable on-demand library loading to reduce the total amount of downloaded JavaScript code.</p>
<p>OAT is provided as open source under the GPL license, and was first released in August 2006.  It is now at version <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=31568932&amp;forum_id=49207">OAT 1.2</a> with the most recent release including integration of the iSPARQL QBE (see below) into the OAT Form Designer application.  The project homepage is found at <a href="http://sourceforge.net/projects/oat">http://sourceforge.net/projects/oat</a>; source code may be downloaded from <a href="http://sourceforge.net/projects/oat/files">http://sourceforge.net/projects/oat/files</a>.</p>
<p>OAT is one of the first toolkits that fully conforms to the <a href="http://www.openajax.org/member/wiki/Main_Page">OpenAjax Alliance</a> standards; see the <a href="http://demo.openlinksw.com/DAV/JS/openajax/HubTest-OATConformance.html">conformance test page</a>. OAT&#8217;s development team, led by <a href="http://ondras.praha12.net/hp/#">Ondrej Zara</a>, also recently incorporated the OAT data access layer as a module to the <a href="http://demo.openlinksw.com/DAV/JS/dojo-oatstore-demo/test_OATStore_in_FilteringTable.html">Dojo datastore</a>.</p>
<p style="font-weight: bold; margin-left: 40px; font-style: italic">OpenLink Ajax Toolkit (OAT) Overview</p>
<p>There are many Ajax toolkits, some with robust widget sets.  What really sets OAT apart is its data access with breadth.  This is very much in keeping with OpenLink&#8217;s data federation and middleware strengths.  OAT&#8217;s Ajax database connectivity layer supports data binding to the following data source types:</p>
<ol>
<li>RDF &#8212; via SPARQL (with support in its query language, protocol, and result set serialization in any of the RDF/XML, RDF/N3, RDF/Turtle, XML, or JSON formats)</li>
<li>Other Web data &#8212; via GData or OpenSearch</li>
<li>SQL &#8212; via XMLA (a somewhat forgotten SOAP protocol for SQL data access that can sit atop ODBC, ADO.NET, OLE-DB, and even JDBC), and</li>
<li>XML &#8212; via SOAP or REST style Web services.</li>
</ol>
<p>Most all of the OAT components are data aware, and thus have the same broad data format flexibilities.The table below shows the full listing of OAT components, with live links to <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?about">their online demos</a>, selectable from a expanding menu, which itself is an example of the OAT <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?panelbar">Panelbar</a> (menu) (<span style="font-weight: bold">Notes:</span> use <span style="font-style: italic">demo</span> / <span style="font-style: italic">demo</span> for username and password if requested; pick &#8220;DSN=Local_Instance&#8221; if presented with a dropdown that asks for &#8216;Connection String&#8217;):</p>
<div align="center">
<table style="text-align: left" border="0" cellpadding="0" cellspacing="6" width="85%">
<tr>
<td style="vertical-align: top; width: 25%">
<div style="font-weight: bold">Standalone Applications</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/formdesigner/index.html">Forms Designer</a> [see below]</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/designer/index.html">DB Designer</a> [see below]</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/qbe/index.html">SQL QBE</a> [see below]</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/isparql/">iSPARQL</a> [see below]</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">RDF Browser</a> [see below]</div>
</td>
<td style="vertical-align: top; width: 25%">
<div style="font-weight: bold">Libraries</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?json">JSON</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?crypto">Cryptography</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?stats">Statistics</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?ajax">AJAX</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?ghostdrag"><em>Ghost</em> Drag</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?window">OS-style Windows</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?round">Rounded Corners</a></div>
<div style="font-weight: bold">Ajax DB Connectivity</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?mashups">Mapping</a> <small>(with support for Google, Yahoo!, OpenLayers, Microsoft Visual Earth) </small></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?pivots">Pivot</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?cursors">Scrollable Cursors</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?data">Data Modelling</a></div>
</td>
<td style="vertical-align: top; width: 25%">
<div style="font-weight: bold">Complete Widgets</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?chart">Bar Chart</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?pie">Pie Chart</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?sparklines">Line Chart &amp; Sparklines</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?grid">Grid</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?pivot">Pivot Table</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?tree">Tree Control</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?dock">Dock</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?panelbar">Panelbar</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?ticker">Ticker</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?fisheye">FishEye</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?dav">WebDAV Browser</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?timeline">Timeline</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?rdf">RDF Graph</a></div>
</td>
<td style="vertical-align: top; width: 25%">
<div style="font-weight: bold">Supplemental Widgets</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?upload">Variable Upload</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?validation">Input Restriction</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?dimmer">Dimmer</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?quickedit">QuickEdit</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?combolist">Combo List</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?combobox">Combo Box</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?combobutton">Combo Button</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?slider">Slider</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?date">Date Picker</a> (calendar)</div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?color">Color Picker</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?anchor">Enhanced Anchor</a></div>
<div style="margin-left: 25px"><a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?rss">RSS Reader</a></div>
</td>
</tr>
</table>
</div>
<p>Not all of these components are supported on all major browsers; please refer to the OpenLink <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?compatibility">OAT compatibility chart</a> for any restrictions.</p>
<p>The following screen shot shows one of the OAT complete widgets, the <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?pie">pie charting</a> component:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPie.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPie.png','804','377');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPie_600.jpg" alt="OAT - Example Pie Graph" title="OAT - Example Pie Graph" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>One of the more complete widgets is the <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?pivot">pivot table</a>, which offers general Excel-level functionality including sorts, totals and subtotals, column and row switching, and the like:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPivot.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPivot.png','1256','844');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATPivot_600.jpg" alt="OAT - Example Pie Graph" title="OAT - Example Pie Graph" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Another one of the more interesting controls is the <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?dav">WebDAV Browser</a>.  <a href="http://en.wikipedia.org/wiki/Webdav">WebDAV</a> extends the basic HTTP protocols to allow moves, copies, file accesses and so forth on remote servers and in support of multiple authoring and versioning environments.  OAT&#8217;s WebDAV Browser provides a virtual file navigation system across one or more Web-connected servers.  Any resource that can be designated by a URI/<a href="http://en.wikipedia.org/wiki/Internationalized_Resource_Identifier">IRI</a> (the Internationalized Resource Identifier is a <a href="http://en.wikipedia.org/wiki/Unicode">Unicode</a> generalization of the Uniform Resource Identifier, or URI) can be organized and managed via this browser:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATWebDAV.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATWebDAV.png','1084','641');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATWebDAV_600.jpg" alt="OAT - WebDAV Browser" title="OAT - WebDAV Browser" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Again, there are <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?about">online demos</a> for each of the other standard widgets in the OAT toolkit.</p>
<p>The next subsections cover each of the major standalone applications contained in OAT; most are themselves combinations of multiple OAT components and widgets.</p>
<p style="margin-left: 40px; font-weight: bold; font-style: italic">Forms Designer</p>
<p>The <a href="http://demo.openlinksw.com/DAV/JS/formdesigner/index.html">Forms Designer</a> is the major UI design component within OAT.  The full range of OAT widgets noted above &#8212; plus more basic controls such as labels, inputs, text areas, checkboxes, lines, URLs, images, tag clouds and others &#8212; can be placed by the designer into a savable and reusable composition.  Links to data sources can be specified in any accessible network location with a choice of SQL, SPARQL or GData (and the various data forms associated with them as noted above).</p>
<p>The basic operation of the Forms Designer is akin to other standard <a href="http://en.wikipedia.org/wiki/Rapid_application_development">RAD</a>-type tools; the screenshot below shows a somewhat complicated data form pop-up overlaid on a map control (there is also a <a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-google-maps-demo1.mov">screencast</a> showing this designer&#8217;s basic operations):</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms1.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms1.png','1278','716');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms1_600.jpg" alt="OAT - Using the Forms Designer" title="OAT - Using the Forms Designer" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>When completed, this design produces the following result.  Another <a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-yahoo-maps-demo1.mov">screencast</a> shows using the composite mash-up in action:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms2.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms2.png','1272','596');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416e_OATForms2_600.jpg" alt="OAT - Mash-up Result of Using the Forms Designer" title="OAT - Mash-up Result of Using the Forms Designer" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Because of the common data representation at the core of OAT (which comes from the OpenLink vision), the ease of creating these mash-ups is phenomenal, the simplicity of which can be missed when viewing static examples.  The real benefits actually become apparent when you make these mash-ups on your own.</p>
<p style="margin-left: 40px; font-weight: bold; font-style: italic">Database (DB) Designer</p>
<p>The OAT <a href="http://demo.openlinksw.com/DAV/JS/designer/index.html">Database (DB) Designer</a> (also the basis for the <a href="http://demo.openlinksw.com/DAV/JS/demo/index.html?data">Data Modeller</a>) addresses a very different problem:  laying out and designing a full database, including table structures and schemas.  This is one of the truly unique applications within OAT, not shared (to my knowledge) by any other Ajax toolkit.</p>
<p>One starts either by importing a schema using XMLA or begins from scratch or from an existing template.  Tables can be easily added, named and modified.  As fields are added, it is easy to select data types, which also become color coded based on type on the design palette.  Key relations between the tables are shown automatically:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416g_DBDesigner.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416g_DBDesigner.png','1278','881');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416g_DBDesigner_600.jpg" alt="OAT - Database Designer" title="OAT - Database Designer" style="border: 0px solid ; width: 600px" align="middle" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>The result is a very easy, interactive data design environment.  Of course, once completed, there are numerous options for saving or committing to actual data population.</p>
<p style="font-weight: bold; margin-left: 40px; font-style: italic">SQL Query by Example</p>
<p>Once created and populated, the database is now available for querying and display.  The <a href="http://demo.openlinksw.com/DAV/JS/qbe/index.html">SQL QBE (query-by-example)</a> application within OAT is a fairly standard QBE interface.  That may be a comfort to those used to such tools, but it has a more important role in being an exemplar for moving to RDF queries with SPARQL (see next):</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416f_QBE.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416f_QBE.png','1255','793');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416f_QBE_600.jpg" alt="OAT - Query-by-Example" title="OAT - Query-by-Example" style="border: 0px solid ; width: 600px; height: 379px" align="middle" height="379" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>OpenLink also provides a <a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-qbe-demo1.mov">screencast</a> for how to make these table linkages and to modify the results display with a now-common SQL format.</p>
<p style="font-weight: bold; text-align: left; margin-left: 40px; font-style: italic">iSPARQL Query Builder</p>
<p>OpenLink&#8217;s analog to QBE for SQL applied to RDF is its visual <a href="http://demo.openlinksw.com/isparql/">iSPARQL Query Builder</a> (<a href="http://en.wikipedia.org/wiki/Svg">SVG</a>-based, which of course is also an XML format).  We are now dealing with graphs, not tables.  And we are dealing with SPARQL and triples, not standard two-dimensional relational constructs.  Some might claim that with triples we are now challenging the ability of standard users to grasp semantic Web concepts.  Well, I say, yeah, OK, but I really don&#8217;t see how a relational table and schema with its lousy names is any easier than looking at a graph with URLs as the labeled nodes.  Look at the following and judge for yourself:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416n_SQBIntro.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416n_SQBIntro.png','1258','858');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416n_SQBIntro_600.jpg" alt="iSPARQL Query Builder - Sample View" title="iSPARQL Query Builder - Sample View" style="border: 0px solid ; width: 600px; height: 409px" align="middle" height="409" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>OK, it looks pretty foreign.  (Therefore, this is the one demo you should really try.)  In my opinion, the community is still groping for constructs, visuals and paradigms to make the use of SPARQL intuitive.  Though OpenLink has a presentation as good as anyone&#8217;s, the challenge of finding a better paradigm remains out there.</p>
<p style="font-weight: bold; margin-left: 40px; font-style: italic">RDF Browser</p>
<p>Direct inspection of RDF is also hard to describe and even harder to present visually. What does it mean to have data represented as triples that enables such things such as graph (network) traversals or inference [<a href="http://www.mkbergman.com/index.php?p=355#ref8">8</a>]?  The broad approach that OpenLink takes for viewing RDF is via what it calls the <a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">RDF Browser</a>.  Actually, the browser presents a variety of RDF views, some in mash-up mode.  The first view in the RDF Browser is for basic triples:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFBrowse.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFBrowse.png','1256','776');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFBrowse_600.jpg" alt="RDF Browser - Browse View" title="RDF Browser - Browse View" style="border: 0px solid ; width: 600px; height: 371px" align="middle" height="371" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>This particular example is quite rich, with nearly 4000 triples with many categories and structure (see full size view).  Note the tabs in the middle of the screen; these are where the other views below are selected.</p>
<p>For example, that same information can also be shown in standard RDF &#8220;triples&#8221; view (<span style="font-style: italic">subject-object-predicate</span>):</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTriples.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTriples.png','1260','776');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTriples_600.jpg" alt="RDF Browser - Triples View" title="RDF Browser - Triples View" style="border: 0px solid ; width: 600px; height: 370px" align="middle" height="370" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>The basic RDF structural relationships can also be shown in a graph view, itself with many settings for manipulating and viewing the data, with mouseovers showing the content of each graph node:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFGraph.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFGraph.png','1260','772');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFGraph_600.jpg" alt="RDF Browser - Graph View" title="RDF Browser - Graph View" style="border: 0px solid ; width: 600px; height: 368px" align="middle" height="368" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>The data can also be used for &#8220;mash-ups&#8221;; in this case, plotting the subject&#8217;s location on a map:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFMap.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFMap.png','1256','774');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFMap_600.jpg" alt="RDF Browser - Map View" title="RDF Browser - Map View" style="border: 0px solid ; width: 600px; height: 370px" align="middle" height="370" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Or, another mash-up shows the dates of his blog postings on a timeline:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTimeline.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTimeline.png','1256','638');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416m_RDFTimeline_600.jpg" alt="RDF Browser - Timeline View" title="RDF Browser - Timeline View" style="border: 0px solid ; width: 600px; height: 300px" align="middle" height="300" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Since the RDF Browser uses SVG, some of these views may be incompatible with IE (6 or 7) and Safari.  Firefox (1.5+), Opera 9.x, WebKit (Open Source Safari), and Camino all work well.</p>
<p>These are early views about how to present such &#8220;linked&#8221; information.  Of course, the usability of such interfaces is important and can make or break user acceptance (again, see [<a href="http://www.mkbergman.com/index.php?p=355#ref8">8</a>]). OpenLink &#8212; and all of us in the space &#8212; has the challenge to do better.</p>
<p>Yet what I find most telling about this current OpenLink story is that the data and its RDF structure now fully exist to manipulate this data in meaningful ways. The mash-ups are as easy as A connects to B. The only step necessary to get all of this data working within these various views is simply to point the RDF Browser to the starting Web site&#8217;s URL. Now that is easy!</p>
<p>So,we are not fully there in terms of compelling presentation. But in terms of the <span style="font-style: italic">structured Web</span>, we are already there in surprising measure to do meaningful things with Web data that began as unstructured raw grist.</p>
<p style="font-weight: bold">In Focus:  Virtuoso</p>
<p>OK, so we just got some sizzle; now it is time for the steak.  <a href="http://virtuoso.openlinksw.com/">OpenLink Virtuoso</a> is the core component of the company&#8217;s offerings.  The diagram at the top of this write-up provides an architectural overview of this product.</p>
<p>Virtuoso can best be described as a complete deployment environment with its own broad data storage and indexing engine; a virtual database server for interacting with all leading data types, third-party database management systems (DBMSs) and Internet &#8220;endpoints&#8221; (data-access points); and a virtual Web and application server for hosting its own and external applications written in other leading languages.  To my knowledge, this &#8220;universal server&#8221; is the first cross-platform product that implements Web, file, and database server functionality in a single package.</p>
<p>The Virtuoso architecture exposes modular tools that can be strung together in a very versatile information-processing pipeline.  Via the huge variety of structure and data format transformations that the product supports (see above), the developer only need worry about interacting with Virtuoso&#8217;s canonical formats and APIs.  The messy details of real-world diversities and heterogeneities are largely abstracted from view.</p>
<p>Data and application interactions occur through the system&#8217;s virtual or federated database server. This core provides internal storage and application facilities, the ability to transparently expose tables and views from external databases, and the capability of exposing external application logic in a homogeneous way [<a href="http://www.mkbergman.com/index.php?p=355#ref9">9</a>].  The variety of data sources supported by Virtuoso can be efficiently joined in any number of ways in order to provide a cohesive view of disparate data from virtually any source and in any form.</p>
<p>Since storage is supported for unstructured, semi-structured and structured data in its various forms, applications and users have a choice of retrieval and query constructs.  Free-text searching is provided for unstructured data, conventional documents and literal objects within RDF triples; SQL is provided for conventional structured data; and SPARQL is provided for RDF and -related graph data.  These forms are also supplemented with a variety of Web service protocols for retrievals across the network.</p>
<p>The major functional components within Virtuoso are thus:</p>
<ol>
<li>A DBMS engine (object-relational like PostgreSQL and relational like MySQL)</li>
<li>XML data management (with support for XQuery, XPath, XSLT, and XML Schema)</li>
<li>An RDF triple store (or database) that supports the SPARQL query language, transport protocol, and various serialization formats</li>
<li>A service-oriented architecture (SOA) that combines a BPEL engine with an enterprise service bus (ESB)</li>
<li>A Web application server (supporting both HTTP and WebDAV), and</li>
<li>An NNTP-compliant discussion server.</li>
</ol>
<p>Virtuoso provides its own scripting language (VSP, similar to Microsoft&#8217;s ASP) and Web application scripting language (VSPX, similar to Microsoft&#8217;s ASPX or PHP) [<a href="http://www.mkbergman.com/index.php?p=355#ref12">12</a>].  <a href="http://demo.openlinksw.com/conductor/">Virtuoso Conductor</a> is an accompanying system administrator&#8217;s console.</p>
<p>Virtuoso currently runs on Windows (XP/2000/2003), Linux (Redhat, Suse) Mac OS X, FreeBSD, Solaris, and other UNIX variants (including AIX and HP-UX and 32- and 64-bit platforms).  Exclusive of documentation, a typical install of Virtuoso application code is about 100 MB (with help, documentation and examples, about 300 MB).</p>
<p>The development of Virtuoso first began in 1998.  A major re-write with its virtual aspects occurred in 2001.  WebDAV was added in early 2004, and RDF support with release of an open source version in 2006.  Additional description of the <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory">Virtuoso history</a> is available, plus a <a href="http://virtuoso.openlinksw.com/FAQ/index.htm">basic product FAQ</a> and comprehensive <a href="http://docs.openlinksw.com/virtuoso/">online documentation</a>.  The most recent version 5.0 was released in April 2007.</p>
<p style="font-weight: bold; margin-left: 40px; font-style: italic">RDF and SPARQL Enhancements</p>
<p>For the purposes of the <span style="font-style: italic">structured Web</span> and the semantic Web, Virtuoso&#8217;s addition of RDF and SPARQL support in early 2006 was probably the product&#8217;s most important milestone.  This update required an expansion of Virtuoso&#8217;s native database design to accommodate RDF triples and a mapping and transformation of SPARQL syntax to Virtuoso&#8217;s native SQL engine.</p>
<p>For those more technically inclined, OpenLink offers an online paper, <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDFWP" style="font-style: italic">Implementing a SPARQL Compliant RDF Triple Store using a SQL-ORDBMS</a>, that provides the details of how RDF and its graph IRI structure were superimposed on a conventional relational table design [<a href="http://www.mkbergman.com/index.php?p=355#ref10">10</a>].</p>
<p>Virtuoso&#8217;s approach adds the IRI as a built-in and distinct data type.  Virtuoso&#8217;s <span style="font-style: italic">ANY</span> type then allows for a single-column representation of a triple&#8217;s object (<span style="font-style: italic">o</span>).  Since the graph (<span style="font-style: italic">g</span>), subject (<span style="font-style: italic">s</span>) and predicate (<span style="font-style: italic">p</span>) are always IRIs, they are declared as such. Since an <span style="font-style: italic">ANY</span> value is a valid key part with a well-defined collation order between non-comparable data types, indices can be built using the object (<span style="font-style: italic">o</span>) of the triple.</p>
<p>While text indexing is not directly supported in SPARQL, Virtuoso easily added it as an option for selected objects.  Virtuoso also adds other SPARQL extensions to deal both with the mapping and transformation to native SQL and for other requirements.  Though type cast rules of SPARQL and SQL differ, Virtuoso deals with this by offering a special SQL compiler directive that enables efficient SPARQL translation without introducing needless extra type tests.  Virtuoso also extends SPARQL with SQL-like aggregate and <span style="font-style: italic">group by</span> functionality.  With respect to storage, Virtuoso allows a mix of storage options for graphs in a single table or graph-specific tables; in some cases, the graph component does not have to be written in the table at all. Work on a system for declaring storage formats per graph is ongoing.</p>
<p>OpenLink provides an entire section on its <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDF"> RDF and SPARQL implementation</a> in Virtuoso.  In addition, there is an interactive SPARQL demo showing these capabilities at <a href="http://demo.openlinksw.com/isparql/" class="moz-txt-link-freetext">http://demo.openlinksw.com/isparql/</a>.</p>
<p style="margin-left: 40px"><span style="font-weight: bold; font-style: italic">Open Source Version and Differences</span></p>
<p>OpenLink released Virtuoso in an open source edition in mid-2006.  According to <a href="http://weblog.infoworld.com/udell/2006/04/28.html#a1437">Jon Udell</a> at that time, to have &#8220;Virtuoso arrive on the scene as an open source implementation of a full-fledged SQL/XML hybrid out into the wild is a huge step because there just hasn&#8217;t been anything like that.&#8221;  And, of course, now with RDF support and the Sponger, the open source uniqueness and advantages (especially for the semantic Web) are even greater.</p>
<p>Virtuoso&#8217;s open source home page is at <a href="http://virtuoso.openlinksw.com/wiki/main/" class="moz-txt-link-freetext">http://virtuoso.openlinksw.com/wiki/main/</a> with downloads available from <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSDownload" class="moz-txt-link-freetext">http://virtuoso.openlinksw.com/wiki/main/Main/VOSDownload</a>.</p>
<p>Virtually all aspects of Virtuoso as described in this paper are available as open source. The one major component found in the commercial version, but not in the open source version, is the virtual database federation at the back-end, wherein a single call can access multiple database sources. This is likely extremely important to larger enterprises, but can be overcome in a Web setting via alternative use of inbound Web services or accessing multiple Internet &#8220;endpoints.&#8221;</p>
<p style="margin-left: 40px"><span style="font-weight: bold; font-style: italic">Latest Release</span></p>
<p>The April 2007 version 5.0 release of Virtuoso demonstrates OpenLink&#8217;s commitment to continued improvements, especially in the area of the <span style="font-style: italic">structured Web</span>.  There was a re-factoring of the database engine resulting in <a href="http://www.openlinksw.com/weblogs/oerling/index.vspx?page=&amp;id=1183">significant performance improvements</a>.  In addition, RDF-related enhancements included:</p>
<ul>
<li>Added the built-in Sponger (see above) for transforming non-RDF into RDF &#8220;on the fly&#8221;</li>
<li>Full-text indexing of literal objects within triples</li>
<li>Added basic inferencing (subclass and subproperty support)</li>
<li>Added SPARQL aggregate functions</li>
<li>Improved SPARQL language support (updates, inserts, deletes)</li>
<li>Improved XML Schema support (including complex types through a bif:xcontains predicate)</li>
<li>Enhanced the SPARQL to SQL compiler&#8217;s optimizer, and</li>
<li>Further performance improvements to RDF views (SQL to RDF mapping).</li>
</ul>
<p style="font-weight: bold">In Focus:  Open Data Spaces (ODS)</p>
<p>With the emergence of <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> and its many collaborative frameworks such as blogs, wikis and discussion forums, OpenLink came to realize that each of these locations was a &#8220;data space&#8221; of meaningful personal and community content, but that the systems were isolated &#8220;silos.&#8221;  Each space was unconnected to other spaces, the protocols and standards for communicating between the spaces were fractured or non-existent, and each had its own organizing framework, means for interacting with it, and separate schema (if it had one at all).</p>
<p>Since the Virtuoso platform itself was designed to overcome such differences, it became clear that an application layer could be placed over the core Virtuoso system that would break down the barriers to these siloed &#8220;data spaces,&#8221; while at the same time providing all varieties of spaces similiar functionality and standards.  Thus was started what became the <a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex">OpenLink Data Space</a> (or ODS) collaboration application, first released in open source in late 2006.</p>
<p>ODS is now provided as a packaged solution (in both open source and commercial versions) for use on either the Web or behind corporate firewalls, with security and single sign-on (SSO) capabilities.  Mitko Iliev is OpenLink&#8217;s ODS program manager.</p>
<p>ODS is highly configurable and customizable.  ODS has ten or so basic components, which can be included or not on a deployment-wide level, or by community, or by individual.  Customizing the look and feel of ODS is also quite easy via CSS and the simple Virtuoso Web application scripting language, VSPX.  (See <a href="http://docs.openlinksw.com/virtuoso/vspx.html">here for examples of the language</a>, which is based on XML.)  A sample intro screen for ODS, largely as configured out of the box, is shown by this diagram:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSIntro.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSIntro.png','1280','414');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSIntro_600.jpg" alt="OpenLink Data Space - General View" title="OpenLink Data Space - General View" style="border: 0px solid ; width: 600px; height: 194px" align="middle" height="194" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>Note the listing of ODS components on the menu bar across the top.  These baseline ODS components are:</p>
<ol>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/BlogFAQ">Blog</a> &#8212; this component is a full-featured blogging platform with support for all standard blogging features; it supports all the major publishing protocols (Atom, Moveable Type, Meta Weblog, and Blogger) and includes automatic generation of content syndication supporting RSS 1.0, RSS 2.0, Atom, SIOC, OPML, OCS (an older Microsoft format), and others</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsWiki">Wiki</a> &#8212; a full-Wiki implementation that supports the standard feeds and publishing protocols, plus supports Twiki, MediaWiki and Creole markup and WYSIWYG editing</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/BriefcaseFAQ">Briefcase</a> &#8212; an integrated location to store and share virtually any electronic resource online; metadata is also extracted and stored</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/FeedManagerFAQ">Feed Aggregator</a> &#8212; is an integrated application that allows you to store, organize, read, and share content including blogs, news and other information sources; provides automatic extraction of tags and comments from feeds; supports feeds in.RSS 1.0, 2.0, Atom, OPML, or OCS formats</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsDiscussions">Discussion</a>  &#8212; this is, in essence, a forum platform that allows newsgroups to be monitored, posts viewed and responded to by thread, and other general discussion features</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsGallery">Image Gallery</a> &#8212; is an application to store and to share photos. The photos can be viewed as online albums or slide shows</li>
<li><a href="http://myopenlink.net/ods/app_inst.vspx?app=Polls&amp;ufname=&amp;l=1">Polls</a> &#8212; a straightforward utility for posting polls online and viewing voted results; organized by calendar as well</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsBookmarkManager">Bookmark Manager</a> &#8211;is a component for constructing, maintaining, and sharing vast collections of Web resource URLs; supports XBEL-based or Mozilla HTML bookmark imports; also mapped to the <a href="http://www.w3.org/2001/Annotea/User/Papers.html">Annotea</a> bookmark ontology</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsMail">Email</a> plaftorm &#8212; this is a robust Web-based email client with standard email management and viewing functionality</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsCommunity">Community</a> &#8212; a general portal showing all group and community listings within the current deployment, as well as means for joining or logging into them.</li>
</ol>
<p>Here, for example, is the &#8220;standard&#8221; screen (again, modifiable if desired) when accessing an individual ODS community:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSCommunity.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSCommunity.png','1280','834');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSCommunity_600.jpg" alt="OpenLink Data Space - Community View" title="OpenLink Data Space - Community View" style="border: 0px solid ; width: 600px; height: 391px" align="middle" height="391" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>And, here is another example, this time showing the &#8220;standard&#8221; photo image gallery:</p>
<div align="center"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSGallery.png" onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSGallery.png','792','442');return false" onfocus="this.blur()"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070416q_ODSGallery_600.jpg" alt="OpenLink Data Space - Gallery View" title="OpenLink Data Space - Gallery View" style="border: 0px solid ; width: 600px; height: 335px" align="middle" height="335" width="600" /></a><br />
<font size="1"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</font></div>
<p>You can check out for yourself these various integrated components by going to <a href="http://myopenlink.net/ods/sfront.vspx">http://myopenlink.net/ods/sfront.vspx</a>.</p>
<p>There are subtle, but powerful, consistencies underlying this suite of components that I am amazed more people don&#8217;t talk about.  While each individual component performs and has functionality quite similar to its standalone brethren, it is the shared functionality and common adherence to standards across all ODS components where the app really shines.  All ODS components, for example, share these capabilities where it natively makes sense to the individual component:</p>
<ul>
<li>Single sign-on with security</li>
<li><a href="http://virtuoso.openlinksw.com/wiki/main/Main/ODSOpenID" class="wikiword">OpenID</a> and <a href="http://virtuoso.openlinksw.com/wiki/main/Main/ODSYadis" class="wikiword">Yadis</a> compliance</li>
<li>Data exposed via SQL, RDF, XML or related serializations</li>
<li>Feed reading formats including RSS 1.0, RSS 2.0, Atom, OPML</li>
<li>Content syndication formats including RSS 1.0, RSS 2.0, Atom, OPML</li>
<li>Content publishing using Atom, <a href="http://www.sixapart.com/developers/product_documentation/movable_type/">Moveable Type</a>, <a href="http://www.xmlrpc.com/metaWeblogApi">MetaWeblog</a>, or Blogger protocols</li>
<li>Full-text indexing and search</li>
<li>WebDAV attachments and management</li>
<li>Automatic tagging and structurizing via numerous relevant ontologies (microformats, FOAF, SIOC, SKOS, Annotea, etc.)</li>
<li>Conversation (NNTP) awareness</li>
<li>Data management and query including SQL, RDF, XML and free text</li>
<li>Data access protocols including SQL, SPARQL, GData, Web services (SOAP or REST styles), WebDAV/HTTP</li>
<li>Use of structured Web middleware (see full alphabet soup above), and</li>
<li>OpenLink Ajax Toolkit (OAT) functionality.</li>
</ul>
<p>This is a very powerful list, and it doesn&#8217;t end there. OpenLink has an API to extend ODS, which has not yet been published, but will likely be so in the near future.</p>
<p>So, with the use of ODS, you can immediately become &#8220;semantic Web-ready&#8221; in all of your postings and online activities.  Or, as an enterprise or community leader, you can immediately connect the dots and remove artificial format, syntax and semantic barriers between virtually all online activities by your constituents.  I mean, we&#8217;re talking here about hurdles that generally appear daunting, if not unsurmountable, that can be downloaded, installed and used <span style="font-weight: bold; font-style: italic">today</span>.  Hello!?</p>
<p>Finally, OpenLink Data Spaces are provided as a standard inclusion with the open source Virtuoso.</p>
<p style="font-weight: bold">Performance and Interoperability</p>
<p>I mean, what can one say?  With all of this scope and power, why aren&#8217;t more people using OpenLink&#8217;s software?  Why doesn&#8217;t the world better know about these capabilities?  Is there some hidden flaw in all of this due to lack of performance or interoperability or something else?</p>
<p>I think it&#8217;s worth decomposing these questions from a number of perspectives because of what it may say about the state of the <span style="font-style: italic">structured Web</span>.</p>
<p>First, by way of disclaimer, I have not benchmarked OpenLink&#8217;s software <span style="font-style: italic">v.</span> other applications.  There are tremendous offerings from other entities, many on my &#8220;to do&#8221; list for detailed coverage and perhaps hosannas.  Some of those alternatives may be superior or better fits in certain environments.</p>
<p>Second, though, OpenLink is an experienced middleware vendor with data access and interoperability as its primary business.  As a relatively small player, it can only compete with the big boys based on performance, responsiveness and/or cost.  OpenLink understands this better than I; indeed, the company has both a legacy and reputation for being focused on benchmarks and performance testing.</p>
<p>I believe it is telling that the company has been an active developer and participant in performance testing standards, and is assiduous in posting performance results for its various offerings.  This speaks to intellectual and technical integrity.  For example, <a href="http://www.openlinksw.com/weblogs/oerling/">Orri Erling</a>, the OpenLink Virtuoso program manager and lead developer, posts on a frequent basis on both how to improve standards and how OpenLink&#8217;s current releases stand up to them.  The company builds and releases benchmarking utilities in open source.  OpenLink is an active participant in the <a href="http://www.cise.ufl.edu/project/thalia.html">THALIA</a> data integration benchmarking initiative and the <a href="http://swat.cse.lehigh.edu/projects/lubm/">LUBM</a> semantic Web repository benchmark.  While RDF performance and benchmarks are obviously still evolving, I think we can readily dismiss performance concerns as a factor limiting early uptake [<a href="http://www.mkbergman.com/index.php?p=355#ref11">11</a>].</p>
<p>Third, as for functionality or scope, I honestly can not point to any alternative that spans as broad of a spectrum of <span style="font-style: italic">structured Web</span> requirements than does OpenLink.  Further, the sheer scope of data formats and schemas that OpenLink transforms to RDF is the broadest I know.  Indeed, breadth and scope are real technical differentiators for OpenLink and Virtuoso.</p>
<p>Fourth, while back-end operability with other triple stores such as <a href="http://www.openrdf.org/">Sesame</a>, <a href="http://jena.sourceforge.net/">Jena</a> or <a href="http://docs.mulgara.org/index.html">Mulgara</a>/Kowari is not yet active with Virtuoso, there apparently has not yet been a demand for it, the ability to add it is clearly within Open Link&#8217;s virtual database and data federation strengths, and no other option &#8212; commercial or open source &#8212; currently does so.  We&#8217;re at the cusp of real interoperability demands, but are not yet quite there.</p>
<p>And, last, and this is very recent, we are only now beginning to see large and meaningful RDF datasets begin to appear for which these capabilities are naturally associated.  Many have been active in these new announcements.  OpenLink has taken an enlightened self-interest role in its active participation in the <a href="http://en.wikipedia.org/wiki/Open_Data">Open Data</a> movement and in its strong support for the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData">Linking Open Data</a> effort of the SWEO (Semantic Web Outreach and Education) community of the W3C.</p>
<p>So, via a confluence of many threads intersecting at once I think we have the answer:  The time was not ripe until now.</p>
<p>What we are seeing at this precise moment is the very forming of the <span style="font-style: italic">structured Web</span>, the first wave of the semantic Web visible to the general public.  Offerings such as OpenLink&#8217;s with real and meaningful capabilities are being released; large structured datastores such as <a href="http://dbpedia.org/docs/">DBpedia</a> and <a href="http://www.freebase.com/signin.html">Freebase</a> have just been announced; and the pundit community is just beginning to evangelize this new market and new phase for the Web.  Though some prognosticators earlier pointed to 2007 as the breakthrough year for the semantic Web, I actually think that <a href="http://www.mkbergman.com//?p=354">moment is now</a>.  (Did you blink?)</p>
<p>The semantic Web through its initial <span style="font-style: italic">structured Web</span> expression is not about to come &#8212; it has arrived.  Mark your calendar.  And OpenLink&#8217;s offerings are a key enabler of this most significant Internet milestone.</p>
<p><span style="font-weight: bold">A Deserving Jewels and Doubloons Winner</span></p>
<p>OpenLink, its visionary head, <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com" class="liexternal">Kingsley Idehen</a>, and full team are providing real leadership, services and tools to make the semantic Web a reality.  Providing such a wide range of capable tools, middleware and RDF database technology as open source means that many of the prior challenges of linking together a working production pipeline have now been met and are affordable.  For these reasons, I gladly announce OpenLink Software as a deserving winner of the (highly coveted, but still cheesy! <img src="http://www.mkbergman.com/wp-includes/images/smilies/icon_smile.gif" class="wp-smiley" alt=":)" /> ) <span style="font-weight: bold"><font color="#820000">AI3</font> <em>Jewels &amp; Doubloons</em></span> award.</p>
<table align="center" bgcolor="#f2f5f8" border="0" cellpadding="5">
<tr>
<td><a href="http://www.mkbergman.com//?p=338"><img src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" title="Jewels &amp; Doubloons" alt="Jewels &amp; Doubloons" align="middle" /></a></td>
<td><a href="http://www.mkbergman.com//?p=338" class="liinternal"><em><strong>An <font color="#820000">AI3 </font>Jewels &amp; Doubloons Winner</strong></em></a></td>
</tr>
</table>
<div style="margin-top: 10px; margin-bottom: 10px">
<hr style="height: 1px; width: 33%; margin-left: 0px; margin-right: auto" /></div>
<p>[<a title="ref1" name="ref1"></a>1] A general history of OpenLink Software and the Virtuoso product may be found at <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory">http://virtuoso.openlinksw.com/wiki/main/Main/VOSHistory</a>.</p>
<p>[<a title="ref2" name="ref2"></a>2] Most, if not all, of my reviews and testing in this <span style="font-weight: bold; color: #820000">AI3</span> blog focus on open source.  That is because of the <a href="http://www.mkbergman.com//?p=315">large percentage of such tools in the semantic Web space</a>, plus the fact that I can install and test all comparable alternatives locally.  Thus, there may indeed be better performing or more functional commercial software than what I typically cover.</p>
<p>[<a title="ref3" name="ref3"></a>3] In terms of disclosure, I have no formal relationship with OpenLink Software, though I do informally participate with some OpenLink staff on some open source and open data groups of mutual interest.  I am also actively engaged in testing the company&#8217;s products in relation to other products for my own purposes.</p>
<p>[<a title="ref4" name="ref4"></a>4] An informative introduction to OpenLink and its CEO and founder, <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com" class="liexternal">Kingsley Idehen</a>, can be found in this April 28, 2006 podcast with Jon Udell,  <a href="http://weblog.infoworld.com/udell/2006/04/28.html#a1437">http://weblog.infoworld.com/udell/2006/04/28.html#a1437</a>.  Other useful OpenLink screencasts include:</p>
<ul>
<li><a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-qbe-demo1.mov">Screencast: Showing Ajax Database Connectivity and an SQL Query By Example</a> &#8212; using the OAT QBE (query-by-example) widget, this screencast shows Ajax database connectivity through through the OAT Data Access Component.  The data shows how to establish SQL table linkages and then QBE and its eventual multi-column results grid</li>
<li><a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-qbe-pivot-demo1.mov">Screencast:  Building Pivot Tables using Ajax Database Connectivity</a> &#8212; this screencast is a detailed look at how to design and create a OAT pivot table using the QBE (query-by-example) widget</li>
<li><a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-google-maps-demo1.mov">Screencast: Using the Forms Designer to Create Sophisticated Web 2.0 Mash-ups &#8211; Part I</a> &#8212; this screencast covers the actual codeless process of building a database centric Web 2.0 mashup involving maps, images, different data sources and database fields and pivot tables using the OAT Ajax forms builder</li>
<li><a href="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-yahoo-maps-demo1.mov">Screencast: Using the Forms Designer to Create Sophisticated Web 2.0 Mash-ups &#8211; Part II</a> &#8212; this second part shows using and making modifications to the Part I widget, replacing Yahoo! maps as the source over Google Maps</li>
<li><a href="http://www.openlinksw.com/weblog/kidehen@openlinksw.com/Public/Screencasts/oat-formdesigner-mashup-usage-demo1.mov">Screencast: Working with the OAT Pivot Table</a> &#8212; using the form built in Part I, this screencast shows detailed operations of the OAT pivot table including column moves, sorting and selections</li>
</ul>
<p>[<a title="ref5" name="ref5"></a>5] I am not suggesting that single-supplier solutions are unqualifiably better.  Some components will be missing, and other third-party components may be superior.  But it is also likely the case that a first, initial deployment can be up and running faster the fewer the interfaces that need to be reconciled.</p>
<p>[<a title="ref6" name="ref6"></a>6] I have to say that <a href="http://www.betaversion.org/%7Estefano/linotype/">Stefano Mazzocchi</a> comes to mind with efforts such as Apache Cocoon and &#8220;RDFizers&#8221;.</p>
<p>[<a title="ref7" name="ref7"></a>7] Thus, with ODS you get the additional benefit of having SIOC act as a kind of &#8220;gluing&#8221; ontology that provides a generic data model of Containers, Items, Item Types, and Associations / Relationships between Items). This approach ends up using RDF (via SIOC) to produce the instance data that makes the model conceptually concrete.  (According to OpenLink, this is similar to what Apple formerly used in a closed form in the days of EOF and what Microsoft is grappling with ADO.net; it is also a similar model to what is used by Freebase, Dabble, Ning, Google Base, eBay, Amazon, Facebook, Flickr, and others who use Web services in combination or not with proprietary languages to expose data.  <a href="http://journal.dajobe.org/journal/posts/2007/03/25/triplr-stuff-in-triples-out/">Dave Beckett&#8217;s</a> recently announced <a href="http://triplr.org/">Triplr</a> works in a similar manner.) This similarity of approach is why OpenLink can so readily produce RDF data from such services.</p>
<p>[<a title="ref8" name="ref8"></a>8] I think these not-yet-fully formed constructs for interacting with RDF and using SPARQL are a legacy from the early semantic Web emphasis on &#8220;machines talking to machines via data&#8221;.  While that remains a goal since it will eventually lead to autonomous agents that work in the background serving our interests, it is clear that we humans need to get intimately involved in inspecting, transforming and using the data directly.  It is really only in the past year or three that workable user interfaces for these issues have even become a focus of attention.  Paradoxically, I believe that sufficient semantic enabling of Web data to support a vision of intelligent and autonomous agents will only occur after we have innovated fun and intuitive ways for us humans to interact and manipulate that data.  Whooping it up in the data playpen will also provide tremendous emphasis to bring still-further structure to Web content.  These are actually the twin challenges of the <span style="font-style: italic">structured Web</span>.</p>
<p>[<a title="ref9" name="ref9"></a>9] Stored procedures first innovated for SQL have been abstracted to support applications written in most of the leading programming languages.  Virtuoso presently supports stored procedures or classes for SQL, Java, .Net (Mono), PERL, Python and Ruby.</p>
<p>[<a title="ref10" name="ref10"></a>10] Many relational databases have been used for storing RDF triples and graphs. Also dedicated non-relational approaches, such as using bitmap indices as primary storage medium for triples, have been implemented.  At present, there is no industry consensus on what constitutes the optimum storage format and set of indices for RDF.</p>
<p>[<a title="ref11" name="ref11"></a>11] The <a href="http://en.wikipedia.org/wiki/W3c">W3C</a> has a very informative article on <a href="http://www.w3.org/2007/03/VLDB/">RDF and traditional SQL databases</a>; also, there is a running tally of <a href="http://esw.w3.org/topic/LargeTripleStores">large triple store scaling</a>.</p>
<p>[<a title="ref12" name="ref12"></a>12] Thanks to Ted Thibodeau, Jr, of the OpenLink staff, <em>&#8220;This is basically true, but incomplete. In its Application Server role, Virtuoso can host runtime environments for PHP, Perl, Python, JSP, CLR, and others &#8212; including ASP and ASPX. Some of these are built-in; some are handled by dynamically loading local library resources. One of the bits of magic here &#8212; IIS is not required for ASP or ASPX hosting. Depending on the functionality used in the pages in question, Windows may not be necessary, either. CLR hosting may mandate Windows and Microsoft&apos;s .NET Frameworks, because Mono remains an incomplete implementation of the CLI.&#8221;  </em>Very cool.<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/355/openlink-plugs-the-gaps-in-the-structured-web/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-google-maps-demo1.mov" length="55221838" type="video/quicktime" />
<enclosure url="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-formdesigner-mashup-yahoo-maps-demo1.mov" length="22422955" type="video/quicktime" />
<enclosure url="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-qbe-demo1.mov" length="38107921" type="video/quicktime" />
<enclosure url="http://www.openlinksw.com/dataspace/%7Ekidehen/blog/public/Screencasts/oat-qbe-pivot-demo1.mov" length="13252521" type="video/quicktime" />
<enclosure url="http://www.openlinksw.com/weblog/kidehen@openlinksw.com/Public/Screencasts/oat-formdesigner-mashup-usage-demo1.mov" length="12418409" type="video/quicktime" />
		</item>
		<item>
		<title>Did You Blink?  The Structured Web Just Arrived</title>
		<link>http://www.mkbergman.com/354/did-you-blink-the-structured-web-just-arrived/</link>
		<comments>http://www.mkbergman.com/354/did-you-blink-the-structured-web-just-arrived/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 03:37:05 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Information]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Structured Web]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=354</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Did You Blink?  The <em>Structured Web</em> Just Arrived&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-04-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/354/did-you-blink-the-structured-web-just-arrived/&amp;rft.language=English"></span>

DBpedia Serves Up Real Meat and Potatoes (but Bring Your Own Knife and Fork!)
NOTE: Due to demand, I am pleased to provide this PDF version of this posting (1.4 MB) for downloading or printing. 
DBpedia is the first and largest source of structured data on the Internet covering topics of general knowledge.  You may [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Did You Blink?  The <em>Structured Web</em> Just Arrived&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-04-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/354/did-you-blink-the-structured-web-just-arrived/&amp;rft.language=English"></span>
<p><img style="width: 302px; height: 171px; float: left; margin-bottom: 5px; margin-right: 15px;" title="Meat and Potatoes" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401a_MeatPotatoes2.jpg" alt="Meat and Potatoes" /></p>
<h2>DBpedia Serves Up<span style="font-style: italic"> Real</span> Meat and Potatoes (but Bring Your Own Knife and Fork!)</h2>
<p><span style="margin-top: 12px; margin-bottom: 12px"><span style="font-size: x-small;"><strong>NOTE:</strong> <em>Due to demand, I am pleased to provide <a title="PDF Version of Posting" href="http://www.mkbergman.com/wp-content/themes/ai3/files/2007Posts/DBpedia_fromAI3Blog.pdf">this PDF version of this posting (1.4 MB)</a> for downloading or printing. </em></span></span></p>
<p><a style="font-weight: bold" href="http://dbpedia.org/">DBpedia</a> is the first and largest source of structured data on the Internet covering topics of general knowledge.  You may have not yet heard of <span style="font-weight: bold">DBpedia</span>, but you will.  Its name derives from its springboard in <a href="http://www.wikipedia.org/">Wikipedia</a>.  And it is free, growing rapidly and publicly available today.</p>
<p>With <span style="font-weight: bold">DBpedia</span>, you can manipulate and derive facts on more than 1.6 million &#8220;things&#8221; (people, places, objects, entities).  For example, you can easily retrieve a listing of prominent scientists born in the 1870s; or, with virtually no additional effort, a further filtering to all German theoretical physicists born in 1879 who have won a Nobel prize [<a href="http://www.mkbergman.com/index.php?p=354#ref1">1</a>].  <span style="font-weight: bold">DBpedia</span> is the first project chosen for showcasing by the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData">Linking Open Data</a> community of the <a href="http://esw.w3.org/topic/SweoIG">Semantic Web Education and Outreach (SWEO) interest group</a> within the <a href="http://en.wikipedia.org/wiki/W3c">W3C</a>.  That community has committed to make portions of other massive data sets &#8212; such as the <a href="http://razor.occams.info/">US Census</a>, <a href="http://www.geonames.org/">Geonames</a>, <a href="http://musicbrainz.org/">MusicBrainz</a>, <a href="http://wordnet.princeton.edu/online/">WordNet</a>, the <a href="http://www.informatik.uni-trier.de/%7Eley/db/">DBLP bibliography</a> and <a href="http://esw.w3.org/topic/TaskForces/CommunityProjects/LinkingOpenData/DataSets">many others</a> &#8212; interoperable as well.</p>
<p><span style="font-weight: bold">DBpedia</span> has been unfortunately overlooked in the buzz of the past couple weeks surrounding <a href="http://www.freebase.com/signin.html">Freebase</a>.  Luminaries such as <a href="http://www.huffingtonpost.com/esther-dyson/release-09-met_b_43167.html">Esther Dyson</a>, <a href="http://radar.oreilly.com/archives/2007/03/freebase_will_p_1.html">Tim O&#8217;Reilly</a> and <a href="http://blog.jonudell.net/2007/03/23/semantic-web-as-social-enjoyment/">others</a> have been effusive about the prospects of the pending Freebase offering.  And, while, according to O&#8217;Reilly Freebase may be &#8220;addictive&#8221; or from Dyson it may be that &#8220;Freebase is a milestone in the journey towards representing meaning in <em>computers</em>,&#8221; those have been hard assertions to judge.  Only a few have been invited (I&#8217;m not one) to test drive Freebase, now in alpha behind a sign-in screen, and reportedly also based heavily on Wikipedia.  On the other hand, <span style="font-weight: bold">DBpedia</span>, released in late January, is open for testing and demos and available today &#8212; to <span style="font-weight: bold; font-style: italic">all</span> [<a href="http://www.mkbergman.com/index.php?p=354#ref2">2</a>].</p>
<p>Please don&#8217;t misunderstand.  I&#8217;m not trying to pit one service against the other.  Both services herald a new era in the <span style="font-style: italic">structured Web</span>, the next leg on the road to the <a href="http://en.wikipedia.org/wiki/Semantic_Web">semantic Web</a>. The data from both Freebase and <span style="font-weight: bold">DBpedia</span> are being made freely available under either <a href="http://creativecommons.org/licenses/by/3.0/legalcode">Creative Commons</a> or the <a href="http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License">GNU Free Documentation License</a>, respectively.  Free and open data access is fortunately not a zero sum game &#8212; quite the opposite. Like other truisms regarding the network effects of the Internet, the more data that can be meaningfully intermeshed, the greater the value.  Let&#8217;s wish both services and all of their cousins and progeny much success!</p>
<p>Freebase may prove as important and revolutionary as some of these pundits predict &#8212; one never knows.  Wikipedia, first released in Jan. 2001 with <a href="http://en.wikipedia.org/wiki/Wikipedia:Size_of_Wikipedia">270 articles</a> and with only <a href="http://stats.wikimedia.org/EN/TablesWikipediaEN.htm">10 editors</a>, only had a mere <a href="http://en.wikipedia.org/wiki/Wikipedia:Awareness_statistics/obsolete">1000 mentions a month by July 2003</a>.  Yet today it has more than 1.7 million articles (English version) and is ranked about #10 in overall Web traffic (<a href="http://en.wikipedia.org/wiki/Special:Statistics">more here</a>).  So, while today Freebase has greater visibility, marketing savvy and buzz than <span style="font-weight: bold">DBpedia</span>, so did virtually every other entity in Jan. 2001 compared to Wikipedia in its infancy.  Early buzz is no guarantee of staying power.</p>
<p>What I <span style="font-weight: bold; font-style: italic">do</span> know is that <span style="font-weight: bold">DBpedia</span> and the catalytic role it is playing in the <a href="http://en.wikipedia.org/wiki/Open_Data">open data</a> movement is the kind of stuff from which success on the Internet naturally springs.  What I also know is that in open source content a community is required to power a promise to its potential.  Because of its promise, its open and collaborative approach, and the sheer quality of its information now, <span style="font-weight: bold">DBpedia</span> deserves your and the Web&#8217;s attention and awareness.  But, only time will tell whether <span style="font-weight: bold">DBpedia</span> is able to nurture a community or not and overcome current semantic Web teething problems not of its doing.</p>
<p style="font-weight: bold">First, Some Basics</p>
<p><span style="font-weight: bold">DBpedia</span> represents data using the <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">Resource Description Framework</a> (RDF) model, as is true for other data sources now available or being contemplated for the semantic Web.  Any data representation that uses a &#8220;triple&#8221; of <span style="font-style: italic">subject-predicate-object</span> can be expressed through the <a href="http://www.w3.org/RDF/">W3C&#8217;s standard RDF model</a>.  In such triples, subject denotes the resource, and the predicate denotes traits or aspects of the resource and expresses a relationship between the subject and the object.  (You can think of <span style="font-style: italic">subjects</span> and <span style="font-style: italic">objects</span> as nouns, <span style="font-style: italic">predicates</span> as verbs.)  Resources are given a <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier">URI</a> (as may also be given to predicates or objects that are not specified with a literal) so that there is a single, unique reference for each item.  These lookups can themselves be an individual assertion, an entire specification (as is the case, for example, when referencing the RDF or XML standards), or a complete or partial ontology for some domain or world-view.  While the RDF data is often stored and displayed using XML syntax, that is not a requirement.  Other RDF forms may include <a href="http://en.wikipedia.org/wiki/Notation_3">N3</a> or <a href="http://en.wikipedia.org/wiki/Turtle_%28syntax%29">Turtle</a> syntax, and variants of RDF also exist including <a href="http://en.wikipedia.org/wiki/RDFa">RDFa</a> and <a href="http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml">eRDF</a> (both for embedding RDF in HTML) or more structured representations such as <a href="http://en.wikipedia.org/wiki/RDFS">RDF-S</a> (for <span style="font-style: italic">schema</span>; also known as RDFS, RDFs, RDFSchema, etc.).</p>
<p>The absolutely great thing about RDF is how well it lends itself to mapping and mediating concepts from different sources into an unambiguous semantic representation (my &#8216;<span style="font-family: monospace">glad</span>&#8216; <span style="font-family: monospace">==</span> your &#8216;<span style="font-family: monospace">happy</span>&#8216; OR my &#8216;<span style="font-family: monospace">glad</span>&#8216; <span style="font-style: italic">is</span> your &#8216;<span style="font-family: monospace">glad</span>&#8216;), leading to what <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx">Kingsley Idehen</a> calls <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&amp;id=1165">&#8220;data <span style="font-style: italic">meshups</span>&#8220;</a>.  Further, with additional structure (such as through RDF-S or the various dialects of <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a>), drawing inferences and machine reasoning based on the data through more formal ontologies and descriptive logics is also within reach [<a href="http://www.mkbergman.com/index.php?p=354#ref3">3</a>].</p>
<p>While these nuances and distinctions are important to the developers and practitioners in the field, they are of little to no interest to actual users [<a href="http://www.mkbergman.com/index.php?p=354#ref4">4</a>].  But, fortunately for users, and behind the scenes, practitioners have dozens of converters to get data in whatever form it may exist in the wild such as XML or <a href="http://en.wikipedia.org/wiki/Json">JSON</a> or a myriad of other formats into RDF (or <span style="font-style: italic">vice versa</span>) [<a href="http://www.mkbergman.com/index.php?p=354#ref5">5</a>].  Using such converters for structured data is becoming pretty straightforward.  What is now getting more exciting are improved ways to extract structure from semi-structured data and Web pages or to use various <a href="http://en.wikipedia.org/wiki/Information_extraction">information extraction</a> techniques to obtain metadata or named entity structure from within unstructured data.  This is what <span style="font-weight: bold">DBpedia</span> did:  it converted all of the inherent structure within Wikipedia into RDF, which then makes it manipulable similar to a conventional database.</p>
<p>And, like <a href="http://en.wikipedia.org/wiki/Sql">SQL</a> for conventional databases, <a href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a> is now emerging as a leading query framework for RDF-based &#8220;triplestores&#8221; (that is, the unique form of databases &#8212; most often indexed in various ways to improve performance &#8212; geared to RDF triples).  Moreover, in keeping with the distributed nature of the Internet, distributed SPARQL &#8220;endpoints&#8221; are emerging, which represent specific data query points at IP nodes, the results of which can then be federated and combined.  With the emerging toolset of &#8220;<a href="http://www.mkbergman.com/index.php?p=354#ref5">RDFizers</a>&#8220;, in combination with extraction techniques, such endpoints should soon proliferate.  Thus, Web-based data integration models can either follow the <a href="http://en.wikipedia.org/wiki/Federated_query">data federation</a> approach or the consolidated <a href="http://en.wikipedia.org/wiki/Data_warehouse">data warehouse</a> approach or any combination thereof.</p>
<p>The net effect is that the tools and standards now exist such that all data on the Internet can now be structured and combined and analyzed.  This is huge.  Let me repeat:  this is <span style="font-weight: bold">HUGE</span>.  And all of us users will only benefit as practitioners continue their labors in the background.  The era of the <span style="font-style: italic">structured Web</span> is now upon us.</p>
<p><span style="font-weight: bold">A Short Intro to DBpedia</span> [<a href="http://www.mkbergman.com/index.php?p=354#ref6">6</a>]<a href="http://dbpedia.org/"><img style="border: 0px solid; width: 270px; height: 73px; float: right;" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401b_DBpedia_logo.png" alt="DBpedia Logo" hspace="5" /></a></p>
<p>The blossoming of Wikipedia has provided a serendipitous starting point to nucleate this emerging &#8220;<a href="http://www.dajobe.org/talks/xmleurope2002/">Web of data</a>&#8220;.  Like Vonnegut&#8217;s <a href="http://en.wikipedia.org/wiki/Ice_9">ice-9</a>, <span style="font-weight: bold">DBpedia</span>&#8217;s RDF representation &#8212; freely available for download and extension &#8212; offers the prospect to catalyze many semantic Web data sources and tools.  (It is also worth study why Freebase, <span style="font-weight: bold">DBpedia</span>, and a related effort called YAGO from the Max Planck Institute for Computer Science [<a href="http://www.mkbergman.com/index.php?p=354#ref7">7</a>] all are using Wikipedia as a springboard.)  The evidence that the ice crystals are forming comes from the literally hundreds of millions of new &#8220;facts&#8221; that were committed to be added as part of the open data initiative within days of <span style="font-weight: bold">DBpedia</span>&#8217;s release (see below).</p>
<p>Wikipedia articles consist mostly of free text, but also contain different types of structured information, such as <a href="http://en.wikipedia.org/wiki/Wikipedia:Infobox_templates">infobox templates</a> (an especially rich source of structure &#8212; see below), <a href="http://en.wikipedia.org/wiki/Wikipedia:Categorical_index">categorization information</a>, images, geo-coordinates and links to external Web pages.  The extraction methods are <a href="http://www.jens-lehmann.org/files/2007_wiki_extraction.pdf">described in a paper</a> from <span style="font-weight: bold">DBpedia</span> developers <a href="http://www.seas.upenn.edu/%7Eauer/">SÃ¶ren Auer</a> and <a href="http://jens-lehmann.org/">Jens Lehmann</a>.  This effort created the initial <span style="font-weight: bold">DBpedia</span> datasets, including extractions in English, German, French, Spanish, Italian, Portuguese, Polish, Swedish, Dutch, Japanese and Chinese.</p>
<p>The current extraction set is about 1.8 GB of zipped files (about 7.5 GB unzipped), consisting of an estimated 1.6 milllion entities, 8,000 relations/properties/predicates, and <span style="font-weight: bold">91 million &#8220;facts&#8221;</span> (generally equated to RDF triples) over about 15 different data files. <span style="font-weight: bold">DBpedia</span> can be downloaded as multiple datasets, with the splits and sizes in (zipped form and number of triples) shown below.  Note that each download &#8212; available directly from the <a style="font-weight: bold" href="http://dbpedia.org/">DBpedia</a> site &#8212; may also include multiple language variants:</p>
<ul>
<li><span style="font-weight: bold">Articles</span> (217 MB zipped, 5.4 M triples) &#8212; Descriptions of all 1.6 million concepts within the English version of Wikipedia including English titles and English short abstracts (max. 500 chars long), thumbnails, links to the corresponding articles in the English Wikipedia. This is the baseline <span style="font-weight: bold">DBpedia</span> file</li>
<li><span style="font-weight: bold">Extended Abstracts </span>(447 MB, 1.6 M triples) &#8212; Additional, extended English abstracts (max. 3000 chars long)</li>
<li><span style="font-weight: bold">External Links</span> (75 MB, 2.8 M triples) &#8212; Links to external web pages about a concept</li>
<li><span style="font-weight: bold">Article Categories</span> (68 MB, 5.5 M triples) &#8212; Links from concepts to categories using the <a href="http://en.wikipedia.org/wiki/SKOS">SKOS</a> vocabulary</li>
<li><span style="font-weight: bold">Additional Languages</span> (147 MB, 4 M triples) &#8212; Additional titles, short abstracts and Wikipedia article links in the 10 languages listed above</li>
<li><span style="font-weight: bold">Languages Extended Abstracts</span> (342 MB, 1.3 M triples) &#8212; Extended abstracts in the 10 languages</li>
<li><span style="font-weight: bold">Infoboxes </span>(116 MB, 9.1 M triples) &#8212; Information that has been extracted from Wikipedia infoboxes, an example of which is shown below.  There are about three-quarter million English templates with more than 8,000 properties (predicates), with music, animal and plant species, films, cities and books the most prominent types.  This category is a major source of the <span style="font-weight: bold">DBpedia</span> structure (but not total content volume):</li>
</ul>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401c_WikipediaTemplate.png','718','474');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401c_WikipediaTemplate.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 396px;" title="Example Wikipedia Infobox Template" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401c_WikipediaTemplate.png" alt="Example Wikipedia Infobox Template" align="middle" /></a><br />
<span style="font-size: xx-small;"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<ul>
<li><span style="font-weight: bold">Categories</span> (10 MB, 900 K triples) &#8212; Information regarding which concepts are a category and how categories are related</li>
<li><span style="font-weight: bold">Persons </span>(4 MB, 437 K triples) &#8212; Information on about 58,880 persons (date and place of birth etc.) represented using the <a href="http://en.wikipedia.org/wiki/FOAF">FOAF</a> vocabulary</li>
<li><span style="font-weight: bold">Links to Geonames</span> (2 MB, 213 K triples) &#8212; Links between geographic places in <span style="font-weight: bold">DBpedia</span> and data about them in the <a href="http://www.geonames.org/ontology/">Geonames database</a></li>
<li><span style="font-weight: bold">Location Types</span> (500 kb, 65 K triples) &#8212; <span style="font-family: monospace">rdf:type</span> Statements for geographic locations</li>
<li><span style="font-weight: bold">Links to DBLP</span> (10 kB, 200 K triples) &#8212; Links between computer scientists in <span style="font-weight: bold">DBpedia</span> and their publications in the <a href="http://www4.wiwiss.fu-berlin.de/dblp/">DBLP database</a></li>
<li><span style="font-weight: bold">Links to the RDF Book Mashup</span> (100 kB, 9 K triples) &#8212; Links between books in <span style="font-weight: bold">DBpedia</span> and data about them provided by the <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/bookmashup/">RDF Book Mashup</a></li>
<li><span style="font-weight: bold">Page Links</span> (335 MB, around 60 M triples) &#8212; Dataset containing internal links between <span style="font-weight: bold">DBpedia</span> instances. The dataset was created from the internal pagelinks between Wikipedia articles, potentially useful for structural analysis or data mining.</li>
</ul>
<p>Besides direct download, <span style="font-weight: bold">DBpedia</span> is also available via a public SPARQL endpoint at <a href="http://dbpedia.org/sparql">http://dbpedia.org/sparql</a> and via various query utilities (see next).</p>
<p style="font-weight: bold">Querying and Interacting with DBpedia</p>
<p>Generic RDF (semantic Web) browsers like <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/">Disco</a>, <a href="http://www.w3.org/2005/ajar/tab">Tabulator</a> or the <a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">OpenLink Data Web Browser</a> [<a href="http://www.mkbergman.com/index.php?p=354#ref8">8</a>] can be used to navigate, filter and query data across data sources.  A couple of these browsers, plus endpoints and online query services, are used below to illustrate how you can interact with the <span style="font-weight: bold">DBpedia</span> datasets.  However, that being said, it is likely that first-time users will have difficulty using portions of this infrastructure without further guidance.  While data preparation and exposure via RDF standards is progressing nicely, the user interfaces, documentation, intuitive presentation, and general knowledge for standard users to use this infrastructure are lagging.  Let&#8217;s show this with some examples, progressing from what might be called practitioner tools and interfaces to those geared more to standard users [<a href="http://www.mkbergman.com/index.php?p=354#ref9">9</a>].</p>
<p>The first option we might try is to query the data directly through <span style="font-weight: bold">DBpedia</span>&#8217;s SPARQL endpoint [<a href="http://www.mkbergman.com/index.php?p=354#ref10">10</a>].  But, since that is generally used directly by remote agents, we will instead access the endpoint via a SPARQL viewer, as shown by this example looking for &#8220;luxury cars&#8221;:</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401d_LuxuryCar.png','1255','872');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401d_LuxuryCar.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 417px;" title="SPARQL Explorer" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401d_LuxuryCar.png" alt="SPARQL Explorer" align="middle" /></a><br />
<span style="font-size: xx-small;"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>We observe a couple of things using this viewer.  First, the query itself requires using the SPARQL syntax.  And, the results are presented in a linked listing of RDF triples.</p>
<p>For practitioners, this is natural and straightforward.  Indeed, other standard viewers, now using Disco as the example, also present results in the same tabular triple format (in this case for &#8220;Paul McCartney&#8221;):</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401e_Disco1.png','1254','850');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401e_Disco1.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 407px;" title="Disco1 Image" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401e_Disco1.png" alt="Disco1 Image" align="middle" /></a><br />
<span style="font-size: xx-small;"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>While OK for practitioners, these tools pose some challenges for standard users.  First, one must know the SPARQL syntax with its SELECT statement and triples specifications.  Second, <span style="font-style: italic">where</span> the resources exist (the URIs) and the specific names of the relations (predicates) must generally be known or looked up in a separate step.  And, third, of course, the tabular triples result display is not terribly attractive and may not be sufficiently informative (since results are often the links to the resource, rather than the actual content of that resource).</p>
<p>These limits are well-known in the community; indeed, they are a reflection of RDF&#8217;s roots in machine-readable data.  However, it is also becoming apparent that humans need to inspect and interact with this stuff as well, leading to consequent attempts to make interfaces more attractive and intuitive.  One of the first to do so for <span style="font-weight: bold">DBpedia</span> is the UniversitÃ¤t Leipzig&#8217;s <a href="http://wikipedia.3ba.se/">Query Wikipedia</a>, an example of an online query service.  In this first screen, we see that the user is shielded from much of the SPARQL syntax via the three-part (<span style="font-style: italic">subject-predicate-object</span>) query entry form:</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401f_Leipzig2.png','1255','719');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401f_Leipzig2.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 344px;" title="Query Wikipedia Space Missions Query" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401f_Leipzig2.png" alt="Query Wikipedia Space Missions Query" align="middle" /></a><br />
<span style="font-size: xx-small;"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>We also see that the results can be presented in a more attractive form including image thumbnails:</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401g_Leipzig1.png','1255','864');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401g_Leipzig1.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 413px;" title="Query Wikipedia Space Missions Results" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401g_Leipzig1.png" alt="Query Wikipedia Space Missions Results" align="middle" /></a><br />
<span style="font-size: xx-small;"> [<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>Use of dropdown lists could help this design still further.  Better tools and interface design is an active area of research and innovation (see below).</p>
<p>However, remember the results of such data queries are themselves machine readable, which of course means that the results can be embedded into existing pages and frameworks or combined (&#8221;<span style="font-style: italic">meshed up</span>&#8220;) with still other data in still other presentation and visualization frameworks [<a href="http://www.mkbergman.com/index.php?p=354#ref11">11</a>].  For example, here is one <span style="font-weight: bold">DBpedia</span> results set on German state capitals presented in the familiar Wikipedia (actually, <a href="http://www.mediawiki.org/">MediaWiki</a>) format:</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401h_GermanCapitals.png','1255','731');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401h_GermanCapitals.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 349px;" title="German Capitals in Wikipedia" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401h_GermanCapitals.png" alt="German Capitals in Wikipedia" align="middle" /></a></div>
<div><span style="font-size: xx-small;">[<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>Or, here is a representative example of what <span style="font-weight: bold">DBpedia</span> data might look like when the addition of the planned <a href="http://www.geonames.org/">Geonames </a>dataset is completed:</p>
<div><a onclick="ps_imagemanager_popup(this.href,'http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401i_Geonames.png','1256','856');return false" href="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401i_Geonames.png" onfocus="this.blur()"><img style="border: 0px solid; width: 600px; height: 409px;" title="Geonames Example" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070401i_Geonames.png" alt="Geonames Example" align="middle" /></a></div>
<div><span style="font-size: xx-small;">[<span style="font-style: italic">Click on image for full-size pop-up</span>]</span></div>
<p>Some of these examples, indeed <span style="font-weight: bold">because of the value of the large-scale RDF data that </span><span style="font-weight: bold">DBpedia</span> now brings, begin to glaringly expose prior weaknesses in tools and user interfaces that were hidden when only applied to toy datasets.  With the massive expansion to still additional datasets, plus the interface innovations of Freebase and <a href="http://pipes.yahoo.com/pipes/">Yahoo! Pipes</a> and elsewhere, we should see rapid improvements in presentation and usability.</p>
<p style="font-weight: bold">Extensibility and Relation to Open Data</p>
<p>In addition to the Wikipedia, <a href="http://www4.wiwiss.fu-berlin.de/dblp/">DBLP bibliography</a> and <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/bookmashup/index.html">RDF book mashup</a> data already in <span style="font-weight: bold">DBpedia</span>, significant commitments to new datasets and tools have been quick to come, including the addition of full-text search [<a href="http://www.mkbergman.com/index.php?p=354#ref12">12</a>], with many more candidate datasets also identified.  A key trigger for this interest was the acceptance of the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData">Linking Open Data</a> project, itself an outgrowth of <span style="font-weight: bold">DBpedia</span> proposed by <a href="http://www.bizer.de/">Chris Bizer</a> and <a href="http://richard.cyganiak.de/">Richard Cyganiak</a>, as one of the kick-off community projects of the <a href="http://en.wikipedia.org/wiki/W3c">W3C</a>&#8217;s <a href="http://esw.w3.org/topic/SweoIG">Semantic Web Education and Outreach (SWEO) interest group</a>.  Some of the new datasets presently being integrated into the system &#8212; with many notable advocates standing behind them &#8212; include:</p>
<ul>
<li><a href="http://www.geonames.org/">Geonames</a> data, including its ontology and 6 million geographical places and features, including implementation of RDF data services</li>
<li>700 million triples of U.S. Census data from <a href="http://razor.occams.info/">Josh Tauberer</a></li>
<li><a href="http://revyu.com/">Revyu.com</a>, the RDF-based reviewing and rating site, including its links to FOAF, the <a href="http://purl.org/stuff/rev#">Review Vocab</a> and Richard Newman&#8217;s <a href="http://www.holygoat.co.uk/owl/redwood/0.1/tags/">Tag Ontology</a></li>
<li>The &#8220;<a href="http://www.mkbergman.com/index.php?p=354#ref5">RDFizers</a>&#8221; from MIT Simile Project (not to mention other tools), plus 50 million triples from the MIT Libraries catalog covering about a million books</li>
<li><a href="http://www.eionet.europa.eu/gemet">GEMET</a>, the GEneral Multilingual Environmental Thesaurus of the European Environment Agency</li>
<li>And, <a href="http://wordnet.princeton.edu/">WordNet</a> through the <a href="http://www.mkbergman.com/index.php?p=354#ref7">YAGO</a> project, and its potential for an improved hierarchical ontology to the Wikipedia data.</li>
</ul>
<p>Additional candidate datasets of interest have also been identified by the SWEO interest group and can be found on <a href="http://esw.w3.org/topic/TaskForces/CommunityProjects/LinkingOpenData/DataSets">this page</a>:</p>
<ul>
<li><a href="http://www.bioontology.org/wiki/index.php/OBD:SPARQL-GO">Gene Ontology</a> database and its 6 million annotations</li>
<li><a href="http://www.bioontology.org/wiki/index.php/OBD:SPARQL-InSitu">Gene fruitfly embryogenesis images</a> from the Berkeley Drosophila Genome Project</li>
<li><a href="http://roller.blogdns.net:2020/">Roller Blog</a> entries using the Atom/OWL vocabulary</li>
<li>Various semantic Web interest group and conference materials</li>
<li>Various <a href="http://rdfweb.org/topic/DataSources">FOAF-enabled profiles</a></li>
<li>The <a href="http://beta.uniprot.org/">UniProt</a> protein database with its 300 million triples</li>
<li><a href="http://openguides.org/">OpenGuides</a>, a network of wiki-based city guides</li>
<li><a href="http://purl.org/dbtune/">dbtune</a>, an RDF-enabled version of the <a href="http://magnatune.com/">Magnatune</a> music database using the Music Ontology</li>
<li>The <a href="http://esw.w3.org/topic/SkosDev/DataZone">SKOS Data Zone</a></li>
<li>Other <a href="http://simile.mit.edu/repository/datasets/index.html">MIT Simile data collections</a>, including the CIA&#8217;s World Factbook, Library of Congress&#8217; Thesaurus of Graphic Materials, National Cancer Institute&#8217;s cancer thesaurus, W3C&#8217;s technical reports</li>
<li>The RDF version of the <a href="http://rdf.dmoz.org/">DMOZ Open Directory Project</a></li>
<li><a href="http://www.govtrack.us/source.xpd">GovTrack.us</a> of U.S. Congress legislator and voting records</li>
<li><a href="http://chefmoz.org/rdf.html">Chef Moz</a> restaurant and review guides from DMOZ</li>
<li><a href="http://doapstore.org/">DOAP Store</a> and its DOAP project descriptions, and</li>
<li><a href="http://musicbrainz.org/">MusicBrainz</a>.</li>
</ul>
<p>Note the richness within music and genetics, two domains that have been early (among others not yet listed) to embrace semantic Web approaches.  Clearly, this listing, itself only a few weeks old, will grow rapidly.  And, as has been noted, the availability of a wide variety of RDFizers and other tools should cause such open data to continue to grow explosively.</p>
<p>There are also tremendous possibilities for different presentation formats of the results data, as the MediaWiki and Geonames examples above showed.  Presentation options include calendars, timelines, lightweight publishing systems (such as <a href="http://simile.mit.edu/wiki/Exhibit">Exhibit</a>, which already has a <a href="http://www4.wiwiss.fu-berlin.de/exhibit/persons2.html"><span style="font-weight: bold">DBpedia</span> example</a>), maps, data visualizations, PDAs and mobile devices, notebooks and annotation systems.</p>
<p style="font-weight: bold">Current Back-end Infrastructure</p>
<p>The online version of <span style="font-weight: bold">DBpedia</span> and its SPARQL endpoint is managed by the open source <a href="http://www.openlinksw.com/virtuoso/">Virtuoso</a> middleware on a server provided by <a href="http://www.openlinksw.com/">OpenLink Software</a>.  This software also hosts the various third-party browsers and query utilities noted above.  These OpenLink programs themselves are some of the more remarkable tools available to the semantic Web community, are open source, and are also very much &#8220;under the radar.&#8221;</p>
<p>Just as Wikipedia helps provide the content grist for springboarding the <span style="font-style: italic">structured Web</span>, such middleware and conversion tools are another part of the new magic essential to what is now being achieved via <span style="font-weight: bold">DBpedia</span> and Freebase.  I will be discussing further the impressive OpenLink Software tools and back-end infrastructure in detail in an <a href="http://www.mkbergman.com//?p=355">upcoming posting</a>.</p>
<p style="font-weight: bold">Structured Data:  Foundation to the Road of the Semantic Web</p>
<p>We thus have an exciting story of a new era &#8212; the <span style="font-style: italic">structured Web</span> &#8212; arising from the RDF exposure of large-scale structured data and its accompanying infrastructure of converters, middleware and datastores.  This <span style="font-style: italic">structured Web</span> provides the very foundational roadbed underlying the semantic Web.</p>
<p>Yet, at the same time as we begin traveling portions of this road, we can also see more clearly some of the rough patches in the tools and interfaces needed by non-practitioners.  I suspect much of the excitement deriving from both Yahoo! Pipes and Freebase comes from the fact that their interfaces are &#8220;fun&#8221; and &#8220;addictive.&#8221;  (Excitement also comes from allowing users with community rights to mold ontologies or to add structured content of their own.)  Similar innovations will be needed to smooth over other rough spots in query services and use of the SPARQL language, as well as in lightweight forms of results and dataset presentation.  And still even greater challenges in mediating semantic heterogeneities lie much further down this road, which is a topic for another day.</p>
<p>I suspect this new era of the <span style="font-style: italic">structured Web</span> also signals other transitions and changes.  Practitioners and the researchers who have long labored in the laboratories of the semantic Web need to get used to business types, marketers and promoters, and (even) the general public crowding into the room and jostling the elbows.  Explication, documentation and popularization will become more important; artists and designers need to join the party.  While we&#8217;ve only seen it in limited measure to date, venture interest and money will also begin flooding into the room, changing the dynamics and the future in unforeseeable ways.  I suspect many who have worked the hardest to bring about this exciting era may look back ruefully and wonder why they ever despaired that the broader world didn&#8217;t &#8220;get it&#8221; and why it was taking so long for the self-evident truth of the semantic Web to become real.  It now is.</p>
<p>But, like all <a href="http://www.wsu.edu/%7Edee/REV/RADICAL.HTM">Thermidorean reactions</a>, this, too, shall pass.  Whether we have to call it &#8220;Web 3.0&#8243; or &#8220;Web 4.0&#8243; or even &#8220;<a href="http://www.mkbergman.com//?p=248">Web 98.6</a>&#8220;, or any other such silliness for a period of time in order to broaden its appeal, we should accept this as the price of progress and do so.  We really have the standards and tools at hand; we now need to get out front as quickly as possible to get the RDFized data available.  We are at the <a href="http://en.wikipedia.org/wiki/Tipping_point">tipping point</a> for accelerating the network effects deriving from structured data.  With just a few more blinks of the eye, the semantic Web will have occurred before we know it.</p>
<p style="font-weight: bold">DBpedia Is Another Deserving Winner</p>
<p>The <span style="font-weight: bold">DBpedia</span> team of <a href="http://www.bizer.de/">Chris Bizer</a>, <a href="http://richard.cyganiak.de/">Richard Cyganiak</a> and <a href="mailto:gkob@gmx.de">Georgi Kobilarov</a> (Freie UniversitÃ¤t Berlin), of <a href="http://www.seas.upenn.edu/%7Eauer/"> </a><a href="http://www.seas.upenn.edu/%7Eauer/"> Sören Auer</a>, <a href="http://jens-lehmann.org/">Jens Lehmann</a> and <a href="mailto:schorsus@gmx.de">Jörg Schüppel</a> (Universität Leipzig), and of <a href="http://www.openlinksw.com/dataspace/oerling">Orri Erling</a> and <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com">Kingsley Idehen</a> (OpenLink Software) all deserve our thanks for showing how &#8220;RDFizing&#8221; available data and making it accessible as a SPARQL endpoint can move from toy semantic Web demos to actually useful data.  Chris and Richard also deserve kudos for proposing the Linking Open Data initiative with <span style="font-weight: bold">DBpedia</span> as its starting nucleus.  I thus gladly announce <span style="font-weight: bold">DBpedia</span> as a deserving winner of the (highly coveted, to the small handful who even know of it! <img src='http://www.mkbergman.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) <span style="color: #820000;"><strong>AI3</strong></span> <em><strong>Jewels &amp; Doubloons</strong></em> award.</p>
<table border="0" cellpadding="5" align="center" bgcolor="#f2f5f8">
<tbody>
<tr>
<td><a href="http://www.mkbergman.com//?p=338"><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /></a></td>
<td><a href="http://www.mkbergman.com//?p=338"><em><strong>An  <span style="color: #820000;">AI3 </span>Jewels &amp; Doubloons Winner</strong></em></a></td>
</tr>
</tbody>
</table>
<div style="margin-top: 10px; margin-bottom: 10px">
<hr style="height: 1px; width: 33%; margin-left: 0px; margin-right: auto;" /></div>
<p>[<a title="ref1" name="ref1"></a>1] BTW, the answer is <a href="http://en.wikipedia.org/wiki/Albert_einstein">Albert Einstein</a> and <a href="http://en.wikipedia.org/wiki/Max_von_Laue">Max von Laue</a>; another half dozen German physicists received Nobels within the surrounding decade.</p>
<p>[<a title="ref2" name="ref2"></a>2]  Moreover, just for historical accuracy, <span style="font-weight: bold">DBpedia</span> was also the first released, being announced on January 23, 2007.</p>
<p>[<a title="ref3" name="ref3"></a>3]  It is this potential ultimate vision of autonomous &#8220;intelligent&#8221; agents or bots working on our behalf getting and collating relevant information that many confusedly equate to what is meant to constitute the &#8220;Semantic Web&#8221; (both capitalized).  While the vision is useful and reachable, most semantic Web researchers understand the semantic Web to be a basic infrastructure, followed by an ongoing process to publish and harness more and more data in machine-processable ways.  In this sense, the &#8220;semantic Web&#8221; can be seen more as a <span style="font-style: italic">journey</span> than a <span style="font-style: italic">destination</span>.</p>
<p>[<a title="ref4" name="ref4"></a>4] Like plumbing, the semantic Web is best hidden and only important as a means to an end.  The originators of Freebase and other entities beginning to tap into this infrastructure intuitively understand this.  Some of the challenges of education and outreach around the semantic Web are to emphasize benefits and delivered results rather than describing the washers, fittings and sweated joints of this plumbing.</p>
<p>[<a title="ref5" name="ref5"></a>5] A great listing of such &#8220;<a href="http://simile.mit.edu/wiki/RDFizers">RDFizers</a>&#8221; can be found on <a href="http://simile.mit.edu/">MIT&#8217;s Simile</a> Web site.</p>
<p>[<a title="ref6" name="ref6"></a>6] This introduction to <span style="font-weight: bold">DBpedia</span> borrows liberally from its <a href="http://dbpedia.org/">own Web site</a>; please consult it for more up-to-date, complete, and accurate details.</p>
<p>[<a title="ref7" name="ref7"></a>7] YAGO (&#8221;yet another great ontology&#8221;) was developed by <a href="http://www.mpii.mpg.de/%7Esuchanek">Fabian M. Suchanek</a>, <a href="http://www.mpii.mpg.de/%7Ekasneci">Gjergji Kasneci</a> and <a href="http://www.mpii.mpg.de/%7Eweikum">Gerhard Weikum</a> at the Max-Plack-Institute for Computer Science at Saarbrücken University.  A <a href="http://www.mpi-inf.mpg.de/%7Esuchanek/publications/www2007.pdf">WWW 2007 paper</a> describing the project is available, plus there is an <a href="http://www.mpi-inf.mpg.de/%7Esuchanek/downloads/yago/">online query point</a> for the YAGO service and the <a href="http://www.mpi-inf.mpg.de/%7Esuchanek/downloads/yago/yago.zip">data can be downloaded</a>.  YAGO combines Wikipedia and WordNet to derive a rich hierarchical ontology with high precision and recall.  The system contains only 14 relations (predicates), but they are more specific and not directly comparable to the <span style="font-weight: bold">DBpedia</span> properties.  YAGO also uses a slightly different data model, convertible to RDF, that has some other interesting aspects.</p>
<p>[<a title="ref8" name="ref8"></a>8] See also this <span style="font-weight: bold; color: #820000">AI3</span> blog&#8217;s <a style="font-weight: bold" href="http://www.mkbergman.com//?page_id=325">Sweet Tools</a> and sort by browser to see additional candidates.</p>
<p>[<a title="ref9" name="ref9"></a>9] A nice variety of other query examples in relation to various tools is available from the <a style="font-weight: bold" href="http://dbpedia.org/">DBpedia</a> site.</p>
<p>[<a title="ref10" name="ref10"></a>10] According to the <a href="http://wiki.ontoworld.org/index.php/SPARQL_endpoint">Ontoworld wiki</a>, &#8220;A SPARQL endpoint is a conformant SPARQL protocol service as defined in the <a title="SPROT" href="http://wiki.ontoworld.org/wiki/SPROT">SPROT</a> specification. A SPARQL endpoint enables users (human or other) to query a knowledge base via the SPARQL language. Results are typically returned in one or more machine-processable formats. Therefore, a SPARQL endpoint is mostly conceived as a machine-friendly interface towards a knowledge base.&#8221;</p>
<p>[<a title="ref11" name="ref11"></a>11] Please refer to the <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/toolkits/index.htm">Developers Guide to Semantic Web Toolkits</a> or <a style="font-weight: bold" href="http://www.mkbergman.com//?page_id=325">Sweet Tools</a> to find a development toolkit in your preferred programming language to process <span style="font-weight: bold">DBpedia</span> data.</p>
<p>[<a title="ref12" name="ref12"></a>12] Actually, the pace of this data increase is amazing.  For example, in the short couple of days I was working on this write-up, I received an email from <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx">Kingsley Idehen</a> noting that OpenLink Software had created another access portal to the data that now included <span style="font-weight: bold">DBpedia</span>, 2005 US Census Data, all of the data crawled by <a href="http://pingthesemanticweb.com/">PingTheSemanticWeb</a>, and Musicbrainz (see above), plus full-text indexing of same!  BTW, this broader release can be found at <a href="http://dbpedia2.openlinksw.com:8890/isparql">http://dbpedia2.openlinksw.com:8890/isparql</a>. Whew!  It&#8217;s hard to keep up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/354/did-you-blink-the-structured-web-just-arrived/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Jewels &amp; Doubloons II:  Why Do We Miss this Stuff?</title>
		<link>http://www.mkbergman.com/342/jewels-doubloons-ii-why-do-we-miss-this-stuff/</link>
		<comments>http://www.mkbergman.com/342/jewels-doubloons-ii-why-do-we-miss-this-stuff/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 16:06:26 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Information]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Searching]]></category>
		<category><![CDATA[Semantic Web Tools]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=342</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Jewels &#038; Doubloons II:  Why Do We Miss this Stuff?&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Searching&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-03-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/342/jewels-doubloons-ii-why-do-we-miss-this-stuff/&amp;rft.language=English"></span>

If Everyone Could Find These Tools, We&#8217;d All be Better Off
About a month ago I announced my   Jewels &#038; Doubloons awards for innovative software tools and developments, most often ones that may be somewhat obscure.  In the announcement, I noted that our modern open-source software environment is:
 &#8220;&#8230; literally strewn with jewels, [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Jewels &#038; Doubloons II:  Why Do We Miss this Stuff?&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Searching&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-03-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/342/jewels-doubloons-ii-why-do-we-miss-this-stuff/&amp;rft.language=English"></span>
<p><img vspace="0" hspace="5" align="left" alt="Jewels &#038; Doubloons" title="Jewels &#038; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jewels_doubloons_sml.png" /></p>
<p><font color="#820000"><strong>If Everyone Could Find These Tools, We&#8217;d All be Better Off</strong></font></p>
<p>About a <a title="Jewels &#038; Doubloons" href="http://www.mkbergman.com/?p=338">month ago I announced</a> my <img align="bottom" alt="Jewels &#038; Doubloons" title="Jewels &#038; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" />  <em><strong>Jewels &#038; Doubloons</strong></em> awards for innovative software tools and developments, most often ones that may be somewhat obscure.  In the announcement, I noted that our modern open-source software environment is:</p>
<blockquote><p><em> &#8220;&#8230; literally strewn with jewels, pearls and doubloons &#8212; tremendous riches based on work that has come before &#8212; and all we have to do is take the time to look, bend over, investigate and pocket those riches.&#8221;</em></p></blockquote>
<p>That entry begged the question of why this value is often overlooked in the first place.  If we know it exists, why do we continue to miss it?</p>
<p>The answers to this simple question are surprisingly complex.  The question is one I have given much thought to, since the benefits from building off of existing foundations are manifest.  I think the reasons for why we so often miss these valuable, and often obscure, tools of our profession range from ones of habit and culture to weaknesses in today&#8217;s search.  I will take this blog&#8217;s <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> listing of 500 semantic Web and -related tools as an illustrative endpoint of what a complete listing of such tools in a given domain might look like (not all of which are jewels, of course!), including the difficulties of finding and assembling such listings.  Here are some reasons:</p>
<p><strong>Search Sucks &#8212; A Clarion Call for Semantic Search</strong></p>
<p>I recall late in 1998 when I abandoned my then-favorite search engine, <a title="AltaVista" href="http://www.altavista.com/">AltaVista</a>, for the new <a title="Google" href="http://www.google.com">Google</a> kid on the block and its powerful Page Ranking innovation.  But that was tens of billions of documents ago, and I now find all the major search engines to again be suffering from poor results and information overload.</p>
<p>Using the context of <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong>, let&#8217;s pose some keyword searches in an attempt to find one of the specific annotation tools in that listing, <a title="Annozilla" href="http://annozilla.mozdev.org/">Annozilla</a>.  We&#8217;ll also assume we don&#8217;t know the name of the product (otherwise, why search?).  We&#8217;ll also use multiple search terms, and since we know there are multiple tool types in our category, we will also search by sub-categories.</p>
<p>In a first attempt using <font face="courier new,courier">annotation software mozilla</font>, we do not find Annozilla in the first 100 results.  We try adding more terms, such as <font face="courier new,courier">annotation software mozilla &#8220;semantic web&#8221;</font>, and again it is not in the first 100 results.</p>
<p>Of course, this is a common problem with keyword searches when specific terms or terms of art may not be known or when there are many variants.  However, even if we happened to stumble upon one specific phrase used to describe Annozilla, <font face="courier new,courier">&#8220;web annotation tool&#8221;</font>, while we do now get a Google result at about position #70, it is also not for the specific home site of interest:</p>
<div style="text-align: center"><img alt="Google Results - 1" title="Google Results - 1" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070319b_AnnozillaGoogle1.gif" /></div>
<p>Now, we could have entered <font face="courier new,courier">annozilla</font> as our search term, assuming somehow we now knew it as a product name, which <em><strong>does</strong></em> result in getting the target home page as result #1.  But, because of automatic summarization and choices made by the home site, even that description is also a bit unclear as to whether this is a tool or not:</p>
<div style="text-align: center"><img alt="Google Results - 2" title="Google Results - 2" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070319c_AnnozillaGoogle2.gif" /></div>
<p>Alternatively, had we known more, we could have searched on <font face="courier new,courier"><a title="Annotea" href="http://www.annotea.org/">Annotea</a> Mozilla</font> and gotten pretty good results, since that is what Annozilla is, but that presumes a knowledge of the product we lack.</p>
<p>Standard search engines actually now work pretty well in helping to find stuff for which you already know a lot, such as the product or company name.  It is when you don&#8217;t know these things that the weaknesses of conventional search are so evident.</p>
<p>Frankly, were our content to be specified by very minor amounts of structure (often referred to as &#8220;facets&#8221;) such as <font face="courier new,courier"><strong>product</strong></font> and <font face="courier new,courier"><strong>category</strong></font>, we could cut through this clutter quickly and get to the results we wanted.  Better still, if we could also specify only listings added since some prior <font face="courier new,courier"><strong>date</strong></font>, we could also limit our inspections to new tools since our last investigation.  It is this type of structure that characterizes the lightweight <a title="Exhibit" href="http://simile.mit.edu/wiki/Exhibit">Exhibit</a> database and publication framework underlying <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> itself, as its listing for Annozilla shows:</p>
<div style="text-align: center"><img alt="Structured Results" title="Structured Results" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070319a_AnnozillaStructured.gif" /></div>
<p>The limitations of current unstructured search grow daily as Internet content volumes grows.</p>
<p><strong>We Don&#8217;t Know Where to Look</strong></p>
<p>The lack of semantic search also relates to the problem of not knowing where to look, and derives from the losing trade-offs of <strong>keywords</strong> <em>v.</em> <strong>semantics</strong> and <strong>popularity</strong> <em>v.</em> <strong>authoritativeness</strong>.  If, for example, you look for <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> on Google using <font face="courier new,courier">&#8220;semantic web&#8221; tools</font>, you will find that the <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> listing only appears at position #11 with a dated listing, even though arguably it has the most authoritative listing available.  This is because there are more popular sites than the <font color="#820000"><strong>AI3</strong></font> site, Google tends to cluster multiple site results using the most popular &#8212; and generally, therefore, older (250 <em>v.</em> 500 tools in this case!) &#8212; page for that given site, and the blog title is used in preference to the posting title:</p>
<div style="text-align: center"><img width="583" height="77" alt="Google Sweet Tools" title="Google Sweet Tools" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2007Posts/070319d_SweetToolsGoogle.gif" /></div>
<p>Semantics are another issue.  It is important, in part, because you might enter the search term <font face="courier new,courier">product</font> or <font face="comic sans ms,sand">products</font> or <font face="courier new,courier">software</font> or <font face="courier new,courier">applications</font>, rather than &#8216;<font face="courier new,courier">tools</font>&#8216;, which is the standard description for the <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> site.  The current state of keyword search is to sometimes allow plural and single variants, but not synonyms or semantic variants.  The searcher must thus frame multiple queries to cover all reasonable prospects.  (If this general problem is framed as one of the semantics for all possible keywords and all possible content, it appears quite large.  But remember, with facets and structure it is really those dimensions that best need semantic relationships &#8212; a more tractable problem than the entire content.)</p>
<p><strong>We Don&#8217;t Have Time</strong></p>
<p>Faced with these standard search limits, it is easy to claim that repeated searches and the time involved are not worth the effort.  And, even if somehow we could find those obscure candidate tools that may help us better do our jobs, we still need to evaluate them and modify them for our specific purposes.  So, as many claim, these efforts are not worth our time.  Just give me a clean piece of paper and let me design what we need from scratch.  But this argument is total bullpucky.</p>
<p>Yes, search is not as efficient as it should be, but our jobs involve information, and finding it is one of our essential work skills.  Learn how to search effectively.</p>
<p>The time spent in evaluating leading candidates is also time well spent.  Studying code is one way to discern a programming answer.  Absent such evaluation, how does one even craft a coded solution?  No matter how you define it, anything but the most routine coding tasks requires study and evaluation.  Why not use existing projects as the learning basis, in addition to books and Internet postings?  If, in the process, an existing capability is found upon which to base needed efforts, so much the better.</p>
<p>The excuse of not enough time to look for alternatives is, in my experience, one of laziness and attitude, not a measured evaluation of the most effective use of time.</p>
<p><strong>Concern Over the Viral Effects of Certain Open Source Licenses</strong></p>
<p>Enterprises, in particular, have legitimate concerns in the potential &#8220;viral&#8221; effects of mixing certain <a title="Open Source Licenses" href="http://en.wikipedia.org/wiki/List_of_software_licenses">open-source licenses</a> such as GPL with licensed proprietary software or internally developed code.  Enterprise developers have a professional responsibility to understand such issues.</p>
<p>That being said, my own impression is that many open-source projects understand these concerns and are moving to more enlightened mix-and-match licenses such as Eclipse, Mozilla or Apache.  Also, in virtually any given application area, there is also a choice of open-source tools with a diversity of licensing terms.  And, finally, even for licenses with commercial restrictions, many tools can still be valuable for internal, non-embedded applications or as sources for code inspection and learning.</p>
<p>Though the license issue is real when it comes to formal deployment and requires understanding of the issues, the fact that some open source projects <em><strong>may</strong></em> have some use limitations is no excuse to not become familiar with the current tools environment.</p>
<p><strong>We Don&#8217;t Live in the Right Part of the World</strong></p>
<p>Actually, I used to pooh-pooh the idea that one needed to be in one of the centers of software action &#8212; say, Silicon Valley, Boston, Austin, Seattle, Chicago, etc. &#8212; in order to be effective and on the cutting edge.  But I have come to embrace a more nuanced take on this.  There <u><em><strong>is</strong></em></u> more action and more innovation taking place in certain places on the globe.  It is highly useful for developers to be a part of this culture.  General exposure, at work and the watering hole, is a great way to keep abreast of trends and tools.</p>
<p>However, even if you do not work in one of these hotbeds, there are still means to keep current; you just have to work at it a bit harder.  First, you can attend relevant meetings.  If you live outside of the action, that likely means travel on occasion.  Second, you should become involved in relevant open source projects or other dynamic forums.  You will find that any time you need to research a new application or coding area, that the greater familiarity you have with the general domain the easier it will be for you to get current quickly.</p>
<p><strong>We Have Not Been Empowered to Look</strong></p>
<p><a title="Dilbert Comic" href="http://www.dilbert.com/comics/dilbert/archive/">Dilbert</a>, cubes and big bureaucracies aside, while it may be true that some supervisors are clueless and may not do anything active to support tools research, that is no excuse.  Workers may wait until they are &#8220;empowered&#8221; to take initiative; professionals, in the true sense of the word, take initiative naturally.</p>
<p>Granted, it is easier when an employer provides the time, tools, incentives and rewards for its developers to stay current.  Such enlightened management is a hallmark of adaptive and innovative organizations.  And it is also the case that if your organization is not supporting research aims, it may be time to get that resumÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ Ãƒâ€šÃ‚Â© up to date and circulated.</p>
<p>But knowledge workers today should also recognize that responsibility for professional development and advancement rests with them.  It is likely all of us will work for many employers, perhaps even ourselves, during our careers.  It is really not that difficult to find occasional time in the evenings or the weekend to do research and keep current.</p>
<p><strong>If It&#8217;s Important, Become an Expert</strong></p>
<p>One of the attractions of software development is the constantly advancing nature of its technology, which is truer than ever today.  Technology generations are measured in the range of five to ten years, meaning that throughout an expected professional lifetime of say, about 50 years, you will likely need to remake yourself many times.</p>
<p>The &#8220;experts&#8221; of each generation generally start from a clean slate and also re-make themselves.  How do they do so and become such?  Well, they embrace the concept of lifelong learning and understand that expertise is solely a function of commitment and time.</p>
<p>Each transition in a professional career &#8212; not to mention needs that arise in-between &#8212; requires getting familiar with the tools and techniques of the field.  Even if search tools were perfect and some &#8220;expert&#8221; out there had assembled the best listing of tools available, they can all be better characterized and understood.</p>
<p><strong>It&#8217;s Mindset, Melinda!</strong></p>
<p>Actually, look at all of the reasons above.  They all are based on the premise that we have completely within our own lights the ability and responsibility to take control of our careers.</p>
<p>In my professional life, which I don&#8217;t think is all that unusual, I have been involved in a wide diversity of scientific and technical fields and pursuits, most often at some point being considered an &#8220;expert&#8221; in a part of that field.  The actual excitement comes from the learning and the challenges.  If you are committed to what is new and exciting, there is much room for open-field running.</p>
<p>The real malaise to avoid in any given career is to fall into the trap of &#8220;not enough time&#8221; or &#8220;not part of my job.&#8221;  The real limiter to your profession is not time, it is mindset.  And, fortunately, that is totally within your control.</p>
<p><strong>Gathering in the Riches </strong></p>
<p>Since each new generation builds on prior ones, your time spent learning and becoming familiar with the current tools in your field will establish the basis for that next change.  If more of us had this attitude, the ability for each of us to leverage whatever already exists would be greatly improved.  The riches and rewards are waiting to be gathered.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/342/jewels-doubloons-ii-why-do-we-miss-this-stuff/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firebug from the Horse&#8217;s Mouth</title>
		<link>http://www.mkbergman.com/345/firebug-from-the-horses-mouth/</link>
		<comments>http://www.mkbergman.com/345/firebug-from-the-horses-mouth/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 16:40:21 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=345</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Firebug from the Horse&#8217;s Mouth&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-03-09&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/345/firebug-from-the-horses-mouth/&amp;rft.language=English"></span>
Firebug is hardly a secret weapon for aiding serious JavaScript development, but effectively learning what it is and how it works has been somewhat of a secret.  That is, until now.
Firebug is a Firefox add-on that integrates development tools to edit, debug, and monitor CSS, HTML, and JavaScript live in any Web page.  [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Firebug from the Horse&#8217;s Mouth&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-03-09&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/345/firebug-from-the-horses-mouth/&amp;rft.language=English"></span>
<p><a title="Firebug" href="http://www.getfirebug.com/"><img hspace="5" border="0" align="left" src="http://www.mkbergman.com/wp-content/uploads/2007Posts/070309a_Firebug.png" /></a><a title="Firebug" href="http://www.getfirebug.com/">Firebug</a> is hardly a secret weapon for aiding serious JavaScript development, but effectively learning what it is and how it works has been somewhat of a secret.  That is, until now.</p>
<p>Firebug is a <a title="Firebug Firefox Add-on" href="https://addons.mozilla.org/firefox/1843/">Firefox add-on</a> that integrates development tools to edit, debug, and monitor CSS, HTML, and JavaScript live in any Web page.  You can inspect and edit HTML, tweak CSS and styles, visualize CSS metrics with DOM highlighting, monitor page and JavaScript loading, debug and profile JavaScript, execute JavaScript on the fly and log its functions, quickly find errors, and explore the DOM.  There is no more powerful tool to explain to you what is going on within your browser.</p>
<p>But the problem to date has been discovering and understanding many of the rich aspects of this tool. Firebug&#8217;s innovative developer, <a href="http://joehewitt.com/">Joe Hewitt</a>, is shown in this 48-minute screencast to Yahoo! developers about a month ago:</p>
<p align="center"><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1755924"><img width="178" height="164" border="0" align="middle" alt="Joe Hewitt introduces Firebug to a developer audience at Yahoo!." src="http://us.i1.yimg.com/us.yimg.com/i/ydn/yuiweb/img/hewitt-firebug1.jpg" /></a></p>
<p><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1755924"> </a></p>
<p align="center"><small>Source: <a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1755924">Yahoo! Video</a> (Flash) | <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/hewitt-firebug.mp4">download.yahoo.com</a> (MP4; recommended)</small></p>
<p>This video provides a real power user&#8217;s tour of the recently released version 1.0 of Firebug. It is a must-see for Web developers.  The download is advisable to better see Joe&#8217;s screen examples.</p>
<p>Joe is a Mozilla developer, who also wrote the original Mozilla DOM Inspector. Joe is a co-founder of <a href="http://parakey.com/">Parakey</a>, which I profiled in an <a title="Bridging the Divide with Parakey" href="http://www.mkbergman.com/?p=298">earlier post</a>.</p>
<p>Oh, by the way:  Firebug is a most deserving winner of the <font color="#820000"><strong>AI3</strong></font> <em><strong>Jewels &#038; Doubloons</strong></em> award.</p>
<table cellpadding="5" border="0" bgcolor="#f2f5f8" align="center">
<tr>
<td><a href="http://www.mkbergman.com/?p=338"><img align="middle" alt="Jewels &#038; Doubloons" title="Jewels &#038; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" /></a></td>
<td><em><strong> An <font color="#820000">AI3 </font>Jewels &#038; Doubloons Winner</strong></em></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/345/firebug-from-the-horses-mouth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Doug Crockford&#8217;s JavaScript Lectures</title>
		<link>http://www.mkbergman.com/339/doug-crockfords-javascript-lectures/</link>
		<comments>http://www.mkbergman.com/339/doug-crockfords-javascript-lectures/#comments</comments>
		<pubDate>Tue, 20 Feb 2007 18:08:15 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=339</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Doug Crockford&#8217;s JavaScript Lectures&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-02-20&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/339/doug-crockfords-javascript-lectures/&amp;rft.language=English"></span>
Douglas Crockford, Yahoo!&#8217;s resident JavaScript guru and the developer of JSON, has provided a much-needed service in a three-part lecture series on the language.  JavaScript is reportedly the second-fastest growing language to Ruby and has enjoyed a renaissance because of Ajax and rich Internet applications. JavaScript has always suffered from its unfortunate (and inaccurate) [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Doug Crockford&#8217;s JavaScript Lectures&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-02-20&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/339/doug-crockfords-javascript-lectures/&amp;rft.language=English"></span>
<p><img hspace="5" align="left" alt="Jewels &#038; Doubloons" title="Jewels &#038; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_54.png" /><a title="Dog Crockford's Blog" href="http://www.crockford.com/">Douglas Crockford</a>, Yahoo!&#8217;s resident <a title="JavaScript" href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> guru and the developer of <a title="JSON - JavaScript Object Notation" href="http://en.wikipedia.org/wiki/JSON">JSON</a>, has provided a much-needed service in a three-part lecture series on the language.  JavaScript is reportedly the second-fastest growing language to Ruby and has enjoyed a renaissance because of Ajax and rich Internet applications. JavaScript has always suffered from its unfortunate (and inaccurate) name, but it also suffers because of poor and outdated documentation and (general) lack of program comments or obfuscation to &#8220;<a title="Minify" href="http://en.wikipedia.org/wiki/Minify">minifying</a>&#8221; to keep transferred script sizes small.</p>
<p>The first part in the lecture series (111 minutes) covers the basics of the language, its history and quirks:</p>
<div align="center"><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710507"><img width="352" height="206" border="0" align="middle" alt="Douglas Crockford provides a comprehensive introduction to the JavaScript Programming Language." src="http://us.i1.yimg.com/us.yimg.com/i/ydn/yuiweb/img/theater/crockford-tjpl2.jpg" /></a></div>
<ul>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710507"><strong>Part 1:</strong> 31 minutes</a> | <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-1.m4v">M4V download</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710553"><strong>Part 2:</strong> 31 minutes</a> | <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-2.m4v">M4V download</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710607"><strong>Part 3:</strong> 29 minutes</a> | <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-3.m4v">M4V download</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710658"><strong>Part 4:</strong> 20 minutes</a> | <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-4.m4v">M4V download</a></li>
<li><a href="http://yuiblog.com/assets/crockford/javascript.zip">Download slides (zipped PowerPoint file)</a></li>
</ul>
<p>The second part places JavaScript and its development in relation to the <a title="Document Object Model" href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a> and browser evolution (77 min):</p>
<ul>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.992708"><strong>Part 1:</strong> 31 minutes</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.996002"><strong>Part 2:</strong> 21 minutes</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.996008"><strong>Part 3:</strong> 26 minutes</a></li>
<li><a href="http://yuiblog.com/assets/crockford/theory.zip">Download slides (zipped PowerPoint file)</a></li>
</ul>
<p>Then, the third part covers more advanced language topics such as debugging, patterns and the interesting alternative to traditional object classing using prototypal inheritance (67 min):</p>
<ul>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1027823"><strong>Part 1:</strong> 31 minutes</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1027832"><strong>Part 2:</strong> 25 minutes</a></li>
<li><a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1027854"><strong>Part 3:</strong> 11 minutes</a></li>
<li><a href="http://yuiblog.com/assets/crockford/advancedjavascript.zip">Download slides (zipped PowerPoint file)</a></li>
</ul>
<p>Crockford is also the developer of the <a title="JSLint" href="http://www.jslint.com/">JSLint code-checking utility</a> and has a Web site chocked full of other tips and aids, including a very good set of <a title="JavaScript Coding Standards" href="http://javascript.crockford.com/code.html">JS coding standards</a>.  I highly recommend you find the three or four hours necessary to give these tutorials your undivided attention.</p>
<p><a href="http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/sr=1-1/qid=1171930166/ref=sr_1_1/104-2481811-4468742?ie=UTF8&#038;s=books"> <img width="100" height="100" border="0" align="left" alt="JavaScript: The Definitive Guide" src="http://ec1.images-amazon.com/images/P/0596101996.01._OU01_SCTHUMBZZZ_AA100_.jpg" /></a><a href="http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/sr=1-1/qid=1171930166/ref=sr_1_1/104-2481811-4468742?ie=UTF8&#038;s=books">  </a>Crockford is generally disparaging about the state of most JavaScript books, though he does recommend the fifth edition of Dave Flanagan&#8217;s well-known <em><a title="JavaScript:  The Definitive Guide" href="http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/sr=1-1/qid=1171930166/ref=sr_1_1/104-2481811-4468742?ie=UTF8&#038;s=books">JavaScript: The Definitive Guide</a></em>.  I know Doug has a real job, but all of us can hope he personally takes up the challenge of finally writing the definitive JavaScript guide.  Crockford is definitely the guy to do it.</p>
<p>Because of the excellence of this series, it gets a <em><strong>J &#038; D</strong></em> award.</p>
<table cellpadding="5" border="0" bgcolor="#f2f5f8" align="center">
<tr>
<td><a href="http://www.mkbergman.com/?p=338"><img align="middle" alt="Jewels &#038; Doubloons" title="Jewels &#038; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" /></a></td>
<td><em><strong> An <font color="#820000">AI3 </font>Jewels &#038; Doubloon Winner</strong></em></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/339/doug-crockfords-javascript-lectures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-2.m4v" length="139907805" type="video/x-m4v" />
<enclosure url="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-4.m4v" length="90013380" type="video/x-m4v" />
<enclosure url="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-1.m4v" length="139301206" type="video/x-m4v" />
<enclosure url="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/yui/theater/crockford-tjpl-3.m4v" length="135133974" type="video/x-m4v" />
		</item>
		<item>
		<title>Jewels &amp; Doubloons</title>
		<link>http://www.mkbergman.com/338/jewels-doubloons/</link>
		<comments>http://www.mkbergman.com/338/jewels-doubloons/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 18:28:11 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Information]]></category>
		<category><![CDATA[Adaptive Innovation]]></category>
		<category><![CDATA[Jewels & Doubloons]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=338</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Jewels &#038; Doubloons&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-02-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/338/jewels-doubloons/&amp;rft.language=English"></span>

We&#8217;re So Focused on Plowing Ahead We Often Don&#8217;t See The Value Around Us
For some time now I have been wanting to dedicate a specific category on this blog to showcasing tools or notable developments.  It is clear that tools compilations for the semantic Web &#8212; such as the comprehensive Sweet Tools listing &#8212; [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Jewels &#038; Doubloons&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Jewels &amp; Doubloons&amp;rft.subject=Software Development&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2007-02-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/338/jewels-doubloons/&amp;rft.language=English"></span>
<p><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jewels_doubloons.png" alt="Jewels &amp; Doubloons" hspace="5" vspace="0" align="left" /></p>
<p><span style="color: #820000;"><strong>We&#8217;re So Focused on Plowing Ahead We Often Don&#8217;t See The Value Around Us</strong></span></p>
<p>For some time now I have been wanting to dedicate a specific category on this blog to showcasing tools or notable developments.  It is clear that tools compilations for the semantic Web &#8212; such as the comprehensive <strong><a title="Sweet Tools Listing" href="http://www.mkbergman.com/?page_id=325">Sweet Tools</a></strong> listing &#8212; or new developments have become one focus of this site.  But as I thought about this focus, I was not really pleased with the idea of a simple tag of &#8220;review&#8221; or &#8220;showcase&#8221; or anything of that sort.  The reason such terms did not turn my crank was my own sense that the items that were (and are) capturing my interest were also items of broader value.</p>
<p>Please, don&#8217;t get me wrong.  One (among many) observations within the past few months has been the amazing diversity, breadth and number of communities, and most importantly, the brilliance and innovation that I was seeing.  My general sense in this process of discovery is that I have kind of stumbled blindly into many existing &#8212; and sometimes mature &#8212; communities that have existed for some time, but for which I was not part of nor privy to their insights and advances.  These communities are seemingly endless and extend to topics such as <a title="Semantic Web" href="http://en.wikipedia.org/wiki/Semantic_web">semantic Web</a> and its constituent components, <a title="Web 2.0" href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a>, <a title="Agile Software Development" href="http://en.wikipedia.org/wiki/Agile_development">agile development</a>, <a title="Ruby Programming Language" href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29">Ruby</a>, <a title="Domain Specific Language" href="http://en.wikipedia.org/wiki/Domain_Specific_Language">domain-specific languages</a>, <a title="Behavior Driven Development" href="http://en.wikipedia.org/wiki/Behavior_driven_development">behavior driven development</a>, <a title="Ajax" href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">Ajax</a>, <a title="JavaScript" href="http://en.wikipedia.org/wiki/Javascript">JavaScript</a> <a title="JavaScript Frameworks" href="http://en.wikipedia.org/wiki/Ajax_framework#JavaScript_and_Server_Technology_Independent_Frameworks">frameworks</a> and toolkits, <a title="Ruby on Rails" href="http://en.wikipedia.org/wiki/Ruby_On_Rails">Rails</a>, extractors/<a title="Wrappers" href="http://en.wikipedia.org/wiki/Wrappers">wrappers</a>/<a title="Data Mining" href="http://en.wikipedia.org/wiki/Data_mining">data mining</a>, <a title="REpresentational State Transfer" href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a>, <a title="why the lucky stiff" href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff">why the lucky stiff</a>, you name it.</p>
<p><strong>Announcing &#8216;Jewels &amp; Doubloons&#8217;</strong></p>
<p>As I have told development teams in the past, as you cross the room to your workstation each morning look down and around you.  The floor is literally strewn with jewels, pearls and doubloons &#8211;tremendous riches based on work that has come before &#8212; and all we have to do is take the time to look, bend over, investigate and pocket those riches. It is that metaphor, plus in honor of <a title="Mardi Gras" href="http://en.wikipedia.org/wiki/Mardi_Gras">Fat Tuesday</a> tomorrow, that I name my site awards &#8216;<em><strong>Jewels &amp; Doubloons</strong></em>.&#8217;</p>
<p><em><strong>Jewels &amp; Doubloons</strong></em> (or <em><strong>J &amp; D</strong></em> for short) may get awarded to individual tools, techniques, programming frameworks, screencasts, seminal papers and even blog entries &#8212; in short, anything that deserves bending over, inspecting and taking some time with, and perhaps even adopting.  In general, the items so picked will be more obscure (at least to me, though they may be very well known to their specific communities), but what I feel to be of broader cross-community interest.  Selection is not based on anything formal.</p>
<p><strong>Why So Many Hidden Riches?</strong></p>
<p>I&#8217;ll also talk on occasion as to why these riches of such potential advantage and productivity to the craft of software development may be so poorly known or overlooked by the general community.  In fact, while many can easily pick up the mantra of adhering to <a title="Don't Repeat Yourself" href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a>, perhaps as great of a problem is <a title="Not Invented Here" href="http://en.wikipedia.org/wiki/Not_Invented_Here">NIH</a> &#8212; reinventing a software wheel due to pride, ignorance, discontent, or simply the desire to create for creation&#8217;s sake.  Each of these reasons can cause the lack of awareness and thus lack of use of existing high value.</p>
<p>There are better ways and techniques than others to find and evaluate hidden gems.  One of the first things any Mardi Gras partygoer realizes is not to reach down with one&#8217;s hand to pick up the doubloons and plastic necklaces flung from the krewes&#8217; floats. Ouch! and count the loss of fingers!  Real swag aficionados at Mardi Gras learn how to air snatch and foot stomp the manna dropping from heaven. Indeed, with proper technique, one can end up with enough necklaces to look like a neon clown and enough doubloons to trade for free drinks and bar top dances.  Proper technique in evaluating <em><strong>Jewels &amp; Doubloons</strong></em> is one way to keep all ten fingers while getting rich the lazy man&#8217;s way.<br />
<em><strong>Jewels &amp; Doubloons</strong></em> are designated with either a medium-sized <img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_54.png" alt="Jewels &amp; Doubloons" /> or small-sized (see below) icon and also tagged as such.</p>
<p><strong>Past Winners</strong></p>
<p>I&#8217;ve gone back over the posts on <span style="color: #820000;"><strong>AI3</strong></span> and have postdated<em><strong> J &amp; D</strong></em> awards for these items:</p>
<ul>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="&quot;Down to me, WebShot has come, it's under my thumb ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ Ãƒâ€šÃ‚Â¦&quot;" href="http://www.mkbergman.com/?p=334">&#8220;Down to me, WebShot has come, it&#8217;s under my thumb!</a></li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Who Are These Guys?  (aka, the Humanities Storming the Bastions)" href="http://www.mkbergman.com/?p=331">Who Are These Guys?  (aka, the Humanities Storming the Bastions) </a> [Collex]</li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Zotero:  Proof Positive Firefox Has Emerged as a Platform" href="http://www.mkbergman.com/?p=329">Zotero:  Proof Positive Firefox Has Emerged as a Platform</a></li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="No Database?  No Problem!" href="http://www.mkbergman.com/?p=328">No Database?  No Problem!</a> [Exhibit]</li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Behavior-driven Development (BDD)" href="http://www.mkbergman.com/?p=301">Behavior-driven Development (BDD)</a></li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="A Hitchhiker's Guide to the Semantic Web" href="http://www.mkbergman.com/?p=279">A Hitchhiker&#8217;s Guide to the Semantic Web</a> Doug Adams&#8217; <em>Hyperland</em> video]</li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Data Visualization at Warp Speed" href="http://www.mkbergman.com/?p=258">Data Visualization at Warp Speed</a> [Hans Rosling's TED talk]</li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Historical Origins of the Knowledge Economy" href="http://www.mkbergman.com/?p=249">Historical Origins of the Knowledge Economy</a> [Joel Mokyr's <em>Gifts of Athena</em>]</li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Rainy Day Stuff:  Semantic Web Videos" href="http://www.mkbergman.com/?p=225">Rainy Day Stuff:  Semantic Web Videos</a></li>
<li><img title="Jewels &amp; Doubloons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/jd_32.png" alt="Jewels &amp; Doubloons" align="middle" /> <a title="Sir Tim's  Semantic Web Video -- Another Great One" href="http://www.mkbergman.com/?p=212">Sir Tim&#8217;s  Semantic Web Video &#8212; Another Great One</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/338/jewels-doubloons/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
