<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>aheil Blog - VSR</title>
    <link>http://blog.aheil.de/</link>
    <description>aheil.de Blog</description>
    <language>en-us</language>
    <copyright>Andreas Heil</copyright>
    <lastBuildDate>Tue, 19 Aug 2008 19:51:05 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>blog@aheil.de</managingEditor>
    <webMaster>blog@aheil.de</webMaster>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=1e7da020-1851-4e25-abe0-646d71125a42</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,1e7da020-1851-4e25-abe0-646d71125a42.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,1e7da020-1851-4e25-abe0-646d71125a42.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=1e7da020-1851-4e25-abe0-646d71125a42</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[vsr]The last few evenings I spend writing an extension concept for the WebComposition/DGS
approach. Initially, I was looking for a semantic description for the RESTful interface
of the DGS. There are plenty approaches and a lot of research is going on for extending
the WSDL interfaces with semantics. OWL-S and WSMO might be the most important examples
within this field. However, it appears to be a bit more tricky for REST-driven approaches.
For the DGS, I decided to try the <a href="C:\cut\dgs\trunk\src\Extensions\SaRest">SA-REST</a> approach
of the <a href="http://knoesis.wright.edu/">Kno.e.sis Services Science Lab</a> of
the Wright State University, Ohio. 
</p>
        <p>
However, I did not want to make this as a internal component of the DGS as is a research
project, and no recommendation or standard is out there yet. So I came along with
the extension concept of the DGS that allows dynamically loading of additional extensions
in addition to the core components of the DGS. 
</p>
        <p>
The <em>IExtension</em> interface provides hotspots were own code can be executed
right before and after one of the CRUD (Create, Read, Update, Delete) events. 
</p>
        <pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb">
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  1: <span style="color: #0000ff">namespace</span> WebComposition.Dgs.Extension </pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  2: {
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  3:     <span style="color: #0000ff">public</span><span style="color: #0000ff">interface</span> IExtension </pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  4:     {
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  5:         <span style="color: #0000ff">bool</span> CreateStartUp(<span style="color: #0000ff">ref</span> ExecutionContext
context); </pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  6:         <span style="color: #0000ff">bool</span> CreateTearDown(<span style="color: #0000ff">ref</span> ExecutionContext
context); </pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  7:         <span style="color: #0000ff">bool</span> ReadStartUp(<span style="color: #0000ff">ref</span> ExecutionContext
context); </pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  8:         <span style="color: #008000">//...</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  9:     }
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"> 10: }</pre>
        </pre>
        <p>
The <em>ExecutionContext</em> contains the request URI, the corresponding data adapter
and (if already available)  the current content to be returned with the response.
</p>
        <p>
The extension can modify or create the content to be returned. In this case the return
value must be set to <em>false</em>. Returning this dirty flag the DGS knows that
the extension provided a new content to be returned. Any further internal functionality
by the DGS is thus skipped and the newly provided content from the extension is returned. 
</p>
        <p>
To keep the WebComposition/DGS approach as flexible as possible, extensions can be
deployed at runtime. The DGS is instructed to use extension by specifying them within
the <em>web.config</em> file.
</p>
        <pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb">
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  1: <span style="color: #0000ff">&lt;</span><span style="color: #800000">webComposition</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  2:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">dataGridService</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  3:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">extensions</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  4:         <span style="color: #0000ff">&lt;</span><span style="color: #800000">extension</span><span style="color: #ff0000">type</span>=<span style="color: #0000ff">"WebComposition.Dgs.Extensions.SaRest.SaRestHandler, 
</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  5:                    WebComposition.Dgs.Extensions.SaRest, 
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  6:                    Version=1.0.0.0, 
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  7:                    Culture=neutral, 
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  8:                    PublicKeyToken=null" <span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  9:       <span style="color: #0000ff">&lt;/</span><span style="color: #800000">extensions</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"> 10:       ...
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"> 11:     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">dataGridService</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"> 12: <span style="color: #0000ff">&lt;/</span><span style="color: #800000">webComposition</span><span style="color: #0000ff">&gt;</span></pre>
        </pre>
        <p>
Based in this extension mechanism I created my very first extension to provide SA-REST
support. If you have a closer look to SA-REST you might realize a drawback of the
approach (one that is directly related to the REST principles). When using RDFa or
any other microformat in HTML/XHTML the description of the service is rather static.
The DGS on the other hand provides a highly flexible solution. Here, the full power
of the DGS turn up. Analyzing the SA-REST annotation you will realize that you have
RDF triples, e.g. metadata. This metadata can be stored within the DGS of course.
</p>
        <p>
If we have a closer look on this metadata we can add this metadata by performing an
updated on your service's meta URI. In my case it is http://localhost/datagridservice/DataGridService/meta. 
Below we use some RDF based on the originally SA-REST example.
</p>
        <pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb">
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  1: <span style="color: #0000ff">&lt;</span><span style="color: #c71585">rdf</span>:<span style="color: #800000">Description</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">about</span>=<span style="color: #0000ff">"http://localhost/datagridservice/DataGridService"</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  2:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">input</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"http://lsdis.cs.uga.edu/ont.owl#Location_Query"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  3:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">output</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"http://lsdis.cs.uga.edu/ont.owl#Location"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  4:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span>HTTP
GET<span style="color: #0000ff">&lt;/</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  5:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">lifting</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"http://www.restful.ws/lifting.xsl"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  6:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">lowering</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"http://www.restful.ws/lowering.xsl"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  7:     <span style="color: #0000ff">&lt;</span><span style="color: #c71585">SAREST</span>:<span style="color: #800000">operation</span><span style="color: #ff0000">rdf</span>:<span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"http://lsdis.cs.uga.edu/ont.owl#Location_Search"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  8: <span style="color: #0000ff">&lt;/</span><span style="color: #c71585">rdf</span>:<span style="color: #800000">Description</span><span style="color: #0000ff">&gt;</span></pre>
        </pre>
        <p>
The SA-REST extension now extends the URI scope of the DGS - which is actually a very
cool feature. Once deployed, the /meta scope is extended with /meta/sarest. If you
now perform a GET request to http://localhost/datagridservice/DataGridService/meta/sarest.
The extension will return the corresponding SA-REST metadata we used above.
</p>
        <p>
To round up this exercise I've also created a set of XSL transformations that create
XHTML to be used within any Web page. E.g. the SA-REST annotation mixed with the content,
again based on the original SA-REST example, would look like below. Keep in mind,
the XHTML snippet you see here was dynamically created by the DGS itself using a transformation.
</p>
        <pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb">
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  1: <span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #ff0000">about</span>=<span style="color: #0000ff">"http://localhost/datagridservice/DataGridService"</span><span style="color: #ff0000">xmlns</span>=<span style="color: #0000ff">"http://www.w3.org/1999/xhtml"</span><span style="color: #ff0000">xmlns</span>:<span style="color: #ff0000">rdf</span>=<span style="color: #0000ff">"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span><span style="color: #ff0000">xmlns</span>:<span style="color: #ff0000">sarest</span>=<span style="color: #0000ff">"http://lsdis.cs.uga.edu/SAREST#"</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  2:     The logical input of this service is an
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  3:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">span</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:input"</span><span style="color: #0000ff">&gt;</span>http://lsdis.cs.uga.edu/ont.owl#Location_Query<span style="color: #0000ff">&lt;/</span><span style="color: #800000">span</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  4:     object. The logical output of this service is a list of
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  5:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">span</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:output"</span><span style="color: #0000ff">&gt;</span>http://lsdis.cs.uga.edu/ont.owl#Location<span style="color: #0000ff">&lt;/</span><span style="color: #800000">span</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  6:     objects. This service should be invoked using an
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  7:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">span</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:action"</span><span style="color: #0000ff">&gt;</span>HTTP
GET<span style="color: #0000ff">&lt;/</span><span style="color: #800000">span</span><span style="color: #0000ff">&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff">  8:     request.
</pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0">  9:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">meta</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:lifting"</span><span style="color: #ff0000">content</span>=<span style="color: #0000ff">"http://www.restful.ws/lifting.xsl"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"> 10:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">meta</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:lowering"</span><span style="color: #ff0000">content</span>=<span style="color: #0000ff">"http://www.restful.ws/lowering.xsl"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"> 11:     <span style="color: #0000ff">&lt;</span><span style="color: #800000">meta</span><span style="color: #ff0000">property</span>=<span style="color: #0000ff">"sarest:operation"</span><span style="color: #ff0000">content</span>=<span style="color: #0000ff">"http://lsdis.cs.uga.edu/ont.owl#Location_Search"</span><span style="color: #0000ff">/&gt;</span></pre>
          <pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"> 12: <span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span></pre>
        </pre>
        <p>
The extension concept allows to add new custom components and to customize the DGS
even more while the SA-REST extension provides a very first capability to describe
the DGS' RESTful interface in a semantic way.
</p>
        <p>
I am going to do a second proof of concept using another approach describing RESTful
services soon to show the flexibility of the extension concept.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=1e7da020-1851-4e25-abe0-646d71125a42" />
      </body>
      <title>WebComposition/DGS Extensions and SA-REST Support</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,1e7da020-1851-4e25-abe0-646d71125a42.aspx</guid>
      <link>http://blog.aheil.de/2008/08/19/WebCompositionDGSExtensionsAndSARESTSupport.aspx</link>
      <pubDate>Tue, 19 Aug 2008 19:51:05 GMT</pubDate>
      <description>&lt;p&gt;
[vsr]The last few evenings I spend writing an extension concept for the WebComposition/DGS
approach. Initially, I was looking for a semantic description for the RESTful interface
of the DGS. There are plenty approaches and a lot of research is going on for extending
the WSDL interfaces with semantics. OWL-S and WSMO might be the most important examples
within this field. However, it appears to be a bit more tricky for REST-driven approaches.
For the DGS, I decided to try the &lt;a href="C:\cut\dgs\trunk\src\Extensions\SaRest"&gt;SA-REST&lt;/a&gt; approach
of the &lt;a href="http://knoesis.wright.edu/"&gt;Kno.e.sis Services Science Lab&lt;/a&gt; of
the Wright State University, Ohio. 
&lt;/p&gt;
&lt;p&gt;
However, I did not want to make this as a internal component of the DGS as is a research
project, and no recommendation or standard is out there yet. So I came along with
the extension concept of the DGS that allows dynamically loading of additional extensions
in addition to the core components of the DGS. 
&lt;/p&gt;
&lt;p&gt;
The &lt;em&gt;IExtension&lt;/em&gt; interface provides hotspots were own code can be executed
right before and after one of the CRUD (Create, Read, Update, Delete) events. 
&lt;/p&gt;
&lt;pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  1: &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; WebComposition.Dgs.Extension &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  2: {
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  3:     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IExtension &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  4:     {
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  5:         &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CreateStartUp(&lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; ExecutionContext
context); &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  6:         &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CreateTearDown(&lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; ExecutionContext
context); &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  7:         &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; ReadStartUp(&lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; ExecutionContext
context); &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  8:         &lt;span style="color: #008000"&gt;//...&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  9:     }
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt; 10: }&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;
The &lt;em&gt;ExecutionContext&lt;/em&gt; contains the request URI, the corresponding data adapter
and (if already available)&amp;nbsp; the current content to be returned with the response.
&lt;/p&gt;
&lt;p&gt;
The extension can modify or create the content to be returned. In this case the return
value must be set to &lt;em&gt;false&lt;/em&gt;. Returning this dirty flag the DGS knows that
the extension provided a new content to be returned. Any further internal functionality
by the DGS is thus skipped and the newly provided content from the extension is returned. 
&lt;/p&gt;
&lt;p&gt;
To keep the WebComposition/DGS approach as flexible as possible, extensions can be
deployed at runtime. The DGS is instructed to use extension by specifying them within
the &lt;em&gt;web.config&lt;/em&gt; file.
&lt;/p&gt;
&lt;pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  1: &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;webComposition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  2:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dataGridService&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  3:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;extensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  4:         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;extension&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"WebComposition.Dgs.Extensions.SaRest.SaRestHandler, 
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  5:                    WebComposition.Dgs.Extensions.SaRest, 
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  6:                    Version=1.0.0.0, 
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  7:                    Culture=neutral, 
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  8:                    PublicKeyToken=null"&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  9:       &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;extensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt; 10:       ...
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt; 11:     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dataGridService&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt; 12: &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;webComposition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;
Based in this extension mechanism I created my very first extension to provide SA-REST
support. If you have a closer look to SA-REST you might realize a drawback of the
approach (one that is directly related to the REST principles). When using RDFa or
any other microformat in HTML/XHTML the description of the service is rather static.
The DGS on the other hand provides a highly flexible solution. Here, the full power
of the DGS turn up. Analyzing the SA-REST annotation you will realize that you have
RDF triples, e.g. metadata. This metadata can be stored within the DGS of course.
&lt;/p&gt;
&lt;p&gt;
If we have a closer look on this metadata we can add this metadata by performing an
updated on your service's meta URI. In my case it is http://localhost/datagridservice/DataGridService/meta.&amp;nbsp;
Below we use some RDF based on the originally SA-REST example.
&lt;/p&gt;
&lt;pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  1: &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;rdf&lt;/span&gt;:&lt;span style="color: #800000"&gt;Description&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;about&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://localhost/datagridservice/DataGridService"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  2:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;resource&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://lsdis.cs.uga.edu/ont.owl#Location_Query"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  3:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;output&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;resource&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://lsdis.cs.uga.edu/ont.owl#Location"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  4:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;action&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;HTTP
GET&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;action&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  5:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;lifting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;resource&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.restful.ws/lifting.xsl"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  6:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;lowering&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;resource&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.restful.ws/lowering.xsl"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  7:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #c71585"&gt;SAREST&lt;/span&gt;:&lt;span style="color: #800000"&gt;operation&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;resource&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://lsdis.cs.uga.edu/ont.owl#Location_Search"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  8: &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #c71585"&gt;rdf&lt;/span&gt;:&lt;span style="color: #800000"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;
The SA-REST extension now extends the URI scope of the DGS - which is actually a very
cool feature. Once deployed, the /meta scope is extended with /meta/sarest. If you
now perform a GET request to http://localhost/datagridservice/DataGridService/meta/sarest.
The extension will return the corresponding SA-REST metadata we used above.
&lt;/p&gt;
&lt;p&gt;
To round up this exercise I've also created a set of XSL transformations that create
XHTML to be used within any Web page. E.g. the SA-REST annotation mixed with the content,
again based on the original SA-REST example, would look like below. Keep in mind,
the XHTML snippet you see here was dynamically created by the DGS itself using a transformation.
&lt;/p&gt;
&lt;pre style="border-right: #cecece 1px solid; padding-right: 5px; border-top: #cecece 1px solid; padding-left: 5px; min-height: 40px; padding-bottom: 5px; overflow: auto; border-left: #cecece 1px solid; width: 545px; padding-top: 5px; border-bottom: #cecece 1px solid; background-color: #fbfbfb"&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  1: &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;p&lt;/span&gt; &lt;span style="color: #ff0000"&gt;about&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://localhost/datagridservice/DataGridService"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;rdf&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.w3.org/1999/02/22-rdf-syntax-ns#"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;sarest&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://lsdis.cs.uga.edu/SAREST#"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  2:     The logical input of this service is an
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  3:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:input"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://lsdis.cs.uga.edu/ont.owl#Location_Query&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  4:     object. The logical output of this service is a list of
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  5:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:output"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://lsdis.cs.uga.edu/ont.owl#Location&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  6:     objects. This service should be invoked using an
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  7:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:action"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;HTTP
GET&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt;  8:     request.
&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt;  9:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;meta&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:lifting"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;content&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.restful.ws/lifting.xsl"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt; 10:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;meta&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:lowering"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;content&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.restful.ws/lowering.xsl"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #f0f0f0"&gt; 11:     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;meta&lt;/span&gt; &lt;span style="color: #ff0000"&gt;property&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"sarest:operation"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;content&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://lsdis.cs.uga.edu/ont.owl#Location_Search"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: monospace; background-color: #ffffff"&gt; 12: &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;p&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;
The extension concept allows to add new custom components and to customize the DGS
even more while the SA-REST extension provides a very first capability to describe
the DGS' RESTful interface in a semantic way.
&lt;/p&gt;
&lt;p&gt;
I am going to do a second proof of concept using another approach describing RESTful
services soon to show the flexibility of the extension concept.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=1e7da020-1851-4e25-abe0-646d71125a42" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,1e7da020-1851-4e25-abe0-646d71125a42.aspx</comments>
      <category>DGS</category>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[rdf]Today, I spent some minutes to perform an experiment on <a href="http://www.w3.org/DesignIssues/LinkedData.html">linked
data</a>. The <a href="http://dblp.l3s.de/d2r/">D2R server at L3S - University of
Hannover</a> publishes a weekly update version of the DBLP bibliography. The URIs
from the Hannover server can thus be used to to set RDF links to DBLP data. 
</p>
        <p>
The FOAF profile is quite meaningless when used in a stand-alone to the machine-readable
Web, similar to HTML pages without any links. With additional links to other machine-readable
Web - and there are quite a lot resources available right now on the Web but you still
have to find them. I was told a very visual metaphor where you could understand the
Semantic Web as it is today as a country with hundreds or thousands of train stations
but no tracks between those stations. As long as there are no tracks build, the train
stations do not provide any added value. Similar it is to the Semantic Web. Unfortunately,
establishing the links between the resources is still a very manual and time intensive
job that must be accomplished by the human user. 
</p>
        <p>
Once linked, it becomes interesting when using the appropriate tools to browse these
information. The best (even when experimental) tools therefore are the following Semantic
Browsers:
</p>
        <ul>
          <li>
            <a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html">Tabulator
Project</a>
          </li>
          <li>
            <a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/">Disco Hyperdata Browser</a>
          </li>
          <li>
            <a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">OpenLink RDF Browser</a>
          </li>
        </ul>
        <p>
To link myself to the <a href="http://dblp.l3s.de/d2r/page/authors/Andreas_Heil">DBLP
database URI</a>, I simply have to add an <em>owl:sameAs</em> tag to <a href="http://www.aheil.de/foaf.xml">my
FOAF profile</a>. This allows to follow Semantic Web Browsers the links to the DBLP
database. The different kinds of links you can add to your profile can are explained
in a<a href="http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/linking/"> tutorial
at FU Berlin</a>.
</p>
        <p>
As adding these links is still a manual process, I now think of creating a small component
that will update publications in my FOAF file in the future based on a XML input file.
That will allow me to semi-automate the process of updating the FOAF file. Some good
reasons are
</p>
        <ul>
          <li>
It's easier to write down pure XML rather than RDF.</li>
          <li>
I can reuse the XML on other places, such as the publication list on my Web site</li>
          <li>
The links to the corresponding DBLP entries will be searched automatically.</li>
        </ul>
        <p>
Comments are warmly welcomed.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051" />
      </body>
      <title>DBLP Linked Data Experiment</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051.aspx</guid>
      <link>http://blog.aheil.de/2008/08/17/DBLPLinkedDataExperiment.aspx</link>
      <pubDate>Sun, 17 Aug 2008 08:10:10 GMT</pubDate>
      <description>&lt;p&gt;
[rdf]Today, I spent some minutes to perform an experiment on &lt;a href="http://www.w3.org/DesignIssues/LinkedData.html"&gt;linked
data&lt;/a&gt;. The &lt;a href="http://dblp.l3s.de/d2r/"&gt;D2R server at L3S - University of
Hannover&lt;/a&gt; publishes a weekly update version of the DBLP bibliography. The URIs
from the Hannover server can thus be used to to set RDF links to DBLP data. 
&lt;/p&gt;
&lt;p&gt;
The FOAF profile is quite meaningless when used in a stand-alone to the machine-readable
Web, similar to HTML pages without any links. With additional links to other machine-readable
Web - and there are quite a lot resources available right now on the Web but you still
have to find them. I was told a very visual metaphor where you could understand the
Semantic Web as it is today as a country with hundreds or thousands of train stations
but no tracks between those stations. As long as there are no tracks build, the train
stations do not provide any added value. Similar it is to the Semantic Web. Unfortunately,
establishing the links between the resources is still a very manual and time intensive
job that must be accomplished by the human user. 
&lt;/p&gt;
&lt;p&gt;
Once linked, it becomes interesting when using the appropriate tools to browse these
information. The best (even when experimental) tools therefore are the following Semantic
Browsers:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html"&gt;Tabulator
Project&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/"&gt;Disco Hyperdata Browser&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html"&gt;OpenLink RDF Browser&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
To link myself to the &lt;a href="http://dblp.l3s.de/d2r/page/authors/Andreas_Heil"&gt;DBLP
database URI&lt;/a&gt;, I simply have to add an &lt;em&gt;owl:sameAs&lt;/em&gt; tag to &lt;a href="http://www.aheil.de/foaf.xml"&gt;my
FOAF profile&lt;/a&gt;. This allows to follow Semantic Web Browsers the links to the DBLP
database. The different kinds of links you can add to your profile can are explained
in a&lt;a href="http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/linking/"&gt; tutorial
at FU Berlin&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
As adding these links is still a manual process, I now think of creating a small component
that will update publications in my FOAF file in the future based on a XML input file.
That will allow me to semi-automate the process of updating the FOAF file. Some good
reasons are
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
It's easier to write down pure XML rather than RDF.&lt;/li&gt;
&lt;li&gt;
I can reuse the XML on other places, such as the publication list on my Web site&lt;/li&gt;
&lt;li&gt;
The links to the corresponding DBLP entries will be searched automatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Comments are warmly welcomed.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,9ef6e4f0-3c84-4b1d-bfb4-7f001b6cd051.aspx</comments>
      <category>Research</category>
      <category>VSR</category>
      <category>Web 2.0</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="margin: 0px 5px 0px 0px" height="48" alt="Chemnitz University of Technology" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/WebsiteUpdate_CA48/cut_48x48_9691d5e8-43d3-4f0f-8967-270696ef6387.png" width="48" align="left" border="0" /> It's
official now: From the next term on, Chemnitz University of Technology offers a Master
of Data and Web Engineering. Interested in it? Get the English flyer <a href="http://www.tu-chemnitz.de/informatik/studium/master/flyer-master-en.pdf">here</a><a href="http://www.tu-chemnitz.de/informatik/studium/master/flyer-master-en.pdf">[pdf]</a>.
There is also a verbose German description available <a href="http://www.tu-chemnitz.de/informatik/studium/master/MSc-IF-Mantelnote.pdf">here</a> <a href="http://www.tu-chemnitz.de/informatik/studium/master/MSc-IF-Mantelnote.pdf">[pdf]</a>.
Why this is cool? Because you can study and learn with one of the founders of the
Web Engineering community. If you are interested in this topic read the <a href="http://www.citebase.org/fulltext?format=application%2Fpdf&amp;identifier=oai%3AarXiv.org%3Acs%2F0306108">first
paper</a> in the first issue of the Journal of Web Engineering from 2002 <a href="http://www.citebase.org/fulltext?format=application%2Fpdf&amp;identifier=oai%3AarXiv.org%3Acs%2F0306108">[pdf]</a>.
Definitely cool.
</p>
        <p align="center">
          <a href="http://www.tu-chemnitz.de/informatik/studium/masterstudiengang.php">
            <img height="333" alt="Master of Data and Web Engineering" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/MasterofDataandWebEngineering_B57/image_cbdf2535-ebe5-476e-9771-17728f23d7aa.png" width="400" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5" />
      </body>
      <title>Master of Data and Web Engineering</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5.aspx</guid>
      <link>http://blog.aheil.de/2008/05/16/MasterOfDataAndWebEngineering.aspx</link>
      <pubDate>Fri, 16 May 2008 22:48:31 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="margin: 0px 5px 0px 0px" height="48" alt="Chemnitz University of Technology" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/WebsiteUpdate_CA48/cut_48x48_9691d5e8-43d3-4f0f-8967-270696ef6387.png" width="48" align="left" border="0"&gt; It's
official now: From the next term on, Chemnitz University of Technology offers a Master
of Data and Web Engineering. Interested in it? Get the English flyer &lt;a href="http://www.tu-chemnitz.de/informatik/studium/master/flyer-master-en.pdf"&gt;here&lt;/a&gt; &lt;a href="http://www.tu-chemnitz.de/informatik/studium/master/flyer-master-en.pdf"&gt;[pdf]&lt;/a&gt;.
There is also a verbose German description available &lt;a href="http://www.tu-chemnitz.de/informatik/studium/master/MSc-IF-Mantelnote.pdf"&gt;here&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.tu-chemnitz.de/informatik/studium/master/MSc-IF-Mantelnote.pdf"&gt;[pdf]&lt;/a&gt;.
Why this is cool? Because you can study and learn with one of the founders of the
Web Engineering community. If you are interested in this topic read the &lt;a href="http://www.citebase.org/fulltext?format=application%2Fpdf&amp;amp;identifier=oai%3AarXiv.org%3Acs%2F0306108"&gt;first
paper&lt;/a&gt; in the first issue of the Journal of Web Engineering from 2002 &lt;a href="http://www.citebase.org/fulltext?format=application%2Fpdf&amp;amp;identifier=oai%3AarXiv.org%3Acs%2F0306108"&gt;[pdf]&lt;/a&gt;.
Definitely cool.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;a href="http://www.tu-chemnitz.de/informatik/studium/masterstudiengang.php"&gt;&lt;img height="333" alt="Master of Data and Web Engineering" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/MasterofDataandWebEngineering_B57/image_cbdf2535-ebe5-476e-9771-17728f23d7aa.png" width="400" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,4bc1d6e9-32ef-484d-9d7d-113a7cc1a9c5.aspx</comments>
      <category>VSR</category>
      <category>Web 2.0</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=c7ce8e41-08f3-43d7-8077-d917f6b9a04f</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,c7ce8e41-08f3-43d7-8077-d917f6b9a04f.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,c7ce8e41-08f3-43d7-8077-d917f6b9a04f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=c7ce8e41-08f3-43d7-8077-d917f6b9a04f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
          <img style="margin: 0px 5px 0px 0px" height="68" alt="image" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_760e966b-7c69-4814-8d04-e555dd1c5161.png" width="50" align="left" border="0" /> With
the last update on the WebComposition/DGS, we now provide RSS feeds for <a href="http://blog.aheil.de/2008/04/28/WebCompositionDGSUpdate.aspx">CRUD
events</a>. Therefore, the Meta-URI /meta is extended by the additional path segments
/meta/crud, /meta/crud and /meta/crud/rss. The Meta-URI /meta/crud can be extended
to /meta/crud/create,  /meta/crud/read, /meta/crud/update and /meta/crud/delete.
Each URI points to a certain set of events. The event URIs in form of <a href="http://www.foo.bar/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1">http://www.foo.bar/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1</a> point
directly to the RDF of the corresponding event. 
</p>
        <p align="center">
          <a href="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_8.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="365" alt="CRUD Event RSS Feed" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_thumb_2.png" width="404" border="0" />
          </a>
        </p>
        <p align="left">
Following this HTTP-URI will lead directly to corresponding description of the events
as seen below. Therefore, we take care of our carefully chosen URI concept within
the WebComposition/DGS approach.
</p>
        <a href="http://11011.net/software/vspaste">
        </a>
        <pre class="code">
          <span style="color: rgb(0,0,255)">&lt;</span>
          <span style="color: rgb(163,21,21)">rdf:RDF</span>
          <span style="color: rgb(0,0,255)">
          </span>
          <span style="color: rgb(255,0,0)">xmlns:rdf</span>
          <span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.w3.org/1999/02/22-rdf-syntax-ns#</span>" <span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">xmlns:meta</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.webcomposition.net/2008/02/dgs/meta/</span>" <span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">xmlns:ns</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://purl.org/dc/elements/1.1/</span>" <span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">xmlns:crud</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.webcomposition.net/2008/02/dgs/crud#</span>"<span style="color: rgb(0,0,255)">&gt;
&lt;</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:about</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.foo.bar/DataGridService</span>"<span style="color: rgb(0,0,255)">&gt;
&lt;</span><span style="color: rgb(163,21,21)">meta:event</span><span style="color: rgb(0,0,255)">&gt;
&lt;</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:about</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.foo.bar/DataGridService/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1</span>"<span style="color: rgb(0,0,255)">&gt;
&lt;</span><span style="color: rgb(163,21,21)">ns:date</span><span style="color: rgb(0,0,255)">&gt;</span>2008-05-15T19:20:13.7+02:00<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(163,21,21)">ns:date</span><span style="color: rgb(0,0,255)">&gt;
&lt;</span><span style="color: rgb(163,21,21)">ns:creator</span><span style="color: rgb(0,0,255)"> /&gt;
&lt;</span><span style="color: rgb(163,21,21)">crud:read</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:resource</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.foo.bar/DataGridService/foobar</span>"<span style="color: rgb(0,0,255)"> /&gt;
&lt;/</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)">&gt;
&lt;/</span><span style="color: rgb(163,21,21)">meta:event</span><span style="color: rgb(0,0,255)">&gt;
&lt;/</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)">&gt;
&lt;/</span><span style="color: rgb(163,21,21)">rdf:RDF</span><span style="color: rgb(0,0,255)">&gt;</span></pre>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
A more visual depiction of the event can looks like below. Following the RDF data
you are pointed to the resource that was affected by the event. 
</p>
        <p align="center">
          <a href="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_6.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="335" alt="CRUD Events" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_thumb_1.png" width="450" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=c7ce8e41-08f3-43d7-8077-d917f6b9a04f" />
      </body>
      <title>RSS for CRUD Events</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,c7ce8e41-08f3-43d7-8077-d917f6b9a04f.aspx</guid>
      <link>http://blog.aheil.de/2008/05/15/RSSForCRUDEvents.aspx</link>
      <pubDate>Thu, 15 May 2008 19:34:17 GMT</pubDate>
      <description>&lt;p align="left"&gt;
&lt;img style="margin: 0px 5px 0px 0px" height="68" alt="image" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_760e966b-7c69-4814-8d04-e555dd1c5161.png" width="50" align="left" border="0"&gt; With
the last update on the WebComposition/DGS, we now provide RSS feeds for &lt;a href="http://blog.aheil.de/2008/04/28/WebCompositionDGSUpdate.aspx"&gt;CRUD
events&lt;/a&gt;. Therefore, the Meta-URI /meta is extended by the additional path segments
/meta/crud, /meta/crud and /meta/crud/rss. The Meta-URI /meta/crud can be extended
to /meta/crud/create,&amp;nbsp; /meta/crud/read, /meta/crud/update and /meta/crud/delete.
Each URI points to a certain set of events. The event URIs in form of &lt;a href="http://www.foo.bar/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1"&gt;http://www.foo.bar/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1&lt;/a&gt; point
directly to the RDF of the corresponding event. 
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;a href="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_8.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="365" alt="CRUD Event RSS Feed" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_thumb_2.png" width="404" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="left"&gt;
Following this HTTP-URI will lead directly to corresponding description of the events
as seen below. Therefore, we take care of our carefully chosen URI concept within
the WebComposition/DGS approach.
&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:RDF&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:rdf&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/span&gt;" &lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:meta&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.webcomposition.net/2008/02/dgs/meta/&lt;/span&gt;" &lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:ns&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://purl.org/dc/elements/1.1/&lt;/span&gt;" &lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:crud&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.webcomposition.net/2008/02/dgs/crud#&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:about&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.foo.bar/DataGridService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;meta:event&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:about&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.foo.bar/DataGridService/meta/crud/abab1c07-9262-4e6a-9f52-3dc497ef92f1&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ns:date&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;2008-05-15T19:20:13.7+02:00&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ns:date&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ns:creator&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;crud:read&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:resource&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.foo.bar/DataGridService/foobar&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;meta:event&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:RDF&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
A more visual depiction of the event can looks like below. Following the RDF data
you are pointed to the resource that was affected by the event. 
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;a href="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="335" alt="CRUD Events" src="http://blog.aheil.de/content/binary/WindowsLiveWriter/RSSforCRDUEvents_11EE2/image_thumb_1.png" width="450" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=c7ce8e41-08f3-43d7-8077-d917f6b9a04f" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,c7ce8e41-08f3-43d7-8077-d917f6b9a04f.aspx</comments>
      <category>DGS</category>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=66b5dad0-1f67-499e-9816-73a76fd1a6cb</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,66b5dad0-1f67-499e-9816-73a76fd1a6cb.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,66b5dad0-1f67-499e-9816-73a76fd1a6cb.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=66b5dad0-1f67-499e-9816-73a76fd1a6cb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[svn]After some discussion about the <a href="http://www.webcomposition.net/dgs">WebComposition/DGS</a> configuration
this week, we changed the usage of schema validation with the Web.config file. The
validation scope is now not bound anymore to data adapters directly. Rather we introduced
a default validation defined in the Web.config such as 
</p>
        <pre class="code">
          <span style="COLOR: rgb(0,0,255)"> &lt;</span>
          <span style="COLOR: rgb(163,21,21)">webComposition</span>
          <span style="COLOR: rgb(0,0,255)">&gt;
&lt;</span>
          <span style="COLOR: rgb(163,21,21)">dataGridService</span>
          <span style="COLOR: rgb(0,0,255)">&gt;
&lt;</span>
          <span style="COLOR: rgb(163,21,21)">defaultValidation</span>
          <span style="COLOR: rgb(0,0,255)">
          </span>
          <span style="COLOR: rgb(255,0,0)">scope</span>
          <span style="COLOR: rgb(0,0,255)">=</span>"<span style="COLOR: rgb(0,0,255)">None</span>"<span style="COLOR: rgb(0,0,255)">/&gt;<br />
... </span></pre>
        <p>
          <a href="http://11011.net/software/vspaste">
          </a>Valid values are 'None', 'List' and
'Element'.This schema scope represents the default schema validation scope whenever
an information store is created and data is added. If set to 'None' no validation
is performed at all. Using 'Element' the added XML is validated against the schema
(a-priori validation) before the element is added to the information store while 
the usage of 'List' causes the data to be validated against the schema after being
added to the information store (a posteriori validation).
</p>
        <p>
The settings can be easily overwritten by using RDF meta data e.g. when using the
N3 filter on a information store http://www.foo.bar/myStore: 
</p>
        <p>
&lt;http://www.foo.bar/myStore&gt;<br />
http://www.webcomposition.net/2008/02/dgs/meta/validation 
<br />
"Element".
</p>
        <p>
That way, the default value can be always adapted to the specific need for a single
information store.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=66b5dad0-1f67-499e-9816-73a76fd1a6cb" />
      </body>
      <title>WebComposition/DGS Update</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,66b5dad0-1f67-499e-9816-73a76fd1a6cb.aspx</guid>
      <link>http://blog.aheil.de/2008/05/02/WebCompositionDGSUpdate.aspx</link>
      <pubDate>Fri, 02 May 2008 15:14:41 GMT</pubDate>
      <description>&lt;p&gt;
[svn]After some discussion about the &lt;a href="http://www.webcomposition.net/dgs"&gt;WebComposition/DGS&lt;/a&gt; configuration
this week, we changed the usage of schema validation with the Web.config file. The
validation scope is now not bound anymore to data adapters directly. Rather we introduced
a default validation defined in the Web.config such as 
&lt;/p&gt;
&lt;pre class=code&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt; &amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;webComposition&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;dataGridService&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;defaultValidation&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="COLOR: rgb(255,0,0)"&gt;scope&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="COLOR: rgb(0,0,255)"&gt;None&lt;/span&gt;"&lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;&lt;br&gt;
... &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Valid values are 'None', 'List' and
'Element'.This schema scope represents the default schema validation scope whenever
an information store is created and data is added. If set to 'None' no validation
is performed at all. Using 'Element' the added XML is validated against the schema
(a-priori validation) before the element is added to the information store while&amp;nbsp;
the usage of 'List' causes the data to be validated against the schema after being
added to the information store (a posteriori validation).
&lt;/p&gt;
&lt;p&gt;
The settings can be easily overwritten by using RDF meta data e.g. when using the
N3 filter on a information store http://www.foo.bar/myStore: 
&lt;/p&gt;
&lt;p&gt;
&amp;lt;http://www.foo.bar/myStore&amp;gt;&lt;br&gt;
http://www.webcomposition.net/2008/02/dgs/meta/validation 
&lt;br&gt;
"Element".
&lt;/p&gt;
&lt;p&gt;
That way, the default value can be always adapted to the specific need for a single
information store.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=66b5dad0-1f67-499e-9816-73a76fd1a6cb" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,66b5dad0-1f67-499e-9816-73a76fd1a6cb.aspx</comments>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=332625b1-3d15-417d-b7eb-eb66fa55f9d2</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,332625b1-3d15-417d-b7eb-eb66fa55f9d2.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,332625b1-3d15-417d-b7eb-eb66fa55f9d2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=332625b1-3d15-417d-b7eb-eb66fa55f9d2</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[svn] Another major forward integration of the <a href="http://blog.aheil.de/ct.ashx?id=f293f625-3996-41c6-96a6-4faa1915eef4&amp;url=http%3a%2f%2fblog.aheil.de%2f2008%2f04%2f19%2fDistributedVersionControlAtTheDSSEvaluationPhase.aspx">student
branch</a> of the <a href="http://www.webcomposition.net/dgs/">WebComposition/DGS</a>:
With revision 1228, CRUD events are supported on service level. I.e. each create,
read, update or delete operation on the service (or it's lists) is stored within the
meta data of the service. The vocabulary supported for the CRUD events is therefore
defined as follows:
</p>
        <ul>
          <li>
            <a href="http://www.webcomposition.net/2008/02/dgs/crud#create">http://www.webcomposition.net/2008/02/dgs/crud#create</a> for
create events. 
</li>
          <li>
            <a href="http://www.webcomposition.net/2008/02/dgs/crud#read">http://www.webcomposition.net/2008/02/dgs/crud#read</a> for
read events. 
</li>
          <li>
            <a href="http://www.webcomposition.net/2008/02/dgs/crud#update">http://www.webcomposition.net/2008/02/dgs/crud#update</a> for
update events. 
</li>
          <li>
            <a href="http://www.webcomposition.net/2008/02/dgs/crud#delete">http://www.webcomposition.net/2008/02/dgs/crud#delete</a> for
delete events.</li>
        </ul>
        <p>
Exemplary meta data fore creating, updating, reading from and deleting an information
store on a service running at 'http://localhost/dgs' would look like
</p>
        <p>
          <span style="color: rgb(0,0,255)">&lt;?</span>
          <span style="color: rgb(163,21,21)">xml</span>
          <span style="color: rgb(0,0,255)">
          </span>
          <span style="color: rgb(255,0,0)">version</span>
          <span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">1.0</span>"<span style="color: rgb(0,0,255)">?&gt;<br />
&lt;</span><span style="color: rgb(163,21,21)">rdf:RDF</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">xmlns:rdf</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.w3.org/1999/02/22-rdf-syntax-ns#</span>"<br /><span style="color: rgb(0,0,255)">        </span><span style="color: rgb(255,0,0)">xmlns:dc</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://purl.org/dc/elements/1.1/</span>"<br /><span style="color: rgb(0,0,255)">        </span><span style="color: rgb(255,0,0)">xmlns:dm</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.webcomposition.net/2008/02/dgs/meta/</span>"<br /><span style="color: rgb(0,0,255)">        </span><span style="color: rgb(255,0,0)">xmlns:crud</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://www.webcomposition.net/2008/02/dgs/crud</span>"<span style="color: rgb(0,0,255)">&gt;<br />
    &lt;</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:about</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://localhost/dgs</span>"<span style="color: rgb(0,0,255)">&gt;<br />
        &lt;</span><span style="color: rgb(163,21,21)">crud:create</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:resource</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://localhost/dgs/store</span>"<span style="color: rgb(0,0,255)"> /&gt;<br />
        &lt;</span><span style="color: rgb(163,21,21)">crud:update</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:resource</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://localhost/dgs/store</span>"<span style="color: rgb(0,0,255)"> /&gt;<br />
        &lt;</span><span style="color: rgb(163,21,21)">crud:read</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:resource</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://localhost/dgs/store</span>"<span style="color: rgb(0,0,255)"> /&gt;<br />
        &lt;</span><span style="color: rgb(163,21,21)">crud:delete</span><span style="color: rgb(0,0,255)"></span><span style="color: rgb(255,0,0)">rdf:resource</span><span style="color: rgb(0,0,255)">=</span>"<span style="color: rgb(0,0,255)">http://localhost/dgs/store</span>"<span style="color: rgb(0,0,255)"> /&gt;<br />
    &lt;/</span><span style="color: rgb(163,21,21)">rdf:Description</span><span style="color: rgb(0,0,255)">&gt;<br />
    ... 
<br /></span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(163,21,21)">rdf:RDF</span><span style="color: rgb(0,0,255)">&gt;</span></p>
        <a href="http://11011.net/software/vspaste">
          <a href="http://11011.net/software/vspaste">
          </a>
          <p>
The CRUD event meta data can be obtained as by the /meta URL of the corresponding
service.
</p>
          <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=332625b1-3d15-417d-b7eb-eb66fa55f9d2" />
        </a>
      </body>
      <title>WebComposition/DGS Update</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,332625b1-3d15-417d-b7eb-eb66fa55f9d2.aspx</guid>
      <link>http://blog.aheil.de/2008/04/28/WebCompositionDGSUpdate.aspx</link>
      <pubDate>Mon, 28 Apr 2008 19:38:34 GMT</pubDate>
      <description>&lt;p&gt;
[svn] Another major forward integration of the &lt;a href="http://blog.aheil.de/ct.ashx?id=f293f625-3996-41c6-96a6-4faa1915eef4&amp;amp;url=http%3a%2f%2fblog.aheil.de%2f2008%2f04%2f19%2fDistributedVersionControlAtTheDSSEvaluationPhase.aspx"&gt;student
branch&lt;/a&gt; of the &lt;a href="http://www.webcomposition.net/dgs/"&gt;WebComposition/DGS&lt;/a&gt;:
With revision 1228, CRUD events are supported on service level. I.e. each create,
read, update or delete operation on the service (or it's lists) is stored within the
meta data of the service. The vocabulary supported for the CRUD events is therefore
defined as follows:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.webcomposition.net/2008/02/dgs/crud#create"&gt;http://www.webcomposition.net/2008/02/dgs/crud#create&lt;/a&gt; for
create events. 
&lt;li&gt;
&lt;a href="http://www.webcomposition.net/2008/02/dgs/crud#read"&gt;http://www.webcomposition.net/2008/02/dgs/crud#read&lt;/a&gt; for
read events. 
&lt;li&gt;
&lt;a href="http://www.webcomposition.net/2008/02/dgs/crud#update"&gt;http://www.webcomposition.net/2008/02/dgs/crud#update&lt;/a&gt; for
update events. 
&lt;li&gt;
&lt;a href="http://www.webcomposition.net/2008/02/dgs/crud#delete"&gt;http://www.webcomposition.net/2008/02/dgs/crud#delete&lt;/a&gt; for
delete events.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Exemplary meta data fore creating, updating, reading from and deleting an information
store on a service running at 'http://localhost/dgs' would look like
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;?&amp;gt;&lt;br&gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:RDF&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:rdf&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/span&gt;"&lt;br&gt;
&lt;span style="color: rgb(0,0,255)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:dc&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://purl.org/dc/elements/1.1/&lt;/span&gt;"&lt;br&gt;
&lt;span style="color: rgb(0,0,255)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:dm&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.webcomposition.net/2008/02/dgs/meta/&lt;/span&gt;"&lt;br&gt;
&lt;span style="color: rgb(0,0,255)"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;xmlns:crud&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://www.webcomposition.net/2008/02/dgs/crud&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:about&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost/dgs&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;crud:create&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:resource&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost/dgs/store&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;crud:update&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:resource&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost/dgs/store&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;crud:read&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:resource&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost/dgs/store&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;crud:delete&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;rdf:resource&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost/dgs/store&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:Description&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ... 
&lt;br&gt;
&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;rdf:RDF&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
The CRUD event meta data can be obtained as by the /meta URL of the corresponding
service.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=332625b1-3d15-417d-b7eb-eb66fa55f9d2" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,332625b1-3d15-417d-b7eb-eb66fa55f9d2.aspx</comments>
      <category>DGS</category>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=f293f625-3996-41c6-96a6-4faa1915eef4</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,f293f625-3996-41c6-96a6-4faa1915eef4.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,f293f625-3996-41c6-96a6-4faa1915eef4.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=f293f625-3996-41c6-96a6-4faa1915eef4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[svn]Today, I got the first feedback by some of the students about the WebComposition/DGS.
Beside the typical start-with-a-new-technology issues considering Visual Studio 2008,
ASP.NET and WCF, it looks like the first steps are done successfully. Based on the
feedback I received during the day I did several fixes beside the regular enhancements.
This evening, I performed a forward integration to incorporate the latest fixes. If
you are using the <a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx">Student
Branch</a>, please make sure to  update to revision 1211.  
</p>
        <p>
Changes for today include:
</p>
        <ul>
          <li>
updated XML documentation of WebComposition.Dgs.Content namespace 
</li>
          <li>
added notes about AppData/Service folder to DemoWeb 
</li>
          <li>
added tests for meta data on service and information store level 
</li>
          <li>
fixed '400 Bad Request' when no write access to AppData folder is given 
</li>
          <li>
fixed <a href="http://razor.occams.info/code/semweb/">SemWeb.dll</a> reference in
Content project, now expected to be in /External</li>
        </ul>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=f293f625-3996-41c6-96a6-4faa1915eef4" />
      </body>
      <title>WebComposition/DGS Update</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,f293f625-3996-41c6-96a6-4faa1915eef4.aspx</guid>
      <link>http://blog.aheil.de/2008/04/23/WebCompositionDGSUpdate.aspx</link>
      <pubDate>Wed, 23 Apr 2008 22:03:44 GMT</pubDate>
      <description>&lt;p&gt;
[svn]Today, I got the first feedback by some of the students about the WebComposition/DGS.
Beside the typical start-with-a-new-technology issues considering Visual Studio 2008,
ASP.NET and WCF, it looks like the first steps are done successfully. Based on the
feedback I received during the day I did several fixes beside the regular enhancements.
This evening, I performed a forward integration to incorporate the latest fixes. If
you are using the &lt;a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx"&gt;Student
Branch&lt;/a&gt;, please make sure to&amp;nbsp; update to revision 1211.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Changes for today include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
updated XML documentation of WebComposition.Dgs.Content namespace 
&lt;li&gt;
added notes about AppData/Service folder to DemoWeb 
&lt;li&gt;
added tests for meta data on service and information store level 
&lt;li&gt;
fixed '400 Bad Request' when no write access to AppData folder is given 
&lt;li&gt;
fixed &lt;a href="http://razor.occams.info/code/semweb/"&gt;SemWeb.dll&lt;/a&gt; reference in
Content project, now expected to be in /External&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=f293f625-3996-41c6-96a6-4faa1915eef4" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,f293f625-3996-41c6-96a6-4faa1915eef4.aspx</comments>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=18eb9876-c9b4-43a8-bc39-f71ca03bdbd5</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,18eb9876-c9b4-43a8-bc39-f71ca03bdbd5.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,18eb9876-c9b4-43a8-bc39-f71ca03bdbd5.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=18eb9876-c9b4-43a8-bc39-f71ca03bdbd5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[svn]I spend the weekend it setting up the <a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx">VSR's
distributed version control system</a>. From this morning on, the student branch is
fully sync'ed and ready to be compiled. Make sure to read the readme.txt in the root
directory of the project and copy the <a href="http://razor.occams.info/code/semweb/">SemWeb.dll</a> into
your External directory before the first compile run.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=18eb9876-c9b4-43a8-bc39-f71ca03bdbd5" />
      </body>
      <title>WebComposition/DGS Student Branch Set Up</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,18eb9876-c9b4-43a8-bc39-f71ca03bdbd5.aspx</guid>
      <link>http://blog.aheil.de/2008/04/21/WebCompositionDGSStudentBranchSetUp.aspx</link>
      <pubDate>Mon, 21 Apr 2008 08:36:05 GMT</pubDate>
      <description>&lt;p&gt;
[svn]I spend the weekend it setting up the &lt;a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx"&gt;VSR's
distributed version control system&lt;/a&gt;. From this morning on, the student branch is
fully sync'ed and ready to be compiled. Make sure to read the readme.txt in the root
directory of the project and copy the &lt;a href="http://razor.occams.info/code/semweb/"&gt;SemWeb.dll&lt;/a&gt; into
your External directory before the first compile run.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=18eb9876-c9b4-43a8-bc39-f71ca03bdbd5" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,18eb9876-c9b4-43a8-bc39-f71ca03bdbd5.aspx</comments>
      <category>VSR</category>
      <category>WebComposition</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=104b6cff-1493-4a98-bbd4-edb5f55aa81f</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,104b6cff-1493-4a98-bbd4-edb5f55aa81f.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,104b6cff-1493-4a98-bbd4-edb5f55aa81f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=104b6cff-1493-4a98-bbd4-edb5f55aa81f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[svn]In preparation for our first LAKS meeting, I did a major forward integration
of the WebComposition/DGS trunk into our <a href="http://blog.aheil.de/ct.ashx?id=a5a2b085-940d-4463-b57d-cf1cb8d026a0&amp;url=https%3a%2f%2fvsr.informatik.tu-chemnitz.de%2frepos%2fvsr%2fsrc%2fprograms%2fdgs%2fbranches%2fstudents">student
branch</a>. The documentation in the DemoWeb project is now completely updated and
available in the student branch. Several minor updates will follow in the next few
days. A brief description how to create a private branch can be found <a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx">here</a>.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=104b6cff-1493-4a98-bbd4-edb5f55aa81f" />
      </body>
      <title>WebComposition/DGS</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,104b6cff-1493-4a98-bbd4-edb5f55aa81f.aspx</guid>
      <link>http://blog.aheil.de/2008/04/19/WebCompositionDGS.aspx</link>
      <pubDate>Sat, 19 Apr 2008 21:56:42 GMT</pubDate>
      <description>&lt;p&gt;
[svn]In preparation for our first LAKS meeting, I did a major forward integration
of the WebComposition/DGS trunk into our &lt;a href="http://blog.aheil.de/ct.ashx?id=a5a2b085-940d-4463-b57d-cf1cb8d026a0&amp;amp;url=https%3a%2f%2fvsr.informatik.tu-chemnitz.de%2frepos%2fvsr%2fsrc%2fprograms%2fdgs%2fbranches%2fstudents"&gt;student
branch&lt;/a&gt;. The documentation in the DemoWeb project is now completely updated and
available in the student branch. Several minor updates will follow in the next few
days. A brief description how to create a private branch can be found &lt;a href="http://blog.aheil.de/2008/04/19/DistributedVersionControlAtTheDSSEvaluationPhase.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=104b6cff-1493-4a98-bbd4-edb5f55aa81f" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,104b6cff-1493-4a98-bbd4-edb5f55aa81f.aspx</comments>
      <category>VSR</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=948e1a4e-da76-493c-b918-395070fcd5bf</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,948e1a4e-da76-493c-b918-395070fcd5bf.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,948e1a4e-da76-493c-b918-395070fcd5bf.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=948e1a4e-da76-493c-b918-395070fcd5bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[clock]The first Learn And Knowledge Sharing (LAKS) Meeting at the <a href="http://vsr.informatik.tu-chemnitz.de/">Distributed
and Self-organizing Systems Group</a> will be held at Wednesday, the 30th April 2008
in <a href="http://www.tu-chemnitz.de/tu/lageplan/campusfinder/campusfinder.php?id=37&amp;objekt_id=400">Room
B203</a>. The time is 13:00 - 16:00 . The following appointments will be every Thursday,
13:00 - 16:00 in Room B203.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=948e1a4e-da76-493c-b918-395070fcd5bf" />
      </body>
      <title>First LAKS Meeting</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,948e1a4e-da76-493c-b918-395070fcd5bf.aspx</guid>
      <link>http://blog.aheil.de/2008/04/18/FirstLAKSMeeting.aspx</link>
      <pubDate>Fri, 18 Apr 2008 23:09:09 GMT</pubDate>
      <description>&lt;p&gt;
[clock]The first Learn And Knowledge Sharing (LAKS) Meeting at the &lt;a href="http://vsr.informatik.tu-chemnitz.de/"&gt;Distributed
and Self-organizing Systems Group&lt;/a&gt; will be held at Wednesday, the 30th April 2008
in &lt;a href="http://www.tu-chemnitz.de/tu/lageplan/campusfinder/campusfinder.php?id=37&amp;amp;objekt_id=400"&gt;Room
B203&lt;/a&gt;. The time is 13:00 - 16:00 . The following appointments will be every Thursday,
13:00 - 16:00 in Room B203.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=948e1a4e-da76-493c-b918-395070fcd5bf" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,948e1a4e-da76-493c-b918-395070fcd5bf.aspx</comments>
      <category>VSR</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=7f83c196-efd8-463d-8f6f-8409991589e9</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,7f83c196-efd8-463d-8f6f-8409991589e9.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,7f83c196-efd8-463d-8f6f-8409991589e9.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=7f83c196-efd8-463d-8f6f-8409991589e9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="W3C" href="http://www.w3.org">
            <img style="margin: 0px 5px 5px 0px" height="43" alt="W3C" src="http://blog.aheil.de/content/binary/N3Validator_F874/w3c_home.png" width="62" align="left" border="0" />
          </a> While
dealing a lot with RDF and Notation3 (N3),  I was looking for a way to check
my N3 expressions. At W3C's site you can find a <a title="Notation3 Validator" href="http://www.w3.org/2005/01/yacker/uploads/notation3">N3
validator</a> that allows you to validate your statements against Notation3 grammar.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=7f83c196-efd8-463d-8f6f-8409991589e9" />
      </body>
      <title>N3 Validator</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,7f83c196-efd8-463d-8f6f-8409991589e9.aspx</guid>
      <link>http://blog.aheil.de/2008/03/25/N3Validator.aspx</link>
      <pubDate>Tue, 25 Mar 2008 16:40:08 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="W3C" href="http://www.w3.org"&gt;&lt;img style="margin: 0px 5px 5px 0px" height="43" alt="W3C" src="http://blog.aheil.de/content/binary/N3Validator_F874/w3c_home.png" width="62" align="left" border="0"&gt;&lt;/a&gt; While
dealing a lot with RDF and Notation3 (N3),&amp;nbsp; I was looking for a way to check
my N3 expressions. At W3C's site you can find a &lt;a title="Notation3 Validator" href="http://www.w3.org/2005/01/yacker/uploads/notation3"&gt;N3
validator&lt;/a&gt; that allows you to validate your statements against Notation3 grammar.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=7f83c196-efd8-463d-8f6f-8409991589e9" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,7f83c196-efd8-463d-8f6f-8409991589e9.aspx</comments>
      <category>Research</category>
      <category>VSR</category>
      <category>Web 2.0</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=bc372b3b-59b4-4432-bd90-ebd3b629141e</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,bc372b3b-59b4-4432-bd90-ebd3b629141e.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,bc372b3b-59b4-4432-bd90-ebd3b629141e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=bc372b3b-59b4-4432-bd90-ebd3b629141e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="margin: 0px 5px 5px 0px" height="50" alt="acm_logo" src="http://blog.aheil.de/content/binary/REALWSNWorkshop_4803/acm_logo.gif" width="50" align="left" border="0" /> I
recently got accepted a paper at the <a href="http://www.sics.se/realwsn08/">REALWSN'08</a> workshop
that is in conjunction with <a href="http://www.dcs.gla.ac.uk/Conferences/EuroSys2008/">ACM
EuroSys 2008</a> in Glasgow, Scotland. The paper deals with a <a href="http://research.microsoft.com/projects/cambridge/habitats/">project</a> performed
by Microsoft Research Cambridge using a wireless sensor network deployed on Skomer
island in the UK, monitoring the Manx Shearwater seabird.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=bc372b3b-59b4-4432-bd90-ebd3b629141e" />
      </body>
      <title>REALWSN Workshop</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,bc372b3b-59b4-4432-bd90-ebd3b629141e.aspx</guid>
      <link>http://blog.aheil.de/2008/03/12/REALWSNWorkshop.aspx</link>
      <pubDate>Wed, 12 Mar 2008 04:07:19 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="margin: 0px 5px 5px 0px" height="50" alt="acm_logo" src="http://blog.aheil.de/content/binary/REALWSNWorkshop_4803/acm_logo.gif" width="50" align="left" border="0"&gt; I
recently got accepted a paper at the &lt;a href="http://www.sics.se/realwsn08/"&gt;REALWSN'08&lt;/a&gt; workshop
that is in conjunction with &lt;a href="http://www.dcs.gla.ac.uk/Conferences/EuroSys2008/"&gt;ACM
EuroSys 2008&lt;/a&gt; in Glasgow, Scotland. The paper deals with a &lt;a href="http://research.microsoft.com/projects/cambridge/habitats/"&gt;project&lt;/a&gt; performed
by Microsoft Research Cambridge using a wireless sensor network deployed on Skomer
island in the UK, monitoring the Manx Shearwater seabird.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=bc372b3b-59b4-4432-bd90-ebd3b629141e" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,bc372b3b-59b4-4432-bd90-ebd3b629141e.aspx</comments>
      <category>Microsoft</category>
      <category>Research</category>
      <category>VSR</category>
    </item>
    <item>
      <trackback:ping>http://blog.aheil.de/Trackback.aspx?guid=f03ab6df-8ec2-4bcd-814b-d14d1fd56392</trackback:ping>
      <pingback:server>http://blog.aheil.de/pingback.aspx</pingback:server>
      <pingback:target>http://blog.aheil.de/PermaLink,guid,f03ab6df-8ec2-4bcd-814b-d14d1fd56392.aspx</pingback:target>
      <dc:creator>Andreas Heil</dc:creator>
      <wfw:comment>http://blog.aheil.de/CommentView,guid,f03ab6df-8ec2-4bcd-814b-d14d1fd56392.aspx</wfw:comment>
      <wfw:commentRss>http://blog.aheil.de/SyndicationService.asmx/GetEntryCommentsRss?guid=f03ab6df-8ec2-4bcd-814b-d14d1fd56392</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="MARGIN: 0px 10px 10px 0px" height="48" alt="RDF Metadata" src="http://blog.aheil.de/content/binary/Firstunderstand_B874/rdf.gif" width="44" align="left" border="0" /> Following
the VSR group's <a href="https://vsr.informatik.tu-chemnitz.de/about/[2]">main idea</a>,
I spend some time in updating my personal <a href="http://www.aheil.de/foaf.xml">FOAF
file</a>. The best way to understand Semantic Web is practicing it. The resource you
know the most about is your person. So, <a href="http://www.foaf-project.org/">FOAF</a> provides
you some neat opportunities to get in touch with <a href="http://www.w3.org/RDF/">W3C's
RDF technology</a>.
</p>
        <img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=f03ab6df-8ec2-4bcd-814b-d14d1fd56392" />
      </body>
      <title>First understand</title>
      <guid isPermaLink="false">http://blog.aheil.de/PermaLink,guid,f03ab6df-8ec2-4bcd-814b-d14d1fd56392.aspx</guid>
      <link>http://blog.aheil.de/2008/02/15/FirstUnderstand.aspx</link>
      <pubDate>Fri, 15 Feb 2008 12:07:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="MARGIN: 0px 10px 10px 0px" height=48 alt="RDF Metadata" src="http://blog.aheil.de/content/binary/Firstunderstand_B874/rdf.gif" width=44 align=left border=0&gt; Following
the VSR group's &lt;a href="https://vsr.informatik.tu-chemnitz.de/about/[2]"&gt;main idea&lt;/a&gt;,
I spend some time in updating my personal &lt;a href="http://www.aheil.de/foaf.xml"&gt;FOAF
file&lt;/a&gt;. The best way to understand Semantic Web is practicing it. The resource you
know the most about is your person. So, &lt;a href="http://www.foaf-project.org/"&gt;FOAF&lt;/a&gt; provides
you some neat opportunities to get in touch with &lt;a href="http://www.w3.org/RDF/"&gt;W3C's
RDF technology&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.aheil.de/aggbug.ashx?id=f03ab6df-8ec2-4bcd-814b-d14d1fd56392" /&gt;</description>
      <comments>http://blog.aheil.de/CommentView,guid,f03ab6df-8ec2-4bcd-814b-d14d1fd56392.aspx</comments>
      <category>VSR</category>
      <category>Web 2.0</category>
    </item>
  </channel>
</rss>