<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>TechnicaLee Speaking</title>
      <link>http://www.thefigtrees.net/lee/blog/</link>
      <description>Software designs, implementations, solutions, and musings by Lee Feigenbaum</description>
      <language>en</language>
      <copyright>Copyright 2010</copyright>
      <lastBuildDate>Mon, 15 Feb 2010 01:50:41 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.23-en</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>Windows Software I Pay For</title>
         <description><![CDATA[<p>After four months of sitting on the installation discs but being too busy to act, I’ve finally said goodbye to Windows XP and upgraded to Win7. My jury’s still out as to the new operating system, but in the process of reinstalling all of my software applications I took particular note of a few pieces of software that are not mainstream but that I find indispensable in getting my work done. I pay for all of these (rather than use the free versions) because they make my life better.</p>  <ul>   <li><a href="http://www.wisdom-soft.com/products/screenhunter.htm">ScreenHunter</a>. ScreenHunter lets me take screen shots. Pick a hot key (I use F6, the suggested default). When you hit the hot key, ScreenHunter takes a screenshot of either the current window or a rectangular region of the screen of you’re choosing. This screenshot is copied to the clipboard <em>and </em>saved to a directory of your choosing (one reason ScreenHunter surpasses Windows’s built-in print screen capabilities). I pay ($19.95) for ScreenHunter Plus <img style="border-bottom: 0px; border-left: 0px; margin: 5px 0px 0px; display: inline; float: right; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.thefigtrees.net/lee/blog/WindowsLiveWriter/WindowsSoftwareIPayFor_174C/image_6.png" width="160" height="119" />primarily for its support for multiple hot keys: I assign one to the active window and another to a rectangular region and I’m set. </li>    <li><a href="http://www.bluemangolearning.com/screensteps/"></a><a href="http://www.bluemangolearning.com/screensteps/">ScreenSteps</a></a>. At Cambridge Semantics we use ScreenSteps to produce much of our documentation. ScreenSteps has a clunky, sluggish user interface and is not the most robust software in the world, but it does one thing really, <em>really</em> well: ScreenSteps makes it a breeze to create documents that interleave text and annotated screenshots. Thanks to <a href="http://twitter.com/williamhayes">William Hayes</a> for alerting me to ScreenSteps. </li>    <li><a href="http://www.pdf995.com/">Pdf995</a>. Pdf995 installs a printer driver that lets you print to a PDF file. It’s trivial to use, creates good looking PDF documents, and requires no setup/configuration. It just works. I use it all the time for producing documents, saving Web pages, archiving receipts, and more. I pay ($9.95) for it to avoid the ads every time I use it. </li>    <li><a href="http://www.simplediagrams.com/">SimpleDiagrams</a>. SimpleDiagrams is an Adobe AIR application that lets me create rough diagrams of processes, organizations, etc. in seconds. It’s purposefully low on functionality—no anchor points, grids, etc<img style="border-right-width: 0px; margin: 5px 0px 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.thefigtrees.net/lee/blog/WindowsLiveWriter/WindowsSoftwareIPayFor_174C/image_3.png" width="240" height="115" />. Just a few palettes of common shapes and a blank canvas onto which to drag them. The diagrams look great and are easy to make. (Last week I was sitting around a meeting in which 4 other people were furiously scribbling down the contents of the whiteboard in their notebooks; I used SimpleDiagrams to capture an electronic version of the drawing in a fraction of the time.) I pay ($19.00) for SimpleDiagrams to have access to a few additional symbol libraries, to get rid of the annoying nag windows, and because I think it’s quite cool software. </li> </ul>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2010/02/windows_software_i_pay_for.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2010/02/windows_software_i_pay_for.html</guid>
         <category></category>
         <pubDate>Mon, 15 Feb 2010 01:50:41 -0500</pubDate>
      </item>
      
      <item>
         <title>Does anyone use SPARQL over SOAP?</title>
         <description><![CDATA[<p>The SPARQL Working Group would like to know if anyone uses SPARQL over SOAP. Please leave a comment if you do. (We know that several implementations support a SOAP implementation of the SPARQL protocol, but we don’t have much evidence that this part of such implementations is ever used.)</p>  <p>Thanks!</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/09/does_anyone_use_sparql_over_so.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/09/does_anyone_use_sparql_over_so.html</guid>
         <category>semantic web</category>
         <pubDate>Tue, 08 Sep 2009 11:32:35 -0500</pubDate>
      </item>
      
      <item>
         <title>CONSTRUCTing Quads</title>
         <description><![CDATA[<p>I promised <a href="http://twitter.com/danja">Danny</a> that I’d write this up, so here’s to making good on promises.</p>  <p><a href="http://openanzo.org">Open Anzo</a> is a quad store. (I’ve written about this <a href="http://www.thefigtrees.net/lee/blog/2009/03/named_graphs_in_open_anzo.html">before</a>.) All of the services Open Anzo offers—versioning, replication, real-time updates, access control, etc.—are oriented around named graphs. Time and time again we’ve found named graphs to be invaluable in <a href="http://www.cambridgesemantics.com/products/anzo_for_excel">building</a> <a href="http://www.cambridgesemantics.com/products/anzo_on_the_web">applications</a> atop an RDF repository.</p>  <p>And while SPARQL took the first steps towards standardizing quads via the named graphs component of the <a href="http://www.w3.org/TR/rdf-sparql-query/#rdfDataset">RDF dataset</a>, the CONSTRUCT query result form only returned triples.</p>  <p>For our purposes in Open Anzo, this severely limits the usefulness of CONSTRUCT. We can’t use it to pull out a subset of the server’s data, as any data returned has been stripped of its named graph component. The solution was pretty simple, and is a good example of practicing what I’ve been preaching recently: a key part of the standards process is for implementations to extend the standards.</p>  <p>In this case, we simply extended Glitter’s (Open Anzo’s SPARQL engine) CONSTRUCT templates to support a GRAPH clause, in exactly the same way that SPARQL query patterns support GRAPH clauses. This means that any triple pattern within a CONSTRUCT template will now either output a triple (if its outside any GRAPH clause) or a quad (if its inside a GRAPH clause).</p>  <p>Key to making this happen is the fact that both the Open Anzo server and the three client APIs (Java, JavaScript, and .NET) support serializing and deserializing quads to/from the <a href="http://www4.wiwiss.fu-berlin.de/bizer/TriG/">TriG RDF serialization format</a>. TriG’s a very straightforward extension of Turtle, and I’d like to see it used more and more throughout Semantic Web circles.</p>  <p>Anyway, here are a few simple examples of CONSTRUCTing quads in practice:</p>  <pre># fix up typo'ed predicates
CONSTRUCT {
  GRAPH ?g {
    ?s rdf:type ?o
  }
} WHERE {
  GRAPH ?g {
    ?s rdf:typo ?o
  }
}

# copy triples into a new graph
CONSTRUCT {
  GRAPH ex:newGraph {
    ?s ?p ?o
  }
} WHERE {
  ?s ?p ?o
}

# more complicated -- place constructed triples in
# a new “inferred” graph and indicate this fact in
# an Open Anzo metadata graph associated with the
CONSTRUCT {
  GRAPH ex:inferredGraph {
    ?p ex:uncle ?uncle
  }
  GRAPH ?mdg {
    ?mdg anzo:hasInferredGraph true
  }
} WHERE {
  GRAPH ?g {
    ?p ex:parent [ ex:brother ?uncle ] .
  }
  GRAPH ?mdg {
    ?mdg a anzo:metadatagraph ; anzo:namedGraph ?g
  }
}   </pre>

<p>Of course, combine this with some of <a href="http://www.openanzo.org/projects/openanzo/wiki/SPARQLExtensions">the other SPARQL extensions that Glitter supports</a>—subqueries, projected expressions, assignment, and aggregates being my favorites—and you’ve got a powerful way to transform and extract quad-based RDF data.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/07/constructing_quads.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/07/constructing_quads.html</guid>
         <category>semantic web</category>
         <pubDate>Tue, 07 Jul 2009 18:18:08 -0500</pubDate>
      </item>
      
      <item>
         <title>SPARQLing at SemTech</title>
         <description><![CDATA[<p><a href="http://semantic-conference.com">SemTech 2009</a> has come and gone, and it was great. I was concerned—as were others—that the state of the economy would depress the turnout and enthusiasm for the show, but it seems that any such effects were at least counterbalanced by a growing interest in semantic technologies. Early reports are that attendance was up about 20% from last year, and at sessions, coffee breaks, and the exhibit hall there seemed to always be more people than I expected. Good stuff.</p>  <p>Eric P. and I gave our SPARQL By Example tutorial to a crowd of about 50 people on Monday. From the feedback I’ve received, it seems that people found the session beneficial, and at least a couple of people remarked on the fact that Eric and I seemed to be having fun. If this whole semantic thing doesn’t work out, at least we can fall back on our ad-hoc comedy routines.</p>  <p>Anyways, I wanted to share a couple of links with everyone. I think they work nicely to supplement other SPARQL tutorials in helping teach SPARQL to newcomers and infrequent practitioners.</p>  <ol>   <li><a href="http://www.cambridgesemantics.com/2008/09/sparql-by-example/">SPARQL By Example</a> slides. I’ve probably posted this link before, but the slides have now been updated with some new examples and with a series of exercises that help reinforce each piece of SPARQL that the reader encounters. Thanks to Eric P. for putting together all of the exercises and to Leigh Dodds for the excellent space exploration data set.</li>    <li><a href="http://www.slideshare.net/LeeFeigenbaum/sparql-cheat-sheet">SPARQL Cheat Sheet</a> slides. This is a short set of about 10 slides intended to be a concise reference for people learning to write SPARQL queries. It includes things like common prefixes, the structure of queries, how to encode SPARQL into an HTTP URL, and more.</li> </ol>  <p>Enjoy, and, as always, I’d welcome any feedback, suggestions for improvements, or pointers to how/where you’re able to make use of these materials.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/06/sparqling_at_semtech.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/06/sparqling_at_semtech.html</guid>
         <category>semantic web</category>
         <pubDate>Sun, 21 Jun 2009 23:39:33 -0500</pubDate>
      </item>
      
      <item>
         <title>Why we love Semantic Web technologies</title>
         <description><![CDATA[<p>We’ll be releasing the first versions of our <a href="http://www.cambridgesemantics.com/products/product_overview">Anzo products</a> in July. Between now and then I’m going to try to do some blogging showing various parts of the products. But before I begin that, I’ve been thinking a bunch recently about how to characterize our use of Semantic Web technologies, and I wanted to write a bit on that.</p>  <p>Our software views the world of enterprise data in a pretty straightforward way:</p>  <ol>   <li><em>Bring together as much data as possible.</em> </li>    <li><em>Do stuff with the data.</em> </li>    <li><em>Allow anyone to consume the data however (&amp; whenever) they want.</em> </li> </ol>  <p>This is a very simple take on what we do, but it gets to the heart of why we care about semantics: We love semantics because semantics is the “secret sauce” that makes possible each of these three aspects of what we do.</p>  <p>Here’s how:</p>  <h2><strong>Bring together as much data as possible</strong></h2>  <p>First of all, in most cases we don’t actually physically copy data around. That sort of warehouse approach is appropriate in some cases, but in general we prefer to leave data where it is and bring it together <em>virtually</em>. Our semantic middleware product, the <a href="http://www.cambridgesemantics.com/products/anzo_data_collaboration_server">Anzo Data Collaboration Server</a>, provides unified read, write, and query interfaces to whatever data sources we’re able to connect to. We often refer to the unified view of heterogeneous enterprise data as a <em>semantic fabric</em>, but really it’s <em>linked data for the enterprise</em>.</p>  <p>Semantic Web technologies make this approach feasible. RDF is a data standard that is both expressive enough to represent any type of data that’s connected to the server and also flexible enough to handle new data sources incrementally. URIs provide a foundation for minting identifiers that don’t clash unexpectedly as new data sources are brought into the fold. Named graphs give us a simple abstraction upon which we can engineer practical concerns like security, audit trails, offline access, real-time updates, and caching. And, of course, GRDDL gives us a standard way to weave XML source data into the fabric.</p>  <p>Without Semantic Web technologies we’d need to worry about defining a master relational schema up front, or we’d have to constantly figuring out how to structurally relate or merge XML documents. And when we’re talking about data that originates not only in one or two big relational databases but also in hundreds or thousands or hundreds of thousands of Excel spreadsheets, the old ways just don’t cut it at all. Semantic Web technologies, on the other hand, provide the agile data foundation we need to bring data together.</p>  <p>But bringing together as much data as possible is not an end in itself. What’s the point of doing this?</p>  <h2></h2>  <h2><strong>Do stuff with the data</strong></h2>  <p>This one’s intentionally vague, because there are lots of things that lots of different people want—and need—to do with data, and Anzo is a platform that accommodates many of those things. In general, though, Semantic Web standards again lay the groundwork for the types of things that we want to do with data:</p>  <ul>   <li><em>Data access. </em>SPARQL gives us a way to query information from multiple data sources at once.</li>    <li><em>Describing data</em>. RDF Schema and OWL are extremely expressive ways to describe (the structure of) data, particularly compared to alternatives like relational DDL or XML Schema. We can (and do) use data descriptions to do things like build user interfaces, generate pick lists (controlled vocabularies), validate data entry, and more. </li>    <li><em>Transform data</em>. There are all kinds of ways in which we need to derive new data from existing data. We might do this via inference (enabled by RDFS and OWL) or via rules (enabled by SPARQL CONSTRUCT queries, by RIF, or by SWRL) or simply via something like SPARQL/Update.</li> </ul>  <p>Without Semantic Web technologies, we’d probably end up using a proprietary approach for querying across data sources. We’d have to hardcode all of our user interface or else invent or adopt a non-standard way of describing our data beyond what a relational schema gives us. And then we might choose a hodgepodge of rules engines, SQL triggers, and application-specific APIs to handle transforming our data. And this might all work just fine, <em>but we’d have to put in all the time, effort, and money to make all the pieces work together</em>.</p>  <p>To me, that’s the beauty of the much-maligned Semantic Web layer cake. The fact that semantic technologies represent a coherent set of standards (i.e. a set of disparate technologies that have been designed to play nice together) means that I can benefit from all of the “glue” work that’s already been done by the standards community. I don’t need to invent ways to handle different identifier schemes across technologies or how to transform from one data model to another and back again: the standards stack has already done that.</p>  <h2><strong>Allow anyone to consume the data however (&amp; whenever) they want</strong></h2>  <p>Once we’ve put in place the ability to bring data together and do stuff to that data, the remaining task is to get that information in front of anyone who needs it when they need it. We’ve put in a lot of effort to make bringing data into the fabric and acting on that data easy, and it would be a shame if every time someone needs to consume some information they need to put in a request and wait 6 months for IT to build the right queries, views, and forms for them.</p>  <p>To this end, <a href="http://www.cambridgesemantics.com/products/anzo_on_the_web">Anzo on the Web</a> takes the increasingly popular faceted-browsing paradigm and puts it in the hands of non-technical users. <em>Anyone</em> can visually choose the data that they need to see in a grid, a scatter plot, a pie chart, a timeline, etc. and the right view is created immediately. <em>Anyone</em> can choose what properties of the data should be available as facets to filter through the data set via whatever attributes he or she wants.</p>  <p>Once again it’s the flexibility of the Semantic Web technology stacks that makes this possible for us. RDF makes it trivial for us to create, store, and discover customized lenses with arbitrary properties. RDF also lets us introspect on the data to present visual choices to users when configuring views and adding filters. SPARQL is a great vehicle for building the queries that back faceted browsing.</p>  <h2></h2>  <h2></h2>  <h2><strong>In summary</strong></h2>  <p>It bears repeating that as with most technology standards, the things that we accomplish with Semantic Web standards could be done with other technology choices. But using a coherent set of standards backed by a thriving community of both research and practice means that:</p>  <ol>   <li>We don’t have to invent all the glue that ties different technologies together</li>    <li>Any new standards that evolve within this stack immediately give our software new capabilities (see #1)</li>    <li>There’s a wide range of 3rd party software that will easily interoperate with Anzo (other RDF stores, OWL reasoners, etc.)</li>    <li><em>We can focus on enabling solutions, rather than on the core technology bits</em>. All of the above frees us up to do things like build an easy to use faceted browsing tool, build <a href="http://www.cambridgesemantics.com/products/anzo_for_excel">Anzo for Excel</a> to collect and share spreadsheet data, build security and versioning and real-time updates, and much more.</li> </ol>  <p>Again, the semantics is really the secret sauce that makes much of what we do possible, but there’s a lot more innovation and engineering that turns that secret sauce into practical solutions. I’ll have some takes on what this looks like in practice in the coming weeks, and we’d love to show you in person if you’ll be in the Boston, MA area or if you’ll be at <a href="http://www.thefigtrees.net/lee/blog/2009/05/cambridge_semantics_semtech_20.html">SemTech</a> in San Jose, CA.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/06/why_we_love_semantic_web_techn.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/06/why_we_love_semantic_web_techn.html</guid>
         <category>semantic web</category>
         <pubDate>Thu, 04 Jun 2009 15:54:58 -0500</pubDate>
      </item>
      
      <item>
         <title>Cambridge Semantics @ SemTech 2009</title>
         <description><![CDATA[<p>I’m looking forward to this year’s <a href="http://semantic-conference.com/">Semantic Technology Conference</a> in San Jose the week of June 14-18. I saw lots of fantastic sessions at last year’s SemTech and met tons of great people, and I imagine that this year will be even better. My colleagues at <a href="http://www.cambridgesemantics.com/">Cambridge Semantics</a> and I will be giving a few talks, running the gamut from tutorial to technology survey to project report to our vision of how to build practical semantic solutions:</p>  <ul>   <li><a href="http://semantic-conference.com/session/2056/">SPARQL By Example tutorial</a>. I’ll be giving this half-day tutorial on Monday afternoon. We’ll use actual SPARQL queries that can be run on the (public) Semantic Web <em>today </em>as a means to learning SPARQL from the ground up.</li>    <li><a href="http://www.semantic-conference.com/session/1799/">Making Sense of Spreadsheets in Merck Basic Research</a>. Jaime Melendez of Merck and I will be giving this talk bright and early on Tuesday morning. We’ll be reporting on the results of a joint innovation project that we completed last year using our Anzo software to address several challenges facing Merck basic research.</li>    <li><a href="http://semantic-conference.com/session/2137/">Enterprise Scalable Semantic Solutions in Five Days</a>. <a href="http://www.cambridgesemantics.com/people/about/mcataldo">Mike Cataldo</a> will be talking later Tuesday morning about how Anzo makes use of semantic technologies to help our customers build practical, production-ready solutions in a matter of days.</li>    <li><a href="http://semantic-conference.com/session/1994/">Faceted Browsing Tools</a>. <a href="http://www.cambridgesemantics.com/people/about/jordi">Jordi Albornoz</a> will be talking on Tuesday afternoon about the power and simplicity of faceted browsing and semantic lens technologies. He’ll be comparing and contrasting <a href="http://www.simile-widgets.org/exhibit/">Exhibit</a>, <a href="http://www.w3.org/2005/04/fresnel-info/">Fresnel</a>, and our own <a href="http://www.cambridgesemantics.com/products/anzo_on_the_web">Anzo on the Web</a>.</li> </ul>  <p>I know that people have been saying this for a few years now, but I keep seeing the Semantic Web taking significant steps forward both inside of and outside of corporate firewalls. I fully expect this year’s SemTech to reaffirm this point of view. If you’ll be in San Jose, come by some of our talks and see what I mean. We’ll also have a space in the exhibit hall, so you can come and say hi there as well. See you there!</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/05/cambridge_semantics_semtech_20.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/05/cambridge_semantics_semtech_20.html</guid>
         <category>semantic web</category>
         <pubDate>Sun, 31 May 2009 02:14:54 -0500</pubDate>
      </item>
      
      <item>
         <title>Semantic Web Landscape - 2009</title>
         <description><![CDATA[<p>I’m currently on a bit of a whirlwind trip to beautiful Lucerne to present a Semantic Web tutorial at the SIG meeting preceding the <a href="http://www.prismforum.org/">PRISM Forum</a> meeting.</p>  <p>For the tutorial, I put together about 150 slides that act as a survey of the current landscape of Semantic Web technologies and tools. It’s aimed to give an audience some motivation for Semantic Web technologies, and to provide a tour through most Semantic Web technologies. It’s not a “how to” tutorial—it’s more of a “here’s what this Semantic Web thing is all about” tutorial.</p>  <p>Anyway, I thought the slides might be interesting to other people and/or helpful to other presenters. Since I cribbed a bunch of material from some other people, it’s only fair that other people be free to do the same with my slides.</p>  <p>I’m always eager for feedback and suggestions to improve the tutorial material.</p>  <div id="__ss_1422666" style="width: 425px; text-align: left"><a title="Semantic Web Landscape 2009" style="display: block; margin: 12px 0px 3px; font: 14px helvetica,arial,sans-serif; text-decoration: underline" href="http://www.slideshare.net/LeeFeigenbaum/semantic-web-landscape-2009?type=powerpoint">Semantic Web Landscape 2009</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=semantic-web-landscape-2009-090512082718-phpapp02&amp;stripped_title=semantic-web-landscape-2009" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=semantic-web-landscape-2009-090512082718-phpapp02&amp;stripped_title=semantic-web-landscape-2009" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/05/semantic_web_landscape_-_2009.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/05/semantic_web_landscape_-_2009.html</guid>
         <category>semantic web</category>
         <pubDate>Tue, 12 May 2009 11:50:28 -0500</pubDate>
      </item>
      
      <item>
         <title>Encourage semantic technologies at Recovery.gov</title>
         <description><![CDATA[<p>I’ve worked off and on in the past will <a href="http://project10x.com/">Mills Davis</a> and Brand Niemann of the U.S. EPA in looking at ways that Semantic Web technologies can benefit the U.S. federal government. We’ve got another chance to make a case for this this week.</p>  <p>Currently, the folks behind <a href="http://recovery.gov">recovery.gov</a> are hosting one week of <a href="http://thenationaldialogue.org">open dialogue</a> of IT approaches for exposing data about the U.S. stimulus package in an open and transparent fashion.</p>  <p>Needless to say, there are many calls for XML and Web Services-based approaches. In my opinion, these are fine and are definitely better than not having the data available at all. But I also think this dialogue gives those of us who believe in the transformative power of Semantic Web technologies a chance to speak in their favor.</p>  <p>Mills and I have submitted three ideas to the dialogue. I’d love it if you took a look at them, and if you think they’re good ideas, please indicate your support by voting and leaving a comment. I’d also love to hear from anyone else who is participating in the dialogue!</p>  <ul>   <li><a href="http://www.thenationaldialogue.org/ideas/make-collecting-recovery-data-agile-using-semantic-web-technology">Use Semantic Web technologies to collect and expose recovery data</a> </li>    <li><a href="http://www.thenationaldialogue.org/ideas/easy-presentation-of-recovery-gov-data-using-semantic-lenses/view?moreoptions=">Use semantic lenses for flexible and extensible presentation of recovery data</a> </li>    <li><a href="http://www.thenationaldialogue.org/ideas/consumer-friendly-201capp-store201d-to-best-serve-citizens-and-developers">Offer a consumer-friendly environment to host and consume specific applications that work with recovery data</a> (this one is the iPhone app store model of consuming recovery data) </li>    <li><a href="http://www.thenationaldialogue.org/ideas/use-semantic-technology-to-link-data-gov-and-recovery-gov-resources">Link data.gov and recovery.gov with semantic technologies</a></li> </ul>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/04/encourage_semantic_technologie.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/04/encourage_semantic_technologie.html</guid>
         <category>semantic web</category>
         <pubDate>Tue, 28 Apr 2009 17:39:24 -0500</pubDate>
      </item>
      
      <item>
         <title>Evolving standards, consensus, and the energy to get there</title>
         <description><![CDATA[<p>We’re doing something mildly interesting in the recently re-chartered <a href="http://www.w3.org/2009/sparql/wiki/">SPARQL working group</a>. We’re spending our first couple of months defining what our deliverables will be for the rest of our 18-month chartered lifetime. The <a href="http://www.w3.org/2009/01/sparql-charter">charter</a> gives us some suggestions on things to consider (update, aggregates, XML serialization for queries, and more) and some constraints to keep in mind (backwards compatibility), but beyond that it’s up to the group.</p>  <p>So we’ve started by gathering potential features. We solicited features—which can be language extensions, syntactic shortcuts, protocol enhancements, result format modifications, integrations with other technologies like XQuery, OWL, or RIF, new query serializations, and more—both from within the Working Group and from the broader community. Within a week or so, we had identified <a href="http://www.w3.org/2009/sparql/wiki/Category:Features">nearly 40 features</a>, and I expect a few more to come in yet. </p>  <p>The problem is: all of these features would be helpful. My take on developer-oriented-technology standards such as SPARQL is that ultimately they serve the users of the users of the implementations. There’s a pyramid here, wherein a small number of SPARQL implementations will support a larger number of developers creating SPARQL-driven software which in turn does useful (sometimes amazing) things for a much larger set of end users. So ideally, we’d focus on the features that benefit the largest swaths of those end users. </p>  <p>But of course that’s tough to calculate. So there’s another way we can look at things: the whole pyramid balances precariously on the shoulders of implementers, and, in fact, the specifications are themselves written to be formal guides to producing interoperable implementations. If implementers can’t understand an extension or willfully choose not to add it to their implementations, then there wasn’t much point in standardizing it in the first place. This suggests that implementer guidance should be a prime factor in choosing what our Working Group should focus on. And that’s far more doable since many of the Working Group <a href="http://www.w3.org/2009/sparql/wiki/Participants">participants</a> are themselves SPARQL implementers.</p>  <p>Yet, implementers priorities are not always tied to what’s most useful for SPARQL users and SPARQL users’ users. (This can be for a wide variety of reasons, not the least of which is that the feedback on what’s important for the implementer's’ users’ users often loses something in the multiple layers of communication that end up relaying it to implementers.) So what about that middle category, SPARQL users/developers? These fine folks have the most direct experience with SPARQL’s capabilities, caveats, and inabilities to solve different classes of problems as they apply to solving their users’ business/scientific/social/consumer problems. SPARQL users can and will surely contribute valuable experience along the lines of what extensions might make SPARQL easier to learn, easier to use, more powerful, and more productive when building solutions on the Semantic Web technology stack.</p>  <p>The difficulty here is that it’s often very, very hard for SPARQL developers to be selective in what features they’d like to see added to the landscape. SPARQL is their toolbox, and from their perspective (and understandably so), there’s little downside in stuffing as many tools as possible into SPARQL, <em>just in case. </em></p>  <p>Things get more complicated. I (very) often joke (and will now write down for the first time) that if you get 10 Semantic Web advocates in a room, you’ll probably have 15 or 20 opinions as to what the Semantic Web <em>is</em> and what it’s <em>for</em>. When we zoom in on just the SPARQL corner of the Semantic Web world, things are no different. Some people are using SPARQL to query large knowledge bases. Some people are using SPARQL to answer ontologically-informed queries. Some people are using SPARQL to query an emerging Web of linked data. Some people are using SPARQL for business intelligence. Some people are using SPARQL in XML pipelines. Some people are using SPARQL as a <em>de facto</em> rules language. Some people are using SPARQL as a federated query language. And much more. No wonder then, that the Working Group might have difficulties reaching consensus on a significantly whittled-down list of features to standardize.</p>  <p>Why not do it all? Or, at least, why not come up with some sort of priority list for all of the features and work our way down that one at a time? It’s tempting, given the high quality of the suggestions, but I’m pretty sure it’s not feasible. Different groups of features interact with each other in different ways, and it’s exactly these interactions that need to be formally written down in a specification. Furthermore, the W3C process requires that as we enter and exit the Candidate Recommendation stage we demonstrate multiple interoperable implementations of our specifications—this becomes extremely challenging to achieve when the language, protocol, etc. are constantly moving targets. Add to that the need to build test cases, gather substantive reviews from inside and outside the Working Group, and (where appropriate) work together with other Working Groups. Now consider that Working Group participants are (for the most part) giving no more than 20% of their time to the Working Group. Believe me, 18 months flies by.</p>  <p>So what do I think is reasonable? I think we’ll have done great work if we produce high quality specifications for maybe three, four, or five new SPARQL features/extensions. That’s it.</p>  <p>(I’m not against prioritizing some others on the chance that my time estimates are way off; that seems prudent to me. And I also recognize that we’ve got some completely orthogonal extensions that can easily be worked on in parallel with one another. So there’s some wiggle room. But I hold a pretty firm conviction that the vast majority of the features that have been suggested are going to end up on the proverbial cutting-room floor.)</p>  <p>Here’s what I (personally) think should go into our decisions of what features to standardize:</p>  <ul>   <li><em>Implementation experience. </em>It’s easy to get in trouble when a Working Group resorts to design-by-committee; I prefer features that already exist in multiple, independent implementations. (They need not be interoperable already, of course: that’s what standards work is for!)</li>    <li><em>Enabling value.</em> I’m more interested in working on features that enable capabilities that don’t already exist within SPARQL, compared to those features which are largely about making things easier. I’m also interested in working on those extensions that help substantial communities of SPARQL users (and, as above, their users). But in some cases this criterion may be trumped by…</li>    <li><em>Ease of specification.</em> Writing down a formal specification for a new feature takes time and effort, and we’ve only a limited amount of both with which to work. I’m inclined to give preference to those features which are easy to get right in a formal specification (perhaps because a draft specification or formal documentation already exists) compared to those that have many tricky details yet to be worked out.</li>    <li><em>Ease/likelihood of implementation. </em>I think this is often overlooked. There are a wide range of SPARQL implementations out there, and—particularly given the emerging cloud of linked data that can easily be fronted by multiple SPARQL implementations—there are a large number of SPARQL users that regularly write queries against different implementations. The SPARQL Working Group can add features until we’re blue in the face, but if many implementations are unable or choose not to support the new features, then interoperability remains nothing but a pipe dream for users.</li> </ul>  <p>One potential compromise, of sorts, is to define a standard extensibility mechanism for SPARQL. SPARQL already has one extensibility point in the form of allowing implementations to support arbitrary filter functions. There are a variety of forms that more sophisticated extensibility points might take. At the most general, Eric Prud’hommeaux mentioned to me the possibility of an EXTENSION keyword that would take an identifying URI, arbitrary arguments, and perhaps even arbitrary syntax within curly braces. Less extreme than that might be a formal <a href="http://www.w3.org/2009/sparql/wiki/Feature:ServiceDescriptions">service description</a> that allows implementations to explore and converge on non-standard functionality while providing a standard way for users and applications to discover what features a given SPARQL endpoint supports. The first SPARQL Working Group (the DAWG) seems to have been very successful in designing a language that provided ample scope for implementers to try out new extensions. I think if our new Working Group can keep that freedom while also providing some structure to encourage convergence on the syntax and semantics of SPARQL extensions, we’ll be in great shape for the future evolution of SPARQL.</p>  <p>There’s one final topic that I’ve alluded to but also wanted to explicitly mention: <em>energy. </em>We’ve got a lot of Working Group members with a variety of perspectives and a large number of potential work items around which we need to reach consensus. And then we need to reach consensus on the syntax and semantics of our work items, as well as the specification text used to describe them. We need editors and reviewers and test cases and test harnesses and W3C liaisons and community outreach and comment responders. All of this takes <em>energy</em>. The DAWG nearly ground to a premature halt as the standardization process dragged on for year after year. We can’t allow for that to happen this time around, so we need to keep the energy up. An enthusiastic Working Group, frequent contributions from the broader community, occasional face-to-face meetings, and noticeable progress indications can all help to keep our energy from flagging. And, of course, sticking to our 18-month schedule is as important as anything.</p>  <p>What do you think? I’m eager to hear from anyone with suggestions for how the Working Group can best meet its objectives. Do you disagree with some of my underlying assumptions? How about my criterion for considering features? Do you see any extensibility/evolutionary mechanisms that you think would ease the future growth of SPARQL? Please let me know.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/03/evolving_standards_consensus_a.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/03/evolving_standards_consensus_a.html</guid>
         <category>semantic web</category>
         <pubDate>Mon, 16 Mar 2009 00:37:53 -0500</pubDate>
      </item>
      
      <item>
         <title>Named graphs in Open Anzo</title>
         <description><![CDATA[<p><a href="http://www.snee.com">Bob DuCharme</a>, who has recently been exploring a variety of triple stores, has an insightful post up asking <a href="http://www.snee.com/bobdc.blog/2009/03/some-questions-about-rdf-named.html">questions about the idea of named graphs in RDF stores</a>. Since the <a href="http://openanzo.org/">Open Anzo</a> repository is based around named graphs (as are all Cambridge Semantics’ products based on Open Anzo such as <a href="http://www.cambridgesemantics.com/products/anzo_for_excel">Anzo for Excel</a>), I thought I’d take a stab at giving our answers to Bob’s questions:</p>  <blockquote>   <p>1. If graph membership is implemented by using the fourth part of a quad to name the graph that the triple belongs to, then a triple can only belong directly to one graph, right?</p> </blockquote>  <p>This is correct. In Open Anzo, triples are really quads, in that every subject-predicate-object triple has a fourth component, a URI that designates the named graph of the triple. The named graph with URI <tt>u</tt> comprises all of the triples (quads) that have <tt>u</tt> as their fourth component.</p>  <p>Of course, this means that the same triple (subject-predicate-object) can exist in multiple named graphs. In such a case, each such triple is distinct from the others; it can be removed from one named graph independently of its presence in other named graphs.</p>  <blockquote>   <p>2. I say &quot;belong directly&quot; because I'm thinking that a graph can belong to another graph. If so, how would this be indicated? Is there some specific predicate to indicate that graph x belongs to graph y?</p> </blockquote>  <p>Open Anzo has no concept of nesting graphs or graph hierarchies. The URI of a named graph can be used as the subject or object of a triple just like any other URI, with a meaning specific to whatever predicate is being used. So two graphs can be related by means of ordinary triples, but there is no special support for any such constructs.</p>  <blockquote>   <p>3. If we're going to use named graphs to track provenance, then it would make sense to assign each batch of data added to my triplestore to its own graph. Let's say that after a while I have thousands of graphs, and I want to write a SPARQL query whose scope is 432 of those graphs. Do I need 432 &quot;FROM NAMED&quot; clauses in my query? (Let's assume that I plan to query those same 432 multiple times.)</p> </blockquote>  <p>There are a couple of points here.</p>  <ol>   <li>First, for Open Anzo at least, it's up to the application developer how to group triples into named graphs. I don't think we've ever ourselves used the scheme you suggest (everything updated at once is a named graph), but you could if you wanted. Instead, named graphs tend to collect triples that represent a reasonably core object in the application's domain of discourse. </li>    <li>Open Anzo does use named graphs for provenance. Named graphs are the basic unit for:      <ul>       <li><i>Versioning.</i> When one or more triples in a named graph are updated, the entire graph is versioned. Open Anzo tracks the modification time and the user that instigated the change, and also provides an API for getting at previous revisions of a graph. (Graphs can also be explicitly created that do <i>not</i> keep track of revisions. Those still track the <i>last updated on</i> and <i>last updated by</i> bits of provenance.) </li>        <li><i>Access control.</i> Control of who can read, write, remove, or change permissions on RDF data in Open Anzo is attached strictly at the named-graph level. This tends to work nicely with the general modeling approach that lets a named graph represent a conceptual entity. </li>        <li><i>Replication.</i> Client applications can maintain local replicas of data from an Open Anzo server. Replication occurs at the level of a named graph. </li>     </ul>   </li>    <li>Second, it's worth noting that Open Anzo adds a bit of infrastructure for handling this sort of provenance. Each named graph in an Open Anzo repository has an associated <i>metadata graph</i>. The system manages the triples in the metadata graph, which can include access control data, provenance data, version histories, associated ontological elements, and more. This lets all of the provenance information be treated as RDF without conflating it with user/application-created triples. </li>    <li>Third, regarding the challenge of handling queries that need to span hundreds or thousands of named graphs: As Bob observed, this is a common situation when you are basing a store around named graphs. The Open Anzo approach to this problem is to introduce the idea of a <i>named dataset</i>. A named dataset is a URI-identified collection of graphs. (Technically, it's two collections of graphs, representing both the default and named graph elements of a SPARQL query.) Glitter, the Open Anzo SPARQL engine, extends SPARQL with a <tt>FROM DATASET &lt;u&gt;</tt> clause that scopes the query to the graphs contained in the referenced named dataset, <tt>u</tt>. Currently, named datasets explicitly enumerate their constituent graphs. There's no reason, however, that the same approach could not be used along with other methods of identifying the dataset's graph contents, such as URI patterns or a query. </li> </ol>  <p>All in all, we find the named graph model to be extremely empowering when building applications based on RDF. It gives a certain degree of scaffolding that allows all sorts of engineering and user experience flexibility. At a high level, we approach named graphs in a similar fashion to how we approach ontologies. We find both constructs useful for dealing with large amounts of RDF in practical enterprise environments, for engineering various ways of partitioning and understanding the data throughout the software stack. In the end, the named graph model goes to the heart of a few of RDF's core value propositions: agility and expressivity of the data model and adaptability of software built upon it.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/03/named_graphs_in_open_anzo.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/03/named_graphs_in_open_anzo.html</guid>
         <category>semantic web</category>
         <pubDate>Mon, 02 Mar 2009 00:19:46 -0500</pubDate>
      </item>
      
      <item>
         <title>SPARQL By Example Webcast, Part II: Thursday, January 22</title>
         <description><![CDATA[<p>We had overwhelming interest and, consequently, questions during <a href="http://semanticuniverse.com/webcasts/SPARQLbyExample.html">our first SPARQL By Example Webcast</a> (recorded archive available) that we did back in December. We ended up going through some basic SPARQL queries against FOAF data, <a href="http://dbpedia.org">DBPedia</a> data, and leading up to introducing OPTIONAL queries against Jamendo data at <a href="http://dbtune.org">DBTune.org</a>.&#160; This Thursday, Semantic Universe and I will be presenting a second part of this tutorial. We’ll look at other elements of SPARQL queries, including UNIONs, datasets, CONSTRUCT queries, ASK queries, DESCRIBE queries, negation, and several common extensions to SPARQL such as aggregates and free-text search. At least, covering all of that is the goal!</p>  <p>If you’re interested, you need to <a href="https://semanticuniverse.webex.com/mw0305l/mywebex/default.do?nomenu=true&amp;siteurl=semanticuniverse&amp;service=6&amp;main_url=https%3A%2F%2Fsemanticuniverse.webex.com%2Fec0600l%2Feventcenter%2Fprogram%2FprogramDetail.do%3FtheAction%3Ddetail%26siteurl%3Dsemanticuniverse%26cProgViewID%3D0">register</a> in advance and then attend the Webcast at 1pm EST / 10am PST this Thursday, January 22. Hope to “see” many of you there.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2009/01/sparql_by_example_webcast_part.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2009/01/sparql_by_example_webcast_part.html</guid>
         <category>semantic web</category>
         <pubDate>Tue, 20 Jan 2009 14:56:28 -0500</pubDate>
      </item>
      
      <item>
         <title>SPARQL By Example Webcast: Tuesday, December 16</title>
         <description><![CDATA[<p>I’ll be presenting an <a href="http://semanticuniverse.com/webcasts/SPARQLbyDesign.html">introduction to SPARQL Webcast</a> this coming Tuesday at 1pm EST. The Webcast is the 4th in a free series hosted by the fine folks at <a href="http://semanticuniverse.com/">Semantic Universe</a>. In this one hour session, I’ll be using real queries that work against real data on the Web to teach the nuts and bolts of SPARQL, the Semantic Web query language. I’ve given this particular tutorial a few times before, and it’s a fun one to give—and I’ve gotten positive feedback in the past. Semantic Universe archives the sessions online, as well, so if you can’t make it on Tuesday, please check back later.</p>  <p><em>What:</em> <a href="http://semanticuniverse.com/webcasts/SPARQLbyDesign.html">SPARQL By Example Webcast</a>    <br /><em>When:</em> Tuesday, December 16, 2008, at 1pm EST    <br /><em>Who:</em> Anyone interested in an introduction to SPARQL driven completely by real examples    <br /><em>How:</em> <a href="https://semanticuniverse.webex.com/semanticuniverse/onstage/g.php?p=0&amp;t=m">Register</a> and then attend via Webcast    </p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2008/12/sparql_by_example_webcast_tues.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2008/12/sparql_by_example_webcast_tues.html</guid>
         <category>semantic web</category>
         <pubDate>Fri, 12 Dec 2008 10:37:20 -0500</pubDate>
      </item>
      
      <item>
         <title>Videos: Anzo for Excel in action</title>
         <description><![CDATA[<p>Ever since we <a href="http://www.thefigtrees.net/lee/blog/2008/05/lee_semtech_next_week.html">first showed</a> Anzo for Excel at SemTech in May, we've had a blast talking with tons of people and discussing how a semantics-based approach to Excel might address many longstanding spreadsheet challenges facing organizations big and small alike. The technology continues to improve dramatically from week to week, and we're looking forward to a first general release of a productized Anzo for Excel at the end of this year.</p>  <p>We've recently put together a short (5 min.) video showing many of the capabilities of Anzo for Excel in the context of an ad-hoc project planning scenario:</p>  <p align="center"><em><a href="http://www.cambridgesemantics.com/videos/cross_industry/project_planning/">Anzo for Excel: Spreadsheets for enterprise data management</a></em></p>  <p align="left">As an added bonus, Jordi also put together a short video showing how Anzo for Excel along with our Anzo on the Web can allow you to expose, share, and publish spreadsheet data on the Web with just a few clicks, while simultaneously taking advantage of powerful faceted browsing capabilities (a la <a href="http://simile.mit.edu/exhibit/">Exhibit</a>) and custom visualizations:</p>  <p align="center"><em><a href="http://www.cambridgesemantics.com/videos/industry/government/epa_fuel_on_web/">Anzo for Excel: EPA Fuel Demonstration</a></em></p>  <p align="left">We're actively engaging with partners and customers in exploring and building out use cases, demos, and projects leveraging Anzo for Excel. Drop me <a href="mailto:lee@cambridgesemantics.com">a line</a> if you're interested in seeing/learning more.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2008/10/videos_anzo_for_excel_in_actio.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2008/10/videos_anzo_for_excel_in_actio.html</guid>
         <category>semantic web</category>
         <pubDate>Wed, 22 Oct 2008 02:42:32 -0500</pubDate>
      </item>
      
      <item>
         <title>Semantic Web Industry Report</title>
         <description><![CDATA[<p><a href="http://semanticbusiness.blogspot.com/">David Provost</a> has <a href="http://semanticbusiness.blogspot.com/2008/09/report-on-cusp-global-review-of.html">announced</a> the completion and release of his report, <em>On the Cusp: A Global Review of the Semantic Web Industry</em>. Cambridge Semantics was pleased to be a part of the report, which we think is a valuable contribution to the growing industry. David features profiles of 17 Semantic Web product-oriented vendors and deploying companies. David's conclusions include:</p>  <blockquote>   <p>The Semantic Web industry is alive, well, and it&#8217;s increasingly competitive as a commercial technology. At this point, there are too many success stories and too much money being invested to dismiss the technology as non-viable.&#160; The Semantic Web is presently building a track record, which means the big wins and unanticipated uses are yet to come. In the meantime, adoption is occurring, and the early news is very good indeed.</p> </blockquote>  <p>Enjoy.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2008/10/semantic_web_industry_report.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2008/10/semantic_web_industry_report.html</guid>
         <category>semantic web</category>
         <pubDate>Wed, 01 Oct 2008 22:18:32 -0500</pubDate>
      </item>
      
      <item>
         <title>SPARQL @ 6 months</title>
         <description><![CDATA[<p>I've been keeping an eye on the things people are saying about SPARQL and how SPARQL is being used ever since we published the W3C SPARQL Recommendations back in January. Of course, SPARQL has been around for much longer than half a year (as noted, for example, by Deepak Singh who <a href="http://mndoci.com/blog/2008/01/16/mysql-and-sparql-a-good-bye-and-a-welcome/">"hadn’t even realized that [SPARQL] was in draft status"</a>). Here's a summary of some of the more interesting or noteworthy ones. Please share any of your favorites in the comments!</p> <h2>Upon announcing SPARQL</h2> <ul> <li>The requisite (?) <a href="http://developers.slashdot.org/developers/08/01/16/198205.shtml">Slashdot thread</a>  <li>Headlines summarizing the announcement included <a href="http://news.zdnet.co.uk/software/0,1000000121,39292247,00.htm">"W3C adds a touch of Sparql to Web 2.0"</a>, <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9057520&amp;intsrc=hm_list">"Semantic Web takes big step forward"</a>, <a href="http://opendotdotdot.blogspot.com/2008/01/adding-some-sparql-to-semantic-web.html">"Adding Some SPARQL to the Semantic Web"</a> </li></ul> <h2>Positive Impressions</h2> <ul> <li><a href="http://zomgpwn.typepad.com/zomgpwn/2008/01/sometimes-i-dou.html">Sometimes I doubt your commitment to SPARQL Motion</a> - wherein the author greets SPARQL with "Freakin yay!" and awaits the day that SPARQL "help[s] us get better porn faster, which is of course the benchmark of all new advancements in technology."  <li><a href="http://www.zgeek.com/forum/showthread.php?t=73503">"SPARQL takes us one step closer to the idea of software being something that users create rather than something users use."</a>  <li><a href="http://etech.eweek.com/content/web_technology/building_the_core_of_the_nextgen_web.html">"However, HTML 5 may not be the most important recent standards announcement that the W3C has made."</a>  <li><a href="http://www.jasonkolb.com/weblog/2008/04/the-next-genera.html">"SPARQL is the glue that makes this global data mesh usable, and it was just ratified this year.&nbsp; The Web's voice just cracked."</a></li></ul> <h2>Negative Impressions</h2> <ul> <li><a href="http://kill.devc.at/node/123">Unhappy With SPARQL</a> - unsatisfied with the verbose syntax, the lack of arbitrary selectable expressions, and the ASK query form  <li><a href="http://jeremiahklein.blogspot.com/2008/03/have-you-heard-of-sparql.html">Have you heard of SPARQL?</a> - worries that SPARQL queries are so targeted as to miss accidental discovery of interesting information and that this might be a new technology burden for small Web site developers <li><a href="http://mjarrar.blogspot.com/2008/03/problems-of-sparql.html">The problems of SPARQL</a> - enumerates three problems touching on the RDF data model's complexity, SPARQL's relative anonymity (compared to SQL), and a perceived lack of expressivity</li></ul> <h2>Explanatory/tutorial Writings</h2> <ul> <li><a href="http://www.ldodds.com/blog/archives/000321.html">Bee Node: A FOAF Tale</a> - Leigh Dodds's whimsical exploration of common SPARQL patterns. (The <a href="http://www.ldodds.com/blog/archives/000322.html">deconstructed</a> version.)  <li><a href="http://aabs.wordpress.com/2008/03/12/rip-arnie-humour/">RIP Arnie Humour</a> - SPARQL and The Terminator, together again for the first time</li></ul> <ul> <li><a href="http://www.ibm.com/developerworks/edu/x-dw-x-sparql.html?ca=drs-">Understanding SPARQL</a> - A tutorial by Andrew Matthews on IBM developerWorks that teaches SPARQL "through the example of a team tracking and journaling system for a virtual company." <li><a href="http://www.slideshare.net/simone.onofri/introduzione-al-web-semantico">Introduzione al Web Semantico</a> - OK, this Italian tutorial Simone Onofri only has a few slides on SPARQL, but slide 48 (introducing SPARQL) is so beautiful that I wanted to include this anyway. <li><a href="http://thefigtrees.net/lee/blog/2008/01/why_sparql.html">Why SPARQL?</a> - From yours truly.</li></ul> <h2>Using SPARQL</h2> <ul> <li>Dan Brickley has a large collection of SPARQL-related writings, including these topics: <a href="http://danbri.org/words/2008/01/22/260">dynamic FOAF groups via SPARQL</a>; <a href="http://danbri.org/words/2008/02/09/273">UUIDs for dealing with varying views of social-graph data</a>; <a href="http://danbri.org/words/2008/06/24/339">visual SPARQL query tools</a>; <a href="http://danbri.org/words/2008/02/11/278">SPARQL over XMPP (Jabber)</a></li> <li>Henry Story uses SPARQL to <a href="http://blogs.sun.com/bblfish/entry/sparqling_calling_codes">find international calling codes</a></li> <li>Arto Bendiken reports on Dries Buytaert's keynote at Drupalcon Boston envisioning <a href="http://groups.drupal.org/node/9363">a SPARQL-enabled Drupal 7.x release</a></li></ul> <h2>Miscellaneous</h2> <ul> <li><a href="http://www.openlinksw.com/blog/vdb/blog/?id=1354">Summary of the SPARQL BoF at WWW2008</a> - discussion of various SPARQL extension features</li> <li><a href="http://arxiv.org/abs/0806.4627">SP2Bench: A SPARQL Performance Benchmark</a> - Based on DBLP-style generated data sets</li> <li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-core-user/200807.mbox/%3Ceb4706e0807012306h37be32b3w60db441b74a5b0e6@mail.gmail.com%3E">Volunteer recruitment for RDF store project on Hadoop</a> - Not strictly SPARQL, but will include a SPARQL implementation on top of a Hadoop + Hbase + MapReduce system</li></ul> <p>Of course, the past six months have also seen plenty of new Linked Data deployments (often with accompanying SPARQL endpoints) as well as a bevy of new implementations, and enhancements and upgrades to existing implementations. And SPARQL continues to be used as the data-access bedrock of Semantic Web applications. All in all, the future looks bright--some might even say it SPARQLs.</p>]]></description>
         <link>http://www.thefigtrees.net/lee/blog/2008/07/sparql_6_months.html</link>
         <guid>http://www.thefigtrees.net/lee/blog/2008/07/sparql_6_months.html</guid>
         <category>semantic web</category>
         <pubDate>Fri, 25 Jul 2008 20:20:55 -0500</pubDate>
      </item>
      
   </channel>
</rss>
