<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>All Posts</title>
  <link rel="alternate" type="text/html" href="http://bnode.org/blog/all" />
  <link rel="self" type="application/atom+xml" href="http://bnode.org/blog/atom1/all.atom.atom" />
  <id>http://bnode.org/res/channel/all</id>
  <updated>2008-05-13T07:50Z</updated>
  <author>
    <name>Benjamin Nowack</name>
  </author>
  <generator uri="http://semsol.com/" version="0.2.0">SemSol</generator>

  <entry>
    <title>RDFa button (inofficial)</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/05/13/rdfa-button"/>
    <id>http://bnode.org/blog/2008/05/13/rdfa-button</id>
    <published>2008-05-13T07:50Z</published>
    <updated>2008-05-13T17:31:43Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>An inofficial light-blue RDFa button</summary>
    <category term="button"/>
    <category term="icon"/>
    <category term="rdfa"/>
    <category term="semanticweb"/>
    <category term="w3c"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<em>Update/Note: This is not an official RDFa button, those (in the known colours) will be provided by W3C's Communications Team once RDFa is a Rec or CRec.</em>
<div class="hr"><hr /></div>
A couple of days ago I created an RDFa technology button, and I was asked to share it, so here it is:<br />
<br />
<img src="http://bnode.org/media/2008/05/13/sw-rdfa-lightblue.png" class="plain" title="RDFa" alt="RDFa" /><br />
 (<a href="http://bnode.org/media/2008/05/13/sw-rdfa-lightblue.png">PNG</a>, <a href="http://bnode.org/media/2008/05/13/sw-rdfa-lightblue.gif">GIF</a>, <a href="http://bnode.org/media/2008/05/13/sw-rdfa-lightblue-v.svg">SVG source file</a>)<br />
<br />
Please see the <a href="http://www.w3.org/2007/10/sw-logos.html">W3C Semantic Web Logos and Policies page</a> for license details. This button is derived from the original W3C ones.
      </div>
    </content>
  </entry>

  <entry>
    <title>Adding (partial) RDFa support to the Firefox HTML Validator extension</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/04/23/adding-partial-rdfa-support-to-the-firefox-html-validator-extension"/>
    <id>http://bnode.org/blog/2008/04/23/adding-partial-rdfa-support-to-the-firefox-html-validator-extension</id>
    <published>2008-04-23T19:45Z</published>
    <updated>2008-04-24T14:53:57Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>Improving QA issues caused by RDFa</summary>
    <category term="dtd"/>
    <category term="firefox"/>
    <category term="html validator"/>
    <category term="intellidimension"/>
    <category term="namespaces"/>
    <category term="rdfa"/>
    <category term="semanticweb"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<strong>Update</strong> (2008-04-24): I managed to get rid of the xmlns-related errors (.replace() to the rescue ;), so the extension now accepts markup that follows the latest RDFa DTD (including @typeof). And while at it, I created versions for <a href="http://bnode.org/media/2008/04/24/html_validator-0.8.4.0-rdfa-win.xpi">win</a> and <a href="http://bnode.org/media/2008/04/24/html_validator-0.8.4.0-rdfa-mac.xpi">mac</a>.<br />
<div class="hr"><hr /></div>
One of the reasons I haven't been using RDFa in production is the problem of quality assurance (a.k.a. plain old html validation). Not because RDFa isn't valid markup as such, but the main tool I'm using during development is Marc Gueury's excellent <a href="http://users.skynet.be/mgueury/mozilla/index.html">HTML Validator Extension for Firefox</a>. RDFa is valid XHTML+RDFa, but XHTML+RDFa is not HTML, so the extension reports dozens of errors starting with the unrecognized Doctype declaration. The <a href="http://validator.w3.org">W3C Markup Validator</a> supports RDFa, but I often develop while I'm offline, or on a non-public Web server, and the little &quot;0 errors / 0 warnings&quot; message in the status bar is more convenient than having to send markup to an online service.<br />
<br />
Yesterday, however, I started working on an RDFa generator for one of <a href="http://intellidimension.com/">Intellidimension</a>'s projects (Very interesting to see them use RDF big time, while many of us are still experimenting and thinking about potential markets, BTW). So, now that the RDFa-caused messages made it almost impossible to spot real HTML errors, I wondered if the add-on could perhaps be hacked to accept RDFa as well. Long story short: It can, to a certain extent. I don't know if arbitrary XML namespace prefixes (<code>xmlns:foo=&quot;...&quot;</code>) can be supported by a pure DTD/SGML-based validator (the FF extension uses <a href="http://openjade.sourceforge.net/">openSP</a>). FWIW, I couldn't get it to work.<br />
<br />
Apart from that, RDFa-enabling the extension was mainly copying the RDFa DTD and a set of modules to the plug-in's SGML library. It now happily accepts RDFa attributes (about, resource, property, datatype, content, etc) and makes my life a little bit easier. If anyone has an idea how I could make it accept (non-predefined) namespace prefixes as well, I'd appreciate hints.<br />
<br />
The tweaked extension is so far just a hack. I didn't even ping Marc yet or change the internal ID, so any extension update will remove the RDFa functionality. You can <a href="http://bnode.org/media/2008/04/24/html_validator-0.8.4.0-rdfa-win.xpi">try/download it if you like (windows version)</a>, but I may have to take it offline should Marc not be happy about the re-distribution.


      </div>
    </content>
  </entry>

  <entry>
    <title>New ARC2 plugins</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/03/31/new-arc2-plugins"/>
    <id>http://bnode.org/blog/2008/03/31/new-arc2-plugins</id>
    <published>2008-03-31T17:00Z</published>
    <updated>2008-03-31T17:24:52Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>Keith Alexander is an ARC2 plugin factory</summary>
    <category term="arc"/>
    <category term="plugins"/>
    <category term="rdf"/>
    <category term="semanticweb"/>
    <category term="talis"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
If there was a &quot;most productive SemWeb coder&quot; category in Danny's &quot;<a href="http://blogs.talis.com/nodalities/this_weeks_semantic_web/">This Week's Semantic Web</a>&quot;, this week's turn would probably be <a href="http://semwebdev.keithalexander.co.uk/blog/">Keith Alexander</a>'s. Last week, he provided no fewer than three <a href="http://arc.semsol.org/download/plugins">ARC2 Plugins</a>:
<ul><li><a href="http://n2.talis.com/svn/playground/kwijibo/PHP/arc/plugins/trunk/ARC2_RDFaSerializer/ARC2_RDFaSerializerPlugin.php">An RDFa Serializer</a></li>
<li><a href="http://n2.talis.com/svn/playground/kwijibo/PHP/arc/plugins/trunk/ARC2_IndexUtils/">Utilities for working with ARC structures</a> (e.g. filter, merge, or diff)</li>
<li><a href="http://n2.talis.com/svn/playground/kwijibo/PHP/arc/plugins/trunk/ARC2_SPARQLSerializerPlugin/">A SPARQL (Re-)Serializer</a> (very handy for checking/adjusting SPARQL queries before they are passed to the store)
</li></ul>
<br />
While at it, he also implemented a <a href="http://n2.talis.com/svn/playground/kwijibo/PHP/arc/plugins/trunk/talis/">SPARQL+ wrapper</a> for <a href="http://www.talis.com/platform/">Talis Platform</a> stores.<br />
<br />
I think I blogged about <a href="http://www.wasab.dk/morten/blog/">Morten</a>'s <a href="http://bzr.mfd-consult.dk/remote-endpoint/">RemoteEndpoint plugin</a> a while back (this one should really become part of the core codebase), but did I mention <a href="http://www.peterkrantz.com/">Peter Krantz</a>' <a href="http://www.peterkrantz.com/2008/arc-filesync-plugin1/">File System Synchronizer</a>? It keeps an RDF Store in sync with a file system directory which enables a really nice option to implement larger RDF editing systems on top of ARC: By using editing tools that work with small RDF files (quick response times and everything) and his plugin, it becomes possible to provide rich query functionality over the whole dataset without the store getting in the way of the publishing tools. RDF index rebuilding can be slow, de-coupling read from write operations and introducing an asynchronous update process is a nice solution.<br />
<br />
Awesome stuff.
      </div>
    </content>
  </entry>

  <entry>
    <title>RDFAuth, with less Story-telling</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/03/30/rdfauth-with-less-story-telling"/>
    <id>http://bnode.org/blog/2008/03/30/rdfauth-with-less-story-telling</id>
    <published>2008-03-30T13:00Z</published>
    <updated>2008-03-31T08:41:27Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>A bit of background about RDFAuth</summary>
    <category term="knowee"/>
    <category term="openid"/>
    <category term="pgp"/>
    <category term="rdf"/>
    <category term="rdfauth"/>
    <category term="semanticweb"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<strong>Update:</strong> Dan Brickley suggested (in a private mail to Henry and me) that &quot;RDFAuth&quot; is most probably not a very smart name anyway, as something that contains official/generic technologies (RDF and oAuth in this case) may send wrong signals and cause misunderstanding. And that we shouldn't waste time fighting. He suggests more specific names (BeatnikAuth/knoweeAuth) for the time being, as this is all still premature stuff, and because no one should claim to have created an &quot;RDFAuth&quot;, especially not if it isn't backed by the whole community. Well, what can I say, he's of course right. I apologize and will s/RDFAuth/knoweeAuth/ from now on.<br />
<br />
You may have read <a href="http://blogs.sun.com/bblfish">Henry Story</a>'s recent post about RDFAuth, an RDF-oriented mechanism to access (partly) protected web resources. He's not describing the RDFAuth protocol, though. I've tried to <a href="http://lists.w3.org/Archives/Public/semantic-web/2008Mar/0214.html">clarify</a> things a <a href="http://lists.w3.org/Archives/Public/semantic-web/2008Mar/0224.html">couple</a> of <a href="http://lists.w3.org/Archives/Public/semantic-web/2008Mar/0231.html">times</a> on the semantic-web list, but somehow he seems to prefer to hijack the name instead, together with parts of the idea and claim it as his invention (it's not mine either, to make things clear). Now, innovation is always based on a combination of prior work and improvements, but his &quot;<em>following my strict architectural guidelines, I came across what I am just calling RDFAuth</em>&quot; preening goes a tiny bit too far to not trigger a comment.<br />
<br />
What he describes (a PGP-based authentication protocol) is clearly interesting, but it's simply not what RDFAuth, an idea that was developed in the knowee project, is about. For knowee (which just <a href="http://knowee.org/blog/2008/03/29/knowee-alpha">released the alpha version</a>, btw), we needed something that can be implemented on basic, shared web servers. PGP is simply not an option (if considered mandatory). People won't upload their private keys to 3rd party servers, and PGP libs are not necessarily available in those environments either.<br />
<br />
Final clarifications:<br />
<ul><li>RDFAuth <em>may</em> support PGP, it's just not a requirement.</li>
<li>I'm pretty sure that Henry's PGP-only approach will attract more SemWeb geeks than RDFAuth, it just wouldn't necessarily work for knowee's target audience.</li>
<li>The RDFAuth idea is in no way special or new. It more or less predates oAuth, but long-term-ish I'll most probably have to replace it with oAuth, once there is a way to generate tokens without the browser redirect dance (fully server-side token generation is another knowee requirement).</li>
<li>I read about a token-based, decentralized identification mechanism on a very early OpenID FAQ page that described a non-browser-dependent way to log into web sites. I can't find the link anymore, but this is basically what RDFAuth is based on. So, this is not <em>my</em> idea either.</li>
<li>The possibility of combining 200 OK response headers with WWW-Authenticate was <a href="http://lists.foaf-project.org/pipermail/foaf-dev/2008-January/008826.html">suggested by Etan Wexler</a> on the FOAF mailing list</li>
<li><a href="http://danbri.org/">Dan Brickley</a> explored SPARQL-based group membership discovery a while back. I like this idea of de-coupling data exchange decisions from the identification/authorisation process very much (RDFers don't need things like <a href="http://openid.net/specs/openid-simple-registration-extension-1_0.html">sReg</a> or <a href="http://openid.net/specs/openid-attribute-exchange-1_0.html">Attribute Exchange</a>).</li>
<li>The only thing that RDFAuth adds is light-weight, personal token services (as a replacement of OpenID's browser-based identification), and the re-use of straight HTTP BasicAuth, so that partly protected resources can more easily be discovered by both server-side and client-side tools (e.g. Tabulator), and also to allow widely deployed modules like mod_php to access the login token and client identifier using built-in functionality. And I doubt that layering a protocol on top of HTTP BasicAuth hasn't been done before, so, again, nothing special to brag about here. </li></ul>

OK, enough geek whining ;), don't want to waste more time of my precious weekend.<br />
 
      </div>
    </content>
  </entry>

  <entry>
    <title>Semantic Web Aliases</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/03/04/semantic-web-aliases"/>
    <id>http://bnode.org/blog/2008/03/04/semantic-web-aliases</id>
    <published>2008-03-04T20:00Z</published>
    <updated>2008-03-05T08:28:03Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>A list of names for the Semantic Web</summary>
    <category term="aliases"/>
    <category term="semanticweb"/>
    <category term="webinale"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<strong>Update:</strong> <em>Kingsley provides a number of Web <a href="http://www.openlinksw.com/blog/~kidehen/?id=1319">references</a> for most of the buzzwords below.</em><br />
<br />
I just had an interesting twitter dispute with <a href="http://internetalchemy.org/">Ian</a>, triggered by his invention of another alias for the <a href="http://www.w3.org/2001/sw/">Semantic Web</a>. For last year's webinale I created a <a href="http://bnode.org/2007/05/22/webinale_slides/img3.html">slide</a> with which I tried to &quot;de-confuse&quot; people a little bit, I guess I'll need several slides this year. This is mostly just for future reference, not many of those are going to stick anyway:<br />
<br />
<strong>A list of terms people use to name (a subset/aspect/whatever of) the &quot;Semantic Web&quot;</strong>:
<br />
<ul><li>Semantic Web (by timbl)</li>
<li>SemWeb (by the developer community)</li>
<li>Web of Data (by timbl)</li>
<li>Data Web (by timbl)</li>
<li>The Web as a Database (by timbl)</li>
<li>Web of Knowledge (by stefandecker)</li>
<li>lowercase semantic [wW]eb (by tantek)</li>
<li>Knowledge Web (by ?)</li>
<li>Semantic Web 2.0 (by stefandecker)</li>
<li>Web 3.0 (by nova)</li>
<li>Semantic Graph (by nova)</li>
<li>Hyperdata (by danja)</li>
<li>Linked Data (by timbl)</li>
<li>Linked Data Web (by kidehen)</li>
<li>Structured Web (by the structured blogging community and mkbergman)</li>
<li>Semantic Data Web (by kidehen)</li>
<li>GGG - The Giant Global Graph (by timbl)</li>
<li>Web 3G (by iand)</li></ul>
<br />
See also: <a href="http://xkcd.com/181/">Interblag</a><br />
<br />
And I fear there are more (even w/o considering &quot;Pipe Dream&quot;, &quot;Ivory Towers Inc.&quot; and similar ones). I like &quot;Structured Web&quot; and &quot;Hyperdata&quot; very much. But at the end of the day (yes, I know silly jargon as well), I think we'll just call it the [sS]emantic [wW]eb ;-)

      </div>
    </content>
  </entry>

  <entry>
    <title>SPARQLBot 101</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/02/21/sparqlbot-101"/>
    <id>http://bnode.org/blog/2008/02/21/sparqlbot-101</id>
    <published>2008-02-21T20:10Z</published>
    <updated>2008-02-21T20:13:22Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>Michael Hausenblas has written an intro to SPARQLBot</summary>
    <category term="irc"/>
    <category term="semanticcamp"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="sparqlbot"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
While <a href="http://semsol.org/semcamp/sparqlbot">SPARQLBot</a> was mostly a fun hack for last week's <a href="http://semanticccamp.tommorris.org">SemanticCamp</a>, there is still a lot of activity on the #sparqlbot channel (it actually seems to increase). More than 30 SPARQL commands have been created. <a href="http://mhausenblas.blogr.com/">Michael Hausenblas</a> now kindly created an introduction that gives a nice overview of the stuff that has been added to the command collection so far: <a href="http://semsol.org/semcamp/wiki/sparqlbot">SPARQLBot 101</a>. Have fun, and thanks, Michael!


      </div>
    </content>
  </entry>

  <entry>
    <title>Back from SemanticCamp London</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/02/19/back-from-semanticcamp-london"/>
    <id>http://bnode.org/blog/2008/02/19/back-from-semanticcamp-london</id>
    <published>2008-02-19T09:50Z</published>
    <updated>2008-02-19T10:28:10Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>SemanticCamp London was just great.</summary>
    <category term="knowee"/>
    <category term="london"/>
    <category term="micrordf"/>
    <category term="semanticcamp"/>
    <category term="semanticcamplondon"/>
    <category term="semanticweb"/>
    <category term="sparqlbot"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<img src="http://bnode.org/media/2008/02/semcamp_badge.jpg" class="fr" title="SemanticCamp Badge" alt="SemanticCamp Badge" />Like <a href="http://semanticcamp.tommorris.org/attendees.php">many</a> other SemWeb weavers, I followed <a href="http://tommorris.org/">Tom</a>'s call for last week-end's <a href="http://semanticcamp.tommorris.org/">SemanticCamp London</a>. So much fun! I used the opportunity to discuss a number of ideas I've been pondering for quite some time, and it was great to be able to get more direct insights from microformats community members. I had the impression that the event helped bringing RDFers and microformateers a little closer together. At least in the conversations I had. There was no childish &quot;your approach is flawed/too limited/doomed to fail&quot;, and I think I didn't hear a single (serious) &quot;fundamentally&quot;. A lot of &quot;I prefer&quot;, &quot;I don't like&quot;, and a number of tongue-in-cheek comments, but that's cool as part of a starting dialog. Much better than the progress-blocking arrogance we've seen for much too long (in both camps, btw).<br />
<br />
I tried to substantiate this &quot;common goal, complementary tech&quot; notion with two little interactive demos and a tech pitch:
<ul><li>On saturday we created <a href="http://semsol.org/semcamp/sparqlbot">SPARQLBot</a>, an IRC Bot based on  <a href="http://arc.semsol.org/">ARC</a>/<a href="http://trice.semsol.org/">Trice</a> that aggregates XFN, hCard, and FOAF data, and lets you explore your &quot;online social graph&quot; with simple IRC commands. SPARQLBot is a nice example how the huge amount of high-quality microformats data can be combined with RDF technologies such as flexible storage and simple querying. (And that it only took a few hours to implement a working demo also shows how SemWeb technologies can significantly improve Web app development.)</li>
<li>I pulled an all-nighter from Sat to Sun and managed to demo the <a href="http://knowee.net">knowee beta</a> on Sunday. There are still a few bugs to fix, but an official announcement should come soon now. knowee allows you to consolidate portable social network data (XFN, hCard, FOAF, feeds) and to manage the collected information via a freebase-like <a href="http://dannyayers.com/2007/01/04/hyperdata">hyperdata</a> editor. </li>
<li>The third thing is what might be called &quot;micrordf&quot;. I didn't run a session, but discussed the idea with a couple of people and think it's worthwhile pursuing. Although certain RDF solutions could be really handy for the µF community, there are a couple of things that are considered deal breakers. Among those are the namespace prefix mechanism (esp. in any of the current RDF-in-HTML proposals, where non-predictable prefixes break reliable self-containment and CSS styling) and the need to map HTML-encoded information to non-identical and unstable RDF Schemas. What I was trying to figure out during SemanticCamp was the possibility of creating a simplified, but still RDF-compatible mechanism that would be acceptable to microformateers. It's essentially a simple, intermediate structure to represent any microformat (no need for a different syntax), and possibly also POSH data. What that would bring to the microformats community is the ability to auto-create universal parsers, a unified <a href="http://mofo.rubyforge.org/">mofo-style</a> API, and a proper test suite, which <a href="http://fberriman.com/2008/02/18/semanticcamp-london/">still seems to be lacking</a>. The RDF crowd would get a way to access microformats as resource descriptions, with the ability to map those to their RDF vocab of choice. It could perhaps even be possible to auto-generate <a href="http://www.w3.org/2001/sw/grddl-wg/">GRDDL</a> XSLTs from the micrordf definitions. More on this soon.
</li></ul>
<br />
As Yves <a href="http://blog.dbtune.org/post/2008/02/17/Yay-for-SemanticCamp">put it</a> already: Yay for SemanticCamp!


      </div>
    </content>
  </entry>

  <entry>
    <title>New ARC features: Triggers and MySQL extensions</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/02/04/new-arc-features"/>
    <id>http://bnode.org/blog/2008/02/04/new-arc-features</id>
    <published>2008-02-04T20:10Z</published>
    <updated>2008-02-04T20:21:38Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>ARC gets Triggers and MySQL function extensions </summary>
    <category term="arc"/>
    <category term="mysql"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="triggers"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
The latest <a href="http://arc.semsol.org/">ARC</a> revision got two new features: <a href="http://arc.semsol.org/docs/v2/misc/writing_triggers">SPARQL Triggers</a> and <a href="http://arc.semsol.org/docs/v2/sparql_extension_functions">MySQL function extensions for SPARQL</a>.<br />
<br />

<h4>SPARQL Triggers</h4>
Triggers in ARC were suggested by <a href="http://danbri.org/words">Dan Brickley</a>, who is experimenting with <a href="http://danbri.org/words/2008/01/22/260">dynamically populated/updated Group definitions</a>. What you can effectively do now in ARC is associating custom trigger classes with SPARQL query types, which will then be automatically called after registered query types, for example to refresh inferred Graphs:
<pre class="code">$config = array(
  ...
  'store_triggers' =&gt; array(
    /* register LOAD triggers */
    'load' =&gt; array('updateFriendsList', 'crawlXFNLinks'),
  ),
);
$ep = ARC2::getStoreEndpoint($config);
$ep-&gt;go();
</pre>
<br />

<h4>MySQL Extension Functions</h4>
<a href="http://www.wasab.dk/morten/blog/">Morten Frederiksen</a> did it again. He sent in about 10 lines of code which he suggested to add to ARC's SQL rewriter. The effect? ARC suddenly has access to dozens of  <a href="http://dev.mysql.com/doc/refman/4.1/en/functions.html">MySQL functions</a>. That's CONCAT, CURDATE, MD5, UNIX_TIMESTAMP, and many more. A <a href="http://web-semantics.org/ns/mysql/">namespace for MySQL function URIs</a> is now online, and queries look like this:
<pre class="code">PREFIX mysql: &lt;http://web-semantics.org/ns/mysql/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;<br />
SELECT ?person WHERE {
  ?person foaf:givenname ?n1 ;
          foaf:family_name ?n2 .
  FILTER (mysql:concat(?n1, &quot; &quot;, ?n2) = &quot;Alec Tronnick&quot;) .
}
</pre>

I talked a little bit more about these things with <a href="http://dannyayers.com/">Danny Ayers</a> in a <a href="http://blogs.talis.com/nodalities/2008/02/a_chat_with_benjamin_nowack.php">recent podcast</a>.

      </div>
    </content>
  </entry>

  <entry>
    <title>Project offer: Part-time RDF/OWL Modeling</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/02/04/project-offer-part-time-rdf-owl-modeling"/>
    <id>http://bnode.org/blog/2008/02/04/project-offer-part-time-rdf-owl-modeling</id>
    <published>2008-02-04T19:20Z</published>
    <updated>2008-02-04T19:34:46Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>part-time RDF/OWL modeling project</summary>
    <category term="job"/>
    <category term="owl"/>
    <category term="rdf"/>
    <category term="semanticweb"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
Here is a nice project offer I received, but that I won't have enough time to work on myself. The project is about analyzing a set of statistical reports and creating an RDF Schema or OWL Ontology for them. With help from friendly <a href="irc://irc.freenode.net/swig">#swig</a> folks, a first selection of <a href="http://riese.joanneum.at/about.html#Under_the_hood">probably</a> <a href="http://www.rdfabout.com/demo/census/">re-usable</a> <a href="http://www4.wiwiss.fu-berlin.de/eurostat/">schemas</a> could already be identified. The next task would be picking the right terms, and maybe some thoughts about additionally needed glue terms.<br />
<br />
If you are interested, please send a short mail to <em>fwd_1 at semsol dot com</em>. It will be auto-forwarded to the offerer.


      </div>
    </content>
  </entry>

  <entry>
    <title>Looking for paid (Semantic Web) Projects</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/24/looking-for-paid-semantic-web-projects"/>
    <id>http://bnode.org/blog/2008/01/24/looking-for-paid-semantic-web-projects</id>
    <published>2008-01-24T12:50Z</published>
    <updated>2008-01-25T13:52:22Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>I could need more paid projects..</summary>
    <category term="funds"/>
    <category term="job"/>
    <category term="php"/>
    <category term="rdf"/>
    <category term="semantic web"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="trice"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
<em>Update 2: Yay, I think I'm safe for the next couple of months, should have blogged much earlier. Now I'm starting to think we could really need a Job site for SemWeb people..</em><br />
<br />
<em>Update: Ah, the blogosphere. I already received some replies. One to share: Aduna is <a href="http://www.aduna-software.com/home/careers/java_software_engineer_senior.view">looking for a Java Engineer</a>.</em><br />
<div class="hr"><hr /></div>
About a year ago, I received some funds which allowed me to re-write the <a href="http://arc.semsol.org/">ARC toolkit</a>, and also to bring <a href="http://semsol.com/products">Trice</a> (a semantic web application framework for PHP) to production-readiness. However, Semantic Web Development is generally still very new, especially in the Web Agency market where I'm coming from. It's not that easy yet to keep things self-sustaining.<br />
<br />
May well be that I should <a href="http://bnode.org/blog">blog</a> less about bleeding-edge experiments, but rather about how RDF and SPARQL allow me to deploy extensible websites at a fraction of the time it used to take in the past. &quot;Release Early&quot;, &quot;Data First&quot;, &quot;Evolve on the Fly&quot;, and all those patterns that SemWeb technology enables in a web development context.<br />
<br />
Anyway, to keep things short: I'm actively (read: urgently ;-) looking for more paid projects. I'm a Web development all-rounder with particular interest in scripting languages and quite some experience in delivering RDF and frontend solutions (more details on <a href="http://bnode.org/about">my profile page</a>). While it would of course be great to work on stuff where I can use my tools, I'm available for more general web development as well. I'm most productive when I can work from my <a href="http://semsol.com/contact">office</a>, but temporary travelling is basically fine, too. The <a href="http://www.dus-int.de/dus_en/">Düsseldorf Airport</a> is just minutes away.<br />
<br />
Cheers in advance for suggestions,<br />
<span class="email"><a href="#"><span class="email_account nodisp">&#98;&#110;&#111;&#119;&#97;&#99;&#107;</span><span class="email_server nodisp">&#115;&#101;&#109;&#115;&#111;&#108;&#46;&#99;&#111;&#109;</span>&#66;&#101;&#110;&#106;&#105;</a></span>
      </div>
    </content>
  </entry>

  <entry>
    <title>Grawiki - A Wiki (and aggregator) for graph-shaped data</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/22/grawiki-a-wiki-and-aggregator-for-graph-shaped-data"/>
    <id>http://bnode.org/blog/2008/01/22/grawiki-a-wiki-and-aggregator-for-graph-shaped-data</id>
    <published>2008-01-22T20:50Z</published>
    <updated>2008-01-23T08:36:51Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>Testing a first instance of Grawiki</summary>
    <category term="freebase"/>
    <category term="grawiki"/>
    <category term="rdf editor"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="structured web database"/>
    <category term="ui"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
In case you watched the <a href="http://bnode.org/blog/2007/12/22/driftr-linked-data-browser-and-editor-screencast">&quot;DriftR&quot; screencast</a> I created in December, there is now <a href="http://bnode.org/grawiki/bengee">a live version online</a>. (I dropped the initial name, my blog posts suddenly showed up in <a href="http://www.crunchbase.com/company/driftr">CrunchBase</a>. ;-)<br />
<br />
Grawiki is a SPARQL-based Data Wiki, a little bit inspired by <a href="http://freebase.com/">freebase</a>, less impressive, feature-rich, scalable and all that, but, well, OpenSource, SemWeb-enabled, and decentralized (each Grawiki installation can import selected graphs from other ones, back-POSTing is <a href="http://bnode.org/blog/2008/01/15/arc-data-wiki-plugin">in the works</a>). As it seems that I forgot to write-protect the instance mentioned above, you can play with it if you like. You'll most probably encounter bugs, the built-in inferencer is still at alpha stage, and editing of consolidated bnodes is quite tricky to implement. I'll tweak things in a day or two.<br />
<br />
With Grawiki, I think I finally have (the start of) a tool that could work nicely for ad-hoc RDF editing and aggregation (it can import RDF and certain microformats). Oh, and a personal <a href="http://bnode.org/grawiki/bengee#self">URI</a>, and <a href="http://bnode.org/grawiki/r/bengee">a FOAF file</a>. At last ;-)<br />
<br />
I'm now considering the addition of RDFa injections as a possible next step, the current editor uses a home-grown mechanism to activate the editing hooks and stuff, which was easier to implement and debug in my XHTML 1.0 development environment. Stay tuned, a download site probably won't be up before next week, gotta focus on urrrgent SWEO/knowee todos first...

      </div>
    </content>
  </entry>

  <entry>
    <title>ARC Remote Endpoint Plugin</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/16/arc-remote-endpoint-plugin"/>
    <id>http://bnode.org/blog/2008/01/16/arc-remote-endpoint-plugin</id>
    <published>2008-01-16T14:50Z</published>
    <updated>2008-01-16T14:52:28Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>Morten released his Remote Endpoint Plugin for ARC</summary>
    <category term="arc"/>
    <category term="morten"/>
    <category term="plugin"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
OK, you're probably already wondering if Morten and I have a link exchange contract, but anyway: He just <a href="http://www.wasab.dk/morten/blog/archives/2008/01/15/sparql-in-4-lines-of-php">announced</a> a plugin for <a href="http://arc.semsol.org/">ARC</a> that provides &quot;access to remote SPARQL endpoints as if they were local stores.&quot; <a href="http://bzr.mfd-consult.dk/remote-endpoint/">Cool stuff</a> :-)
      </div>
    </content>
  </entry>

  <entry>
    <title>SPARQL is a W3C Recommendation</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/15/sparql-is-a-w3c-recommendation"/>
    <id>http://bnode.org/blog/2008/01/15/sparql-is-a-w3c-recommendation</id>
    <published>2008-01-15T19:45Z</published>
    <updated>2008-01-15T19:46:09Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>The W3C moves SPARQL to REC status. ARC is part of the Implementation Survey</summary>
    <category term="arc"/>
    <category term="rap"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="w3c"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
I guess I already pushed out enough <a href="http://arc.semsol.org/">ARC</a> spam today, so I'll keep things short: <a href="http://www.w3.org/2007/12/sparql-pressrelease">SPARQL is now a W3C Recommendation</a>!<br />
<br />
What I'm personally very happy about is the <a href="http://www.w3.org/2001/sw/DataAccess/impl-report-ql">Implementation Survey</a> which features two pure-PHP implementations*. This really opens the door for mainstream Web Developers to start exploring RDF and SPARQL on off-the-shelf hosted web servers. Everything I create these days (e.g. the ARC site, including the bots and archive generators there, or this blog) is powered by SPARQL. It's an amazing productivity booster as you never have to worry about complicated JOINs or evolving database schemas again. You can just code away and it's great fun to work with. Want more Testimonials? The Data Access Working Group <a href="http://www.w3.org/2007/12/sparql-testimonial">collected quite a number of them</a> from W3C member organizations.<br />
<br />
<em>* Don't let yourself be fooled by <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/">RAP</a>'s low report scores, their SPARQL engine is quite mature, they just didn't run the whole test suite.</em>

      </div>
    </content>
  </entry>

  <entry>
    <title>RDF Tools - An RDF Store for WordPress </title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/15/rdf-tools-an-rdf-store-for-wordpress"/>
    <id>http://bnode.org/blog/2008/01/15/rdf-tools-an-rdf-store-for-wordpress</id>
    <published>2008-01-15T15:10Z</published>
    <updated>2008-01-15T14:57:15Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>The ARC WordPress Extension adds an RDF Store to the WordPress Blogging System</summary>
    <category term="arc"/>
    <category term="knowee"/>
    <category term="php"/>
    <category term="plugin"/>
    <category term="rdf tools"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="wordpress"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
Together with <a href="http://www.wasab.dk/morten/blog/">Morten Frederiksen</a> and <a href="http://danbri.org/words/">Dan Brickley</a> (who is revisiting his <a href="http://rdf4food.org/moin.cgi/SparqlPress">SparqlPress</a> idea), I've created a <a href="http://wordpress.org/">WordPress</a> extension (called <a href="http://arc.semsol.org/download">&quot;RDF Tools&quot;</a>) that adds an (<a href="http://arc.semsol.org/">ARC</a>-based) RDF Store and SPARQL Endpoint to the blogging system. The store is kept separate from the WP tables (i.e. it's not a wrapper), but you can use WP's nice admin screens to configure it (<a href="http://arc.semsol.org/media/2008/01/11/rdf-tools-admin.gif">screenshot</a>), and given the amount of developer-friendly hooks that WP offers, I'm curious what can be done now, possibly in combination with other extensions such as those <a href="http://apassant.net/blog/2008/01/06/wordpress-foaf-openid-updated/">Alexandre Passant is working on</a>. It could perhaps also be handy as a deployment accelerator for <a href="http://knowee.org/">knowee</a>.
      </div>
    </content>
  </entry>

  <entry>
    <title>ARC Data Wiki Plugin</title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://bnode.org/blog/2008/01/15/arc-data-wiki-plugin"/>
    <id>http://bnode.org/blog/2008/01/15/arc-data-wiki-plugin</id>
    <published>2008-01-15T13:50Z</published>
    <updated>2008-01-15T14:06:31Z</updated>
    <author>
      <name>Benjamin Nowack</name>
    </author>
    <summary>ARC now supports Plugins, one of them is a Data Wiki that speaks SPARQL+ and workd with Tabulator</summary>
    <category term="arc"/>
    <category term="data wiki"/>
    <category term="rdf"/>
    <category term="semanticweb"/>
    <category term="sparql"/>
    <category term="sparql update"/>
    <category term="sparql+"/>
    <category term="sparul"/>
    <category term="tabulator"/>
    <content type="xhtml" xml:lang="en">
      <div xmlns="http://www.w3.org/1999/xhtml">
I'm blessed with a small but first-class community around <a href="http://arc.semsol.org/">ARC</a> that helps me with bug reports, patches, encouraging feedback, and nifty ideas. One example for the latter was <a href="http://www.wasab.dk/morten/blog/">Morten Frederiksen</a>'s invention to allow ARC to be extended with third party plugins. He even demonstrated the utility by enhancing the toolkit with a remote SPARQL endpoint for his <a href="http://www.wasab.dk/morten/blog/archives/2008/01/08/named-graph-exchange">named graph exchange work</a>. <a href="http://arc.semsol.org/download/plugins/">ARC plugins</a> are not bundled with the core codebase (which is meant to stay compact), but can easily be integrated in any ARC installation (<a href="http://arc.semsol.org/docs/v2/misc/writing_plugins">Developer documentation</a> is now online, too).<br />
<br />
My first <em>own</em> plugin was triggered by <a href="http://arc.semsol.org/community/irc/logs/2008/01/04#T14:21:15Z">Tim Berners-Lee's suggestion</a> to write a lightweight request handler for an RDF-powered Data Wiki, as described in a <a href="http://eprints.ecs.soton.ac.uk/14773/1/tabulatorWritingTechRep.pdf">recent Tech Report (PDF)</a> and already <a href="http://dig.csail.mit.edu/2007/wiki/">implemented with Algae</a>. I had to tweak the <a href="http://arc.semsol.org/docs/v2/sparql+">SPARQL+ spec</a> and ARC's Query Parser to make it compatible with <a href="http://www.w3.org/People/Eric/">Eric Prud'hommeaux</a>'s SPARQL/Update flavor. This had the nice side-effect that all three SPARQL Write proposals (<a href="http://jena.hpl.hp.com/~afs/SPARQL-Update.html">SPARUL</a>, <a href="http://dev.w3.org/perl/modules/W3C/Rdf/SparqlGrammar.bnf">SPARQL/Update</a>, SPARQL+) now (almost) share a common subset for basic INSERTs and DELETEs. After these updates, writing the plugin itself became almost trivial.<br />
<br />
The code is still experimental and limited, but it's <a href="http://arc.semsol.org/download/plugins/">available for download</a>, together with <a href="http://arc.semsol.org/download/plugins/data_wiki">setup instructions</a>. The Data Wiki plugin doesn't require a database (unlike the other SPARQL components in ARC) and supports update calls sent by RDF editors such as the <a href="http://www.w3.org/2005/ajar/tab">Tabulator</a>. I've set up a <a href="http://arc.semsol.org/demos/wiki/">demo RDF wiki</a> and will try to add remote update functionality to <a href="http://bnode.org/blog/2007/12/22/driftr-linked-data-browser-and-editor-screencast">my own editor</a> (to be renamed) now as well. Hmmm, would be cool to have a selection of generic tools to collaboratively read from and write to shared RDF spaces one day.<br />
<br />
<img src="http://bnode.org/media/2008/01/data_wiki.gif" title="Data Wiki" alt="Data Wiki" />  
      </div>
    </content>
  </entry>

</feed>
