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

<channel>
	<title>danbri's foaf stories &#187; FOAF</title>
	<atom:link href="http://danbri.org/words/category/technology/semantic-web/foaf/feed" rel="self" type="application/rss+xml" />
	<link>http://danbri.org/words</link>
	<description>the web, the world, us, you and them</description>
	<lastBuildDate>Fri, 09 Jul 2010 10:56:37 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Subject classification and Statistics</title>
		<link>http://danbri.org/words/2010/07/09/557</link>
		<comments>http://danbri.org/words/2010/07/09/557#comments</comments>
		<pubDate>Fri, 09 Jul 2010 09:38:31 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[SKOS]]></category>
		<category><![CDATA[foaf4lib]]></category>
		<category><![CDATA[ggg]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=557</guid>
		<description><![CDATA[Subject classification and statistics share some common problems. This post takes a small example discussed at this week&#8217;s ODaF event on &#8220;Semantic Statistics&#8221; in Tilberg, and explores its expression coded in the Universal Decimal Classification (UDC). UDC supports faceted description, providing an abstract grammar allowing sentence-like subject descriptions to be composed from the “raw materials” defined [...]]]></description>
			<content:encoded><![CDATA[<p>Subject classification and statistics share some common problems. This post takes a small example discussed at this week&#8217;s ODaF event on &#8220;<a href="http://www.odaf.org/blog/?p=39">Semantic Statistics</a>&#8221; in Tilberg, and explores its expression coded in the <a href="http://en.wikipedia.org/wiki/Universal_Decimal_Classification">Universal Decimal Classification</a> (UDC). UDC supports faceted description, providing an abstract grammar allowing sentence-like subject descriptions to be composed from the “raw materials” defined in its vocabulary scheme.</p>
<p>This makes the mapping of UDC (and to some extent also <a href="http://dewey.info/">Dewey classifications</a>)  into W3C&#8217;s <a href="http://en.wikipedia.org/wiki/Simple_Knowledge_Organization_System">SKOS</a> somewhat lossy, since patterns and conventions for documenting these complex, composed structures are not yet well established. In the NoTube project we are looking into this in a TV context, in large part because the BBC archives make extensive use of UDC via their Lonclass scheme; see my &#8216;<a href="http://www.slideshare.net/danbri/notube-investigating-lonclass">investigating Lonclass</a>&#8216; and <a href="http://www.slideshare.net/danbri/open-web-standards-and-classication-foundations-for-a-hybrid-approach">UDC seminar talk</a> for more on those scenarios. Until this week I hadn&#8217;t thought enough about the potential for using this to link deep into statistical datasets.</p>
<p>One of the examples discussed on Tuesday was as follows (<a href="http://twitter.com/cygri/status/17943128662">via Richard Cyganiak</a>):</p>
<p>&#8220;There were 66 fatal occupational injuries in the Washington, DC metropolitan area in 2008&#8243;</p>
<p>There was much interesting discussion in Tilburg about the proper scope and role of Linked Data techniques for sharing this kind of statistical data. Do we use RDF essentially as metadata, to find &#8216;black boxes&#8217; full of stats, or do we use RDF to try to capture something of what the statistics are telling us about the world? When do we use RDF as simple factual data directly about the world (eg. school X has N pupils [currently; or at time t]), and when does it become a carrier for raw numeric data whose meaning is not so directly expressed at the factual level?</p>
<p>The state of the art in applying RDF here seems to be SDMX-RDF, see <a href="www.slideshare.net/cygri/what-is-sdmxrdf-4696043">Richard&#8217;s slides</a>. The SDMX-RDF work uses SKOS to capture code lists, to describe cross-domain concepts and to indicate subject matter.</p>
<p>Given all this, I thought it would be worth taking this tiny example and looking at how it might look in UDC, both as an example of the &#8216;compositional semantics&#8217; some of us hope to capture in extended SKOS descriptions, but also to explore scenarios that cross-link numeric data with the bibliographic materials that can be found via library classification techniques such as UDC. So I asked the ever-helpful Aida Slavic (editor in chief of the UDC), who talked me through how this example data item looks from a UDC perspective.</p>
<p>I asked,</p>
<blockquote><p>So I&#8217;ve just got home from a meeting on semweb/stats. These folk encode data values with stuff like &#8220;There were 66 fatal occupational injuries in the Washington, DC metropolitan area in 2008&#8243;. How much of that could have a UDC coding? I guess I should ask, how would subject index a book whose main topic was &#8220;occupational injuries in the Washington DC metro area in 2008&#8243;?</p></blockquote>
<p>Aida&#8217;s reply (posted with permission):</p>
<blockquote><p>You can present all of it &amp; much more using UDC. When you encode a subject like this in UDC you store much more information than your proposed sentence actually contains. So my decision of how to &#8216;translate this into udc&#8217; would depend on learning more about the actual text and the context of the message it conveys, implied audience/purpose, the field of expertise for which the information in the document may be relevant etc. I would probably wonder whether this is a research report, study, news article, textbook, radio broadcast?</p>
<p>Not knowing more then you said I can play with the following: <strong>331.46</strong>(<strong>735.215.2/.4</strong>)&#8221;<strong>2008</strong>&#8221;</p>
<p>Accidents at work &#8212; Washington metropolitan area &#8212; year 2008<br />
or a bit more detailed:  <strong>331.46</strong>-<strong>053.18</strong>(<strong>735.215.2/.4</strong>)&#8221;<strong>2008</strong>&#8221;<br />
Accidents at work &#8212; dead persons &#8211; Washington metropolitan area &#8212; year 2008<br />
[you can say the number of dead persons but this is not pertinent from point of view of indexing and retrieval]</p>
<p>&#8230;or maybe (depending what is in the content and what is the main message of the text) and because you used the expression &#8216;fatal injuries&#8217; this may imply that this is more health and safety/ prevention area in health hygiene which is in medicine.</p>
<p>The UDC structures composed here are:</p>
<p>TIME &#8220;2008&#8243;</p>
<p>PLACE (735.215.2/.4)  Counties in the Washington metropolitan area</p>
<p>TOPIC 1<br />
331     Labour. Employment. Work. Labour economics. Organization of  labour<br />
331.4     Working environment. Workplace design. Occupational safety.  Hygiene at work. Accidents at work<br />
331.46  Accidents at work ==&gt; 614.8</p>
<p>TOPIC 2<br />
614   Prophylaxis. Public health measures. Preventive treatment<br />
614.8    Accidents. Risks. Hazards. Accident prevention. Persona protection. Safety<br />
614.8.069    Fatal accidents</p>
<p>NB &#8211; classification provides a bit more context and is more precise than words when it comes to presenting content i.e. if the content is focused on health and safety regulation and occupation health then the choice of numbers and their order would be different e.g. <strong>614.8.069</strong>:<strong>331.46</strong>-<strong>053.18</strong> [relationship between] health &amp; safety policies in prevention of fatal injuries and accidents at work.</p>
<p>So when you read  UDC number 331.46 you do not see only e.g. &#8216;accidents at work&#8217; but  ==&gt;  &#8217;accidents at work &lt; occupational health/safety &lt; labour economics, labour organization &lt; economy<br />
and when you see UDC number 614.8  it is not only fatal accidents but rather ==&gt; &#8216;fatal accidents &lt; accident prevention, safety, hazards &lt; Public health and hygiene. Accident prevention</p>
<p>When you see (735.2&#8230;.) you do not only see Washington but also United States, North America</p></blockquote>
<p>So why is this interesting? A couple of reasons&#8230;</p>
<p>1. Each of these complex codes combines several different hierarchically organized components; just as they can be used to explore bibliographic materials, similar approaches might be of value for navigating the growing collections of public statistical data. If SKOS is to be extended / improved to better support subject classification structures, we should take care also to consider use cases from the world of statistics and numeric data sharing.</p>
<p>2. Multilingual aspects. There are plans to expose SKOS data for the upper levels of UDC. An HTML interface to this &#8220;<a href="udcc.org/udcsummary/php/index.php">UDC summary</a>&#8221; is already available online, and includes collected translations of textual labels in many languages (see <a href="http://www.udcc.org/udcsummary/stats/php/trans_stats.php">progress report</a>) . For example, we can look up <a href="http://www.udcc.org/udcsummary/php/index.php?id=18261&amp;lang=en">331.4</a> and find (in hierarchical context) definitions in English (&#8220;Working environment. Workplace design. Occupational safety. Hygiene at work. Accidents at work&#8221;), alongside e.g. <a href="http://www.udcc.org/udcsummary/php/index.php?id=18261&amp;lang=es">Spanish</a> (&#8220;Entorno del trabajo. Diseño del lugar de trabajo. Seguridad laboral. Higiene laboral. Accidentes de trabajo&#8221;), <a href="http://www.udcc.org/udcsummary/php/index.php?id=18261&amp;lang=hr">Croatian</a>, <a href="http://www.udcc.org/udcsummary/php/index.php?id=18261&amp;lang=hy&amp;pr=Y">Armenian</a>, &#8230;</p>
<p>Linked Data is about sharing work; if someone else has gone to the trouble of making such translations, it is probably worth exploring ways of re-using them. Numeric data is (in theory) linguistically neutral; this should make linking to translations particularly attractive. Much of the work around RDF and stats is about providing sufficient context to the raw values to help us understand what is really meant by &#8220;66&#8243; in some particular dataset. By exploiting SDMX-RDF&#8217;s use of SKOS, it should be possible to go further and to link out to the wider literature on workplace fatalities. This kind of topical linking should work in both directions: exploring out from numeric data to related research, debate and findings, but also coming in and finding relevant datasets that are cross-referenced from books, articles and working papers. W3C recently launched a <a href="http://www.w3.org/2005/Incubator/lld/">Library Linked Data</a> group, I look forward to learning more about how libraries are thinking about connecting numeric and non-numeric information.</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2010/07/09/557/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RDFa in Drupal 7: last call for feedback before alpha release</title>
		<link>http://danbri.org/words/2010/01/14/549</link>
		<comments>http://danbri.org/words/2010/01/14/549#comments</comments>
		<pubDate>Thu, 14 Jan 2010 13:07:04 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=549</guid>
		<description><![CDATA[Stéphane has just posted a call for feedback on the Drupal 7 RDFa design, before the first official alpha release.
First reaction above all, is that this is great news! Very happy to see this work maturing.
I&#8217;ve tried to quickly suggest some tweaks to the vocab, by hacking his diagram in photoshop. All it really shows [...]]]></description>
			<content:encoded><![CDATA[<p>Stéphane has just posted a <a href="http://openspring.net/blog/2010/01/12/rdfa-in-drupal-7-last-call-for-feedback-before-alpha-release?">call for feedback on the Drupal 7 RDFa design</a>, before the first official alpha release.</p>
<p>First reaction above all, is that this is great news! Very happy to see this work maturing.</p>
<p>I&#8217;ve tried to quickly suggest some tweaks to the vocab, by hacking his diagram in photoshop. All it really shows is that I&#8217;ve forgotten how to use photoshop, but I&#8217;ll upload it here anyway.</p>
<p><a href="http://danbri.org/words/wp-content/uploads/2010/01/drupal.png"><img class="alignnone size-medium wp-image-550" title="drupal design scribbles" src="http://danbri.org/words/wp-content/uploads/2010/01/drupal-300x235.png" alt="" width="300" height="235" /></a></p>
<p>So if you click through to the full image, you can see my rough edits.</p>
<p>I&#8217;d suggest:</p>
<ol>
<li>Use (dcterms) dc:subject as the way of pointing from a document to it&#8217;s SKOS subject.</li>
<li>Use (dcterms) dc:creator as the relationship between a document and the person that created it (note that in FOAF, we now declare foaf:maker to map as an equivalentProperty to (dcterms)dc:creator).</li>
<li>Distinguish between the description of the person versus their account in the Drupal system; I would use foaf:Person for the human, and sioc:User (a kind of foaf:OnlineAccount) as the drupal account. The foaf property to link from the former to the latter is foaf:account (new name for foaf:holdsAccount).</li>
<li>Focus on SIOC where it is most at-home: in modelling the structure of the discussion; threading, comments and dialog.</li>
<li>Provide a generated URI for the person. I don&#8217;t 100% understand Stephane&#8217;s comment, &#8220;Hash URIs for identifying things different from the page describing them can be implemented quite easily but this case hasn&#8217;t emerged in core&#8221; but perhaps this will be difficult? I&#8217;d suggest using URIs ending &#8220;userpage#!person&#8221; so the fragment IDs can&#8217;t clash with HTML usage.</li>
</ol>
<p>If the core release can provide this basic structure, including a hook for describing the human person rather than the site-specific account (ie. sioc:User) then extensions should be able to add their own richness. The current markup doesn&#8217;t quite work for that end, as the human user is only described indirectly (unless  I understand current reading of sioc:User).</p>
<p>Anyway, I&#8217;m nitpicking! This is really great, and a nice and well-deserved boost for the RDFa community.</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2010/01/14/549/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WOT in RDFa?</title>
		<link>http://danbri.org/words/2010/01/05/541</link>
		<comments>http://danbri.org/words/2010/01/05/541#comments</comments>
		<pubDate>Tue, 05 Jan 2010 21:59:19 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=541</guid>
		<description><![CDATA[(This post is written in RDFa&#8230;)

To the best of my knowledge, Ludovic Hirlimann&#8217;s PGP fingerprint is 6EFBD26FC7A212B2E093 B9E868F358F6C139647C. You might also be interested in his photos on flickr, or his workplace, Mozilla Messaging. The GPG key details were checked over a Skype video call with me, Ludo and Kaare A. Larsen.



This blog post isn&#8217;t signed, [...]]]></description>
			<content:encoded><![CDATA[<p>(This post is written in RDFa&#8230;)</p>
<p about="http://perso.hirlimann.net/~ludo/foaf.rdf#me" typeof="foaf:Person" xmlns:wot="http://xmlns.com/wot/0.1/">
To the best of my knowledge, <a rel="foaf:homepage foaf:account" href="http://perso.hirlimann.net/~ludo/">Ludovic Hirlimann</a>&#8217;s PGP fingerprint is <span property="wot:fingerprint">6EFBD26FC7A212B2E093 B9E868F358F6C139647C</span>. You might also be interested in his <a rel="foaf:account" href="http://www.flickr.com/photos/lhirlimann/">photos on flickr</a>, or his workplace, <a rel="foaf:workplaceHomepage" href="http://www.mozillamessaging.com/">Mozilla Messaging</a>. The GPG key details were checked over a Skype video call with me, Ludo and <span rel="foaf:knows"><a rel="foaf:account" href="http://www.google.com/profiles/Kaare.A.Larsen">Kaare A. Larsen</a></span>.<br />
<a rel="foaf:depiction" href="http://danbri.org/words/wp-content/uploads/2010/01/ludo-verified.png"><img src="http://danbri.org/words/wp-content/uploads/2010/01/ludo-verified-299x300.png" alt="" title="ludo-verified" width="299" height="300" class="alignnone size-medium wp-image-544" /></a>
</p>
<p>
This blog post isn&#8217;t signed, the URIs it referenced don&#8217;t use SSL, and the image could be switched by evildoers at any time! But the question&#8217;s worth asking: is this kind of scruffy key info useful, if there&#8217;s enough of it? If I wrote it somehow in Thunderbird&#8217;s editor instead, would it be easier to sign? Will 99.9% of humans ever know enough of what&#8217;s going on to understand what signing a bunch of complex markup means?
</p>
<p>
For earlier <a href="http://lists.w3.org/Archives/Public/www-rdf-interest/2002Apr/0016.html">discussion</a> of this kind of thing, see Joseph Reagle&#8217;s <a href="http://www.w3.org/2002/03/key-free-trust.html">Key-free Trust</a> piece (&#8220;Does Google Show How the Semantic Web Could Replace Public Key Infrastructure?&#8221;). It&#8217;s more PKI-free trust than PK-free.</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2010/01/05/541/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress trust syndication revisited: F2F plugin</title>
		<link>http://danbri.org/words/2009/12/29/523</link>
		<comments>http://danbri.org/words/2009/12/29/523#comments</comments>
		<pubDate>Tue, 29 Dec 2009 21:58:39 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[SPARQL]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=523</guid>
		<description><![CDATA[This is a followup to my Syndicating trust? Mediawiki, Wordpress and  OpenID post. I now have a simple implementation that exports data from WordPress: the F2F plugin. Also some experiments with consuming aggregates of this information from multiple sources.
FOAF has always had a bias towards describing social things that are shown rather than merely [...]]]></description>
			<content:encoded><![CDATA[<p>This is a followup to my <a href="http://danbri.org/words/2009/10/25/504">Syndicating trust? Mediawiki, Wordpress and  OpenID</a> post. I now have a simple implementation that exports data from WordPress: the <a href="http://wiki.foaf-project.org/w/F2FPlugin">F2F plugin</a>. Also some experiments with consuming aggregates of this information from multiple sources.</p>
<p>FOAF has always had a bias towards describing social things that are <em>shown</em> rather than merely <em>stated</em>; this is particularly so in matters of trust. One way of showing basic confidence in others, is by accepting their comments on your blog or Web site. <em>F2F</em> is an experiment in syndicating information about these kinds   of everyday public events. With <a href="http://wiki.foaf-project.org/w/F2FPlugin">F2F</a>, others can   share and re-use this sort of information too; or deal with it in   aggregate to spread the risk and bring more evidence into their   trust-related decisions. Or they might just use it to find interesting   people&#8217;s blogs.</p>
<p><a href="http://en.wikipedia.org/wiki/OpenID">OpenID</a> is a technology that lets people authenticate by showing they control some URL. WordPress blogs that use the OpenID plugin slowly accumulate a catalogue of URLs when people leave comments that are approved or rejected. In my previous post I showed how I was using the list of approved OpenIDs from my blog to help configure the administrative groups on the FOAF wiki.</p>
<p>This may all raise more questions than it answers. <em>What level of detail is appropriate? are numbers useful, or just  lists? in what circumstances is it sensible or risky to merge such data?  is there a reasonable use for both &#8216;accept&#8217; lists and &#8216;unaccept&#8217; lists?  What can we do with a list of OpenID URLs once we&#8217;ve got it? How do we know when two bits of trust &#8216;evidence&#8217; actually share a common source? How do we find this information from the homepage of a blog?</em></p>
<p>If you install the F2F plugin (and have been using the <a href="http://wordpress.org/extend/plugins/openid/">OpenID plugin</a> long enough to have accumulated a database table of OpenIDs associated with submitted comments), you can experiment with this. Basically it will generate HTML in RDFa format describing a list of people . See the <a href="http://wiki.foaf-project.org/w/F2FPlugin">F2F Wiki page</a> for details and examples.</p>
<p>The script is pretty raw, but today it all improved a fair bit with help from <a href="http://inkdroid.org/">Ed Summers</a>, <a href="http://eikeon.com/">Daniel Krech</a> and <a href="http://www.wasab.dk/morten/">Morten Frederiksen.</a> Ed and Daniel helped me <a href="http://svn.foaf-project.org/foaftown/2010/wordpress/aggtest.py">get started</a> with consuming this RDFa and SPARQL in the latest version of the rdflib Python library. Morten rewrote my initial nasty hack, so that it used Wordpress <a href="http://codex.wordpress.org/Shortcode_API">Shortcodes</a> instead of hardcoding a URL path. This means that any page containing a certain string &#8211; f2f in chunky brackets &#8211; will get the OpenID list added to it. I&#8217;ll try that now, right here in this post. If it works, you&#8217;ll get a list of URLs below. Also thanks to <a href="http://impressive.net/people/gerald/">Gerald Oskoboiny</a> for discussions on this and reputation-related aggregation ideas; see his page on <a href="http://impressive.net/people/gerald/2005/08/reputation.html">reputation and trust</a> for lost more related ideas and sites. See also Peter Williams&#8217; feedback <a href="http://lists.foaf-project.org/pipermail/foaf-dev/2009-December/009966.html">on the foaf-dev list</a>.</p>
<p>Next steps? I&#8217;d be happy to have a few more installations of this, to get some testbed data. Ideally from an overlapping community so the datasets are linked, though that&#8217;s not essential. Ed has a copy <a href="http://inkdroid.org/journal/network">installed</a> currently too. I&#8217;ll also update the scripts I use to manage the FOAF MediaWiki admin groups, to load data from RDFa blogs; mine and others if people volunteer relevant data. It would be great to have exports from other software too, eg. Drupal or MediaWiki.</p>
<div xmlns:foaf="http://xmlns.com/foaf/0.1/"><div about='#!aCommentApprovedTrustGroup' typeof='foaf:Group' xmlns:foaf='http://xmlns.com/foaf/0.1/'>
<span rel='foaf:maker'>Comment accept list for <a typeof='foaf:Agent' rel='foaf:weblog foaf:account' href='http://danbri.org/words/'>http://danbri.org/words</a></span><ul style=''>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_5711c8ae25de381eda9ebae69d17a6ca5a03f5cf'><a rel='foaf:openid foaf:account' href='http://aberingi.pip.verisignlabs.com/'>http://aberingi.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_c0476bc26fcaaa855b9d2741bb2ff7d918e3224f'><a rel='foaf:openid foaf:account' href='http://acs.myopenid.com/'>http://acs.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d003dd1da067aed4b3fe2493971a14f12f5d40da'><a rel='foaf:openid foaf:account' href='http://alexandre.alapetite.net/'>http://alexandre.alapetite.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_6feceb629a6c7ba8ed406633e51d88161b7d103d'><a rel='foaf:openid foaf:account' href='http://apassant.net/'>http://apassant.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_ca31de0fd15af3e84bc408dfdcf582b66a6b7a32'><a rel='foaf:openid foaf:account' href='http://areggiori.livejournal.com/'>http://areggiori.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_f79a7e7ba570373f83fecaeaa27cdccd428225ae'><a rel='foaf:openid foaf:account' href='http://bencompanjen.hyves.nl/#OWI1MzRmYj'>http://bencompanjen.hyves.nl/#OWI1MzRmYj</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_b1e43a2e82fda9eb523a3574fb1b5286235e9e73'><a rel='foaf:openid foaf:account' href='http://bendiken.livejournal.com/'>http://bendiken.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_7d3528b88abd1477c6447bb99a672434272ecaac'><a rel='foaf:openid foaf:account' href='http://bentoth.pip.verisignlabs.com/'>http://bentoth.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3d2ef418ec1a996fa8b59c04c4a490dd58096dc3'><a rel='foaf:openid foaf:account' href='http://bmuller.myopenid.com/'>http://bmuller.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_52e0136233df8db10b0af7451315d096333b4833'><a rel='foaf:openid foaf:account' href='http://brondsema.net/'>http://brondsema.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_b4a4d17523c688299284909948e63bb606bc45e4'><a rel='foaf:openid foaf:account' href='http://bruce.darcus.name/'>http://bruce.darcus.name/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_bbc0566ced87090e5d390603ef2466bb1e49b271'><a rel='foaf:openid foaf:account' href='http://claimID.com/eric_childress'>http://claimID.com/eric_childress</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_e600b28623eb711a02e7081f4d9568f42482a584'><a rel='foaf:openid foaf:account' href='http://claimid.com/nslater'>http://claimid.com/nslater</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_901564373ab21f113a48efea24e634d6666e589e'><a rel='foaf:openid foaf:account' href='http://dagoneye.it/me.html'>http://dagoneye.it/me.html</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_8a7c88eb92ddc9fe422f720dc2b18aa5e9f36444'><a rel='foaf:openid foaf:account' href='http://danbri.org/'>http://danbri.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_f0bb939f3f520ed201d7dcffe16fe4c0aae67315'><a rel='foaf:openid foaf:account' href='http://daniel.salber.myopenid.com/'>http://daniel.salber.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_c6ec134233ceb3246026cde0835ce0cbc67a92ff'><a rel='foaf:openid foaf:account' href='http://daniel.schwabe.myopenid.com/'>http://daniel.schwabe.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_9dbd737bedff4f29e0d95339fd0b4431fe37b125'><a rel='foaf:openid foaf:account' href='http://dannyayers.myopenid.com/'>http://dannyayers.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_46eeddcc61163d3440a3d9639694de60ad79d21e'><a rel='foaf:openid foaf:account' href='http://david.larlet.fr/'>http://david.larlet.fr/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_965174d2b4fc45f4efc123d1abc2fead998391a7'><a rel='foaf:openid foaf:account' href='http://dltj.org/'>http://dltj.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_8c1b93d57e3effddc8e780a932716f89005e0581'><a rel='foaf:openid foaf:account' href='http://dorai.wordpress.com/'>http://dorai.wordpress.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_cabf6318964a48eabca00b5be5e2a9f316f6359c'><a rel='foaf:openid foaf:account' href='http://dunken69.myopenid.com/'>http://dunken69.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_315a5486d32746b0f613569407cd0d7c5222bc9c'><a rel='foaf:openid foaf:account' href='http://earle.myopenid.com/'>http://earle.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_eae415272b555f04a7cedcc5d73c3551f785d5a8'><a rel='foaf:openid foaf:account' href='http://emailtoid.net/i/f01cf45e/88dc58c9/'>http://emailtoid.net/i/f01cf45e/88dc58c9/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_e9908d7725d3dd9aafd5dbf1708a50495b0e5695'><a rel='foaf:openid foaf:account' href='http://futuri.us/'>http://futuri.us/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_c2ec1c6408fd9015f140f832ca9f0f7789d18253'><a rel='foaf:openid foaf:account' href='http://gavinbell.com/'>http://gavinbell.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_9ae33674f387d14ee22b2891b52b8e5ff7f7c117'><a rel='foaf:openid foaf:account' href='http://ian.mckellar.org/'>http://ian.mckellar.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_9e0618fd1efd8408f0815657f1129c1f725950a8'><a rel='foaf:openid foaf:account' href='http://id.chaz6.com/'>http://id.chaz6.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_fb34a48fd9e6b39f5924cfce3fc680691c9d0e0c'><a rel='foaf:openid foaf:account' href='http://ivanherman.pip.verisignlabs.com/'>http://ivanherman.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_0b339a44ed48eaba0d1a68f73bd497da61e3bbfb'><a rel='foaf:openid foaf:account' href='http://jclove.myid.net/'>http://jclove.myid.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_913a3257411eb05760247de44c78727af379ff87'><a rel='foaf:openid foaf:account' href='http://josephcp.myopenid.com/'>http://josephcp.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_27a1d1fafe6e51fb0f8e31641f0298ef62ff5bf7'><a rel='foaf:openid foaf:account' href='http://karl.dubost.myopenid.com/'>http://karl.dubost.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_36b05095dbcc896d6d4b8c382c6749f99bd25a7b'><a rel='foaf:openid foaf:account' href='http://kidehen.idehen.net/dataspace/person/kidehen'>http://kidehen.idehen.net/dataspace/person/kidehen</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_ed9082e3f32669c3a3336b88951efea02cd378b6'><a rel='foaf:openid foaf:account' href='http://klokie.com/'>http://klokie.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_4215c6411497f81066a575d78c9cb3c519272cf7'><a rel='foaf:openid foaf:account' href='http://korth.myopenid.com/'>http://korth.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3e7a4014a28ddc9821b324f8d45aa3b2ac15babe'><a rel='foaf:openid foaf:account' href='http://kronkltd.net/'>http://kronkltd.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_50e77f5c84ddaa77e2ec7540b0b3e1cf73f63723'><a rel='foaf:openid foaf:account' href='http://leroyrich.myopenid.com/'>http://leroyrich.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_88025b961eda6652d2652b97eb537dc17274a849'><a rel='foaf:openid foaf:account' href='http://lionkimbro.videntity.org/'>http://lionkimbro.videntity.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_ee1c7c463f74108ac9477a5851b5cc46ca2012b7'><a rel='foaf:openid foaf:account' href='http://littlematt.livejournal.com/'>http://littlematt.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_dc23dfc6a795265beaca0245d1ebceef64aea423'><a rel='foaf:openid foaf:account' href='http://luigiselmi.pip.verisignlabs.com/'>http://luigiselmi.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_5c255d5d317301b93b4ebfd5db6f688c53d17ef5'><a rel='foaf:openid foaf:account' href='http://matienzo.org/'>http://matienzo.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_151fe397a6ab9709a945f5b8e4904ed288be81a9'><a rel='foaf:openid foaf:account' href='http://max.froumentin.myopenid.com/'>http://max.froumentin.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_89f9048a7e68b71fe26df584c9b0ebfa088d4265'><a rel='foaf:openid foaf:account' href='http://melvincarvalho.com/'>http://melvincarvalho.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_fce2b532d7377dd8a4f3d5a352d82af776092cba'><a rel='foaf:openid foaf:account' href='http://melvster.com/'>http://melvster.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_19a8c35b69a012b3c62b7d8e6e8b70af94568c12'><a rel='foaf:openid foaf:account' href='http://mhausenblas.myopenid.com/'>http://mhausenblas.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_2d92505382dfcc04d9f684c842b185370ee0c3f7'><a rel='foaf:openid foaf:account' href='http://mijnopenid.nl/is/joe'>http://mijnopenid.nl/is/joe</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_ffa8c1f0482ab52053b26c5bbf7f1a9c87cecc10'><a rel='foaf:openid foaf:account' href='http://mkbergman.myopenid.com/'>http://mkbergman.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_abfd51b7b952e495f23ac80f261f91002d3cf858'><a rel='foaf:openid foaf:account' href='http://mnshah.myopenid.com/'>http://mnshah.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_93138c7260cd5c30dd1bbb92285c7745b26a883f'><a rel='foaf:openid foaf:account' href='http://moustaki.myopenid.com/'>http://moustaki.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d1bdb7fa1b2515b2f74096ff72971e8542bfb8f1'><a rel='foaf:openid foaf:account' href='http://mrjmw.myopenid.com/'>http://mrjmw.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_89a9f39b08d075aca07382c608a02e782d87de04'><a rel='foaf:openid foaf:account' href='http://myopenlink.net/dataspace/person/Daniel.Lewis'>http://myopenlink.net/dataspace/person/Daniel.Lewis</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_c8085b5ea2323a00a5aaa6b942d8a504384b0c24'><a rel='foaf:openid foaf:account' href='http://myopenlink.net/dataspace/person/kidehen'>http://myopenlink.net/dataspace/person/kidehen</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_1c5c90db1e38c068321d394261490a6529caeb2b'><a rel='foaf:openid foaf:account' href='http://nicecupoftea.org/'>http://nicecupoftea.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_4e32e7e88d3ca9f8133469b36ba568450c2bae32'><a rel='foaf:openid foaf:account' href='http://nmg.livejournal.com/'>http://nmg.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_cb8243377b3134651140e390eebf4ba9d4ee8578'><a rel='foaf:openid foaf:account' href='http://omniorthogonal.blogspot.com/'>http://omniorthogonal.blogspot.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_b9f9d25143c2d13211d988a6ec35347aeb3fb6bc'><a rel='foaf:openid foaf:account' href='http://openid-provider.appspot.com/fbogner'>http://openid-provider.appspot.com/fbogner</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_86cdb0393f04eb56a7d9bcec4cf6178fadee638a'><a rel='foaf:openid foaf:account' href='http://openid-provider.appspot.com/tuukka.hastrup'>http://openid-provider.appspot.com/tuukka.hastrup</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_b43caa6b9f8e3c5b88ed2a8e476ceb75c9ae5495'><a rel='foaf:openid foaf:account' href='http://openid.aol.com/doesnotexistorg'>http://openid.aol.com/doesnotexistorg</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_cf1b02937a20e2e0298e26dba4c6e4512ba32cff'><a rel='foaf:openid foaf:account' href='http://openid.aol.com/koaliemoon'>http://openid.aol.com/koaliemoon</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_e2a09d0724c86b20397961bc3f6ab52c0bd596d1'><a rel='foaf:openid foaf:account' href='http://openid.sun.com/bblfish'>http://openid.sun.com/bblfish</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_05b2a06e6f3b537d36099a651b047e06a7e05ba4'><a rel='foaf:openid foaf:account' href='http://openid.xmpp.za.net/base64/a2FlbEBuanMubmV0bGFiLmN6'>http://openid.xmpp.za.net/base64/a2FlbEBuanMubmV0bGFiLmN6</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_37cf723cbbd62ecf9e50983180cc74724140befc'><a rel='foaf:openid foaf:account' href='http://peterkz.myopenid.com/'>http://peterkz.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_adcf4e57e1bed932459e1a1e38b733c58dc40a12'><a rel='foaf:openid foaf:account' href='http://piercarlos.myopenid.com/'>http://piercarlos.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3d190aeb392d290a63a5f0155ddaaa7171bd1e67'><a rel='foaf:openid foaf:account' href='http://punkito.livejournal.com/'>http://punkito.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_dc9d113212e9849e0b1bba81aaa64d67b9a7af77'><a rel='foaf:openid foaf:account' href='http://ranganathan.pip.verisignlabs.com/'>http://ranganathan.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_414a2647fe23a523b983f2c2703f9a43908e3a5e'><a rel='foaf:openid foaf:account' href='http://rym.waglo.com/'>http://rym.waglo.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3e8a37685ba980bc2260d458c9413bea5eb07615'><a rel='foaf:openid foaf:account' href='http://scorlosquet.myopenid.com/'>http://scorlosquet.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_1410e5ecbe0b3489333322c570c3616622d75b8f'><a rel='foaf:openid foaf:account' href='http://simone.pip.verisignlabs.com/'>http://simone.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_aa8317434abff482d207c961c1d4a3321ff488e4'><a rel='foaf:openid foaf:account' href='http://snyke.net/'>http://snyke.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_28c4b6c1eb8f534002575c9a496121fa80bba4e6'><a rel='foaf:openid foaf:account' href='http://stefanoborini.com/id/'>http://stefanoborini.com/id/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_17a3f8ce637a0db5fa05589fcbdc3f2c56875c74'><a rel='foaf:openid foaf:account' href='http://svanzoest.livejournal.com/'>http://svanzoest.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_65f629b933addf696b2a2ff2f20ef8dc234462a5'><a rel='foaf:openid foaf:account' href='http://tcowan.myopenid.com/'>http://tcowan.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_16f7984c8a0ae1fa7527cd809129099ee705f03d'><a rel='foaf:openid foaf:account' href='http://techdoctor.pip.verisignlabs.com/'>http://techdoctor.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3d3873967ae03604dcb67de5070d8c9c7468b504'><a rel='foaf:openid foaf:account' href='http://technorati.com/people/technorati/Shepard4711'>http://technorati.com/people/technorati/Shepard4711</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_3a41cd6b5783ec53195d7597b6a7a0c77501b508'><a rel='foaf:openid foaf:account' href='http://titticimmino.myopenid.com/'>http://titticimmino.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_0f3d2b0a68d4486ba2ccb38f0cf14b1c4b3f7c19'><a rel='foaf:openid foaf:account' href='http://tomkeays.myopenid.com/'>http://tomkeays.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d3c2744e2b096b3ac71adb2ff9598fb6693d4e6b'><a rel='foaf:openid foaf:account' href='http://tommorris.org/'>http://tommorris.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_cb7c6af95c6985c0d34bf80c36596a004d2ed41d'><a rel='foaf:openid foaf:account' href='http://victor.coustenoble.myopenid.com/'>http://victor.coustenoble.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_bcbeaaa620a6520e612d11cf91df2a5c1a3096d4'><a rel='foaf:openid foaf:account' href='http://vzach.myopenid.com/'>http://vzach.myopenid.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_eaaae5da3c9124e977dd9c84076acaede379967d'><a rel='foaf:openid foaf:account' href='http://williamgunn.pip.verisignlabs.com/'>http://williamgunn.pip.verisignlabs.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_5a549c8d708c52a167d92fea5fafad6144bca928'><a rel='foaf:openid foaf:account' href='http://wlan.livejournal.com/'>http://wlan.livejournal.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_2b441e849b920ca3432c3812ad1085070a286bfe'><a rel='foaf:openid foaf:account' href='http://www.bytesexual.org/'>http://www.bytesexual.org/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_55c02c796ce3d4c52a28faf0328a5b134832522f'><a rel='foaf:openid foaf:account' href='http://www.ivan-herman.net/foaf.html'>http://www.ivan-herman.net/foaf.html</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d407304591a12726a61cd1f6c028b509a7c8ace3'><a rel='foaf:openid foaf:account' href='http://www.jenitennison.com/'>http://www.jenitennison.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_26f0ae10a78af83d7f2d020899ec068a66b67ed8'><a rel='foaf:openid foaf:account' href='http://www.kanzaki.com/'>http://www.kanzaki.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_88c1753a449bd4b7f81074bbd21efcca35642806'><a rel='foaf:openid foaf:account' href='http://www.kjetil.kjernsmo.net/index.en.html'>http://www.kjetil.kjernsmo.net/index.en.html</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_b5f1bdc005ed8fe8b114ea4ac533a019450a04bc'><a rel='foaf:openid foaf:account' href='http://www.leobard.net/'>http://www.leobard.net/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_aab52ab57845f23a72a18cad8f9569ddbb06e3b2'><a rel='foaf:openid foaf:account' href='http://www.raviudeshi.com/'>http://www.raviudeshi.com/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_e48ea71f02d656f9c324d412d1c00907e63cf6f2'><a rel='foaf:openid foaf:account' href='http://www.w3.org/People/Connolly/'>http://www.w3.org/People/Connolly/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_4e5551da91556b306d0e2707176371f89d2ca988'><a rel='foaf:openid foaf:account' href='http://www.wasab.dk/morten/'>http://www.wasab.dk/morten/</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d58c6453310439c4a6a761e3a52ba67fdbbf640c'><a rel='foaf:openid foaf:account' href='https://creativecommons.net/fred'>https://creativecommons.net/fred</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_7cfc81c7b24b5c37090abaa6fc38d5e76a9886ff'><a rel='foaf:openid foaf:account' href='https://me.yahoo.com/a/1_elSS9lsNxcwBUJZ_drDeuogMg-#f5f94'>https://me.yahoo.com/a/1_elSS9lsNxcwBUJZ_drDeuogMg-#f5f94</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_de7ab7279bbd64b54518dc75961ee27cdc54a61f'><a rel='foaf:openid foaf:account' href='https://me.yahoo.com/a/CBkqPIl2ruQwzcv.PPStXsaI7JIFBA--#04941'>https://me.yahoo.com/a/CBkqPIl2ruQwzcv.PPStXsaI7JIFBA--#04941</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_e8661ed0408e4681f2c459b913d4149a47000765'><a rel='foaf:openid foaf:account' href='https://me.yahoo.com/a/eiulBXJxwdeCwIyKuPZuixYEZwbIo2PxePxn#3260e'>https://me.yahoo.com/a/eiulBXJxwdeCwIyKuPZuixYEZwbIo2PxePxn#3260e</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_4f2701584761c772129009addecaa7f8dedbbc40'><a rel='foaf:openid foaf:account' href='https://me.yahoo.com/fabien_gandon#2bfe7'>https://me.yahoo.com/fabien_gandon#2bfe7</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_65954e93a37c0ff8160713f2a80087e530284099'><a rel='foaf:openid foaf:account' href='https://me.yahoo.com/geddnh#cab79'>https://me.yahoo.com/geddnh#cab79</a></li></span>
<span rel='foaf:member'><li typeof='foaf:Agent' about='#!ah_d6ec2648fb0cfcd04582111f85ffcc53f6483d5c'><a rel='foaf:openid foaf:account' href='https://www.google.com/accounts/o8/id?id=AItOawmiTcB6bbsk4ghDgzhl_bXoQ26yJp7EPak'>https://www.google.com/accounts/o8/id?id=AItOawmiTcB6bbsk4ghDgzhl_bXoQ26yJp7EPak</a></li></span>
</ul>
</div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/12/29/523/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Syndicating trust? Mediawiki, Wordpress and OpenID</title>
		<link>http://danbri.org/words/2009/10/25/504</link>
		<comments>http://danbri.org/words/2009/10/25/504#comments</comments>
		<pubDate>Sun, 25 Oct 2009 20:07:11 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=504</guid>
		<description><![CDATA[Fancy title but simple code. A periodic update script is setting user/group membership rules on the FOAF wiki based on a list of trusted (for this purpose) OpenIDs exported from a nearby blog. If you&#8217;ve commented on the blog using OpenID and it was accepted, this means you can also perform some admin actions (page [...]]]></description>
			<content:encoded><![CDATA[<p>Fancy title but simple code. A periodic update script is setting user/group membership rules on the FOAF wiki based on a list of trusted (for this purpose) OpenIDs exported from a nearby blog. If you&#8217;ve commented on the blog using OpenID and it was accepted, this means you can also perform some admin actions (page deletes, moves, blocking spammers etc.) on the FOAF wiki without any additional fuss.</p>
<p>Both Wordpress blogs and Mediawiki wikis have some support for OpenID logins.</p>
<p>The FOAF wiki until recently only had one Sysop and Bureaucrat account (a bureaucrat has the same privileges as a Sysop except for the ability to create new bureaucrat accounts). So I&#8217;ve begun an <a href="http://wiki.foaf-project.org/w/DanBri/MediawikiOpenid">experiment</a> exploring idea of pre-approving certain OpenIDs for bureaucrat activities. For now, I take a list of OpenIDs from my own blog; these appear to be just the good guys, but this might be because only real humans have commented on my blog via OpenID. With a bit of tweaking I&#8217;m sure I could write SQL to select out only OpenIDs associated with posts or comments I&#8217;ve accepted as non spammy, though.</p>
<p>So now there&#8217;s a script I can run (thanks tobyink and others in #swig IRC for help) which compares an externally supplied list of OpenID URIs with those OpenIDs known to the wiki, and upgrades the status of any overlaps to be bureaucrats. Currently the &#8217;syndication&#8217; is trivial since the sites are on the same machine, and the UI is minimal; I haven&#8217;t figured out how best to convey this notion of &#8216;pre-approved upgrade&#8217; to the people I&#8217;m putting in an admin group. Quite reasonably they might object to being misrepresented as contributors; who knows.</p>
<p>But all that aside, take a look and have a think. This kind of approach has a lot going for it. We will have all kinds of lists of people, groups of people, and in many cases we&#8217;ll know their OpenIDs. So why not pool what we know? If a blog or wiki has information about an OpenID that shows it is somehow trustworthy, or at least not obviously a spammer, there&#8217;s every reason to make notations (eg. FOAF/RDFa) that allow other such sites to harvest and integrate that data&#8230;</p>
<p>See also <a href="http://dig.csail.mit.edu/breadcrumbs/node/206">Dan Connolly&#8217;s DIG blog post</a> on this, and the current <a href="http://wiki.foaf-project.org/w/Special:ListUsers/bureaucrat">list of Bureaucrats</a> on the FOAF Wiki (and associated <a href="http://wiki.foaf-project.org/w/FOAF_Wiki:Bureaucrats">documentation</a>). If your names on the list, it just means your OpenID was on a pre-approved list of folk who I trust based on their interactions with my own blog. I&#8217;d <em>love</em> to add more sources here and make it genuinely communal.</p>
<p>This is all part of the process of getting FOAF moving again. The brains of FOAF is in the <a href="http://wiki.foaf-project.org/w/IssueTracker">IssueTracker</a> page, and since the site was damaged by spammers and hackers recently I&#8217;m trying to make sure we have a happy / wholesome environment for maintaining shared documents. And that&#8217;s more than I can do as a solo admin, hence this design for opening things up&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/10/25/504/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remote remotes</title>
		<link>http://danbri.org/words/2009/10/23/492</link>
		<comments>http://danbri.org/words/2009/10/23/492#comments</comments>
		<pubDate>Fri, 23 Oct 2009 18:05:50 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Jabber/XMPP]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=492</guid>
		<description><![CDATA[I&#8217;ve just closed the loop on last weekend&#8217;s XMPP / Apple Remote hack, using Strophe.js, a library that extends XMPP into normal Web pages. I hope I&#8217;ll find some way to use this in the NoTube project (eg. wired up to Web-based video playing in OpenSocial apps), but even if not it has been a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just closed the loop on last weekend&#8217;s <a href="http://xmpp.org/">XMPP</a> / <a href="http://danbri.org/words/2009/10/19/483">Apple Remote hack</a>, using <a href="http://blog.xmpp.org/wp-content/uploads/2009/03/xmpp-web-applications-with-strophe.pdf">Strophe</a>.js, a library that extends XMPP into normal Web pages. I hope I&#8217;ll find some way to use this in the NoTube project (eg. wired up to Web-based video playing in OpenSocial apps), but even if not it has been a useful learning experience. See this <a href="http://www.flickr.com/photos/danbri/4036909817/sizes/l/">screenshot</a> of a live HTML page, receiving and displaying remotely streamed events (green blob: button clicked; grey blob: button released). It doesn&#8217;t control any video yet, but you get the idea I hope.</p>
<div id="attachment_493" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-493 " title="Remote Remote" src="http://danbri.org/words/wp-content/uploads/2009/10/FirefoxScreenSnapz001-300x188.jpg" alt="Remote apple remote HTML demo" width="300" height="188" /><p class="wp-caption-text">Remote apple remote HTML demo, screenshot showing a picture of handheld apple remote with a grey blob over the play/pause button, indicating a mouse up event. Also shows debug text in html indicating ButtonUpEvent: PLPZ.</p></div>
<p>This webclient needs the JID and password details for an XMPP account, and I think these need to be from the same HTTP server the HTML is published on. It works using BOSH or other tricks, but for now I&#8217;ve not delved into those details and options. Source is in the Buttons area of the FOAF svn: <a href="http://svn.foaf-project.org/foaftown/buttons/osx/webclient">webclient</a>. I made a set of <a href="http://svn.foaf-project.org/foaftown/buttons/osx/webclient/images/">images</a>, for each button in combination with button-press (&#8216;down&#8217;), button-release (&#8216;up&#8217;). I&#8217;m running my own ejabberd and using an account &#8216;buttons@foaf.tv&#8217; on the foaf.tv domain. I also use generic XMPP IM accounts on Google Talk, which work fine although I read recently that very chatty use of such services can result in data rates being reduced.</p>
<p>To send local Apple Remote events to such a client, you need a bit of <a href="http://svn.foaf-project.org/foaftown/buttons/osx/">code</a> running on an OSX machine. I&#8217;ve done this in a mix of C and Ruby: <a href="http://svn.foaf-project.org/foaftown/buttons/osx/iremoted_buttons.c">imremoted.c</a> (<a href="http://svn.foaf-project.org/foaftown/buttons/osx/iremoted_buttons">binary</a>) to talk to the remote, and the script <a href="http://svn.foaf-project.org/foaftown/buttons/osx/buttonhole_surfer.rb">buttonhole_surfer.rb</a> to re-broadcast the events. The ruby code uses <a href="http://mojodna.net/2009/07/19/switchboard-as-a-framework.html">Switchboard</a> and by default loads account credentials from ~/.switchboardrc.</p>
<p>I&#8217;ve done a few tests with this setup. It is pretty responsive considering how much indirection is involved: but the demo UI I made could be prettier. The + and &#8211; buttons behave differently to the left and right (and menu and play/pause); only + and &#8211; send an event immediately. The others wait until the key is released, then send a pair of events. The other keys except for play/pause will also forget what&#8217;s happening unless you act quickly. This seems to be a hardware limitation. Apparently Apple are <a href="http://www.tuaw.com/2009/10/20/the-hits-just-keep-coming-now-theres-a-new-apple-remote/">about to ship an updated $20 remote</a>; I hope this aspect of the design is reconsidered, as it limits the UI options for code using these remotes.</p>
<p>I also tried it using two browsers side by side on the same laptop; and two laptops side by side. The events get broadcasted just fine. There is a lot more thinking to do re serious architecture, where passwords and credentials are stored, etc. But XMPP continues to look like a very interesting route.</p>
<p>Finally, why would anyone bother installing compiled C code, Ruby (plus XMPP libraries), their own Jabber server, and so on? Well hopefully, the work can be divided up. Not everyone installs a Jabber server. My thinking is that we can bundle a collection of TV and SPARQL XMPP functionality in a single install, such that local remotes can be used on the network, but also local software (eg. XBMC/Plex/Boxee) can also be exposed to the wider network &#8211; whether it&#8217;s XMPP .js running inside a Web page as shown here, or an iPhone or a <a href="http://en.wikipedia.org/wiki/Multi-touch">multi-touch table</a>. Each will offer different interaction possibilities, but they can chat away to each other using a common link, and common RDF vocabularies (an area we&#8217;re working on in NoTube). If some common micro-protocols over XMPP (sending clicks or sending commands or doing RDF queries) can support compelling functionality, then installing a &#8216;buttons adaptor&#8217; is something you might do once, with multiple benefits. But for now, apart from the JQbus piece, the <a href="http://svn.foaf-project.org/foaftown/jqbus/intro.html">protocols</a> are still vapourware. First I wanted to get the basic plumbing in place.</p>
<p>Update: I re-discovered a useful <a href="http://metajack.im/2008/09/08/which-bosh-server-do-you-need/">&#8216;which bosh server do you need?&#8217;</a> which reminds me that there are basically two kinds of <a href="http://en.wikipedia.org/wiki/BOSH">BOSH</a> software offering; those that are built into some existing Jabber/XMPP server (like the ejabberd installation I&#8217;m using on foaf.tv) and those that are stand-alone connection managers that proxy traffic into the wider XMPP network. In terms of the current experiment, it means the event stream can (within the XMPP universe) come from addresses other than the host running the Web app. So I should also try installing <a href="http://code.stanziq.com/punjab">Punjab</a>. Perhaps it will also let webapps served from other hosts (such as opensocial containers) talk to it via JSON tricks? So far I have only managed to serve working Buttons/Strophe HTML from the same host as my Jabber server, ie. foaf.tv. I&#8217;m not sure how feasible the cross-domain option is.</p>
<p>Update x2: Three different people have now mentioned <a href="http://opensoundcontrol.org/">opensoundcontrol</a> to me as something similar, at least on a LAN; it clearly deserves some <a href="http://www.makingthings.com/documentation/tutorial/osc/overview-and-concepts">investigation</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/10/23/492/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linked TV (part 1): Why APIs and identifiers matter</title>
		<link>http://danbri.org/words/2009/10/09/452</link>
		<comments>http://danbri.org/words/2009/10/09/452#comments</comments>
		<pubDate>Fri, 09 Oct 2009 12:16:13 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[Activism]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Jabber/XMPP]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[RSS/Atom]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=452</guid>
		<description><![CDATA[In the NoTube project, we are exploring the use of Semantic Web technology in Television and Web-TV scenarios. By making use of richer and linked descriptions of content and users, we hope to help users better find (and annotate, tag, cross-link etc.) content that is interesting to them. The growing amount of linked RDF data [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.notube.tv/">NoTube</a> project, we are exploring the use of Semantic Web technology in Television and Web-TV scenarios. By making use of richer and linked descriptions of content and users, we hope to help users better find (and annotate, tag, cross-link etc.) content that is interesting to them. The growing amount of linked RDF data out there in the public Web provides a useful background dataset; for example we can use SKOS thesauri or DBpedia to indicate content topics or user interests.</p>
<p>I have been looking at aspects of the existing mainstream ecosystem, including so-called <a href="http://en.wikipedia.org/wiki/Media_center">media centre</a> systems, and at the various classes of app (remote controls, tv guides, media players) available on smart phones such as the iPhone. At the moment, all these applications are quite fragmented, with different pairs of remote control and player, different APIs, different metadatasystems.</p>
<p>This post gives some background thinking before jumping into super-technical details. In the next post I&#8217;ll give an overview of some of the &#8216;media centre&#8217; APIs I&#8217;ve been looking at; this is the beginnings of a survey to explore the extent to which existing players can be driven by external software through a network interface. My <a href="http://mail.jabber.org/pipermail/social/2009-August/000544.html">working hypothesis</a> is that the <a href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol">XMPP protocol</a> provides the best candidate protocol environment to do this, since it allows devices to be addressed globally, even when they&#8217;re in the home; however the initial survey makes no assumptions about how these APIs might be unified.</p>
<p>Nearby: for some smartphone visuals, see my<a href="http://www.flickr.com/photos/notube"> Flickr&#8217;d collection of iPhone screen grabs</a>. I hope to revisit and annotate these later. For ongoing W3C work on an API and ontology for Media Objects, see the <a href="http://www.w3.org/TR/2009/WD-media-annot-reqs-20090604">Use Cases and Requirements document</a> over at W3C. This work is largely focussed on describing individual media objects, however it does note <a href="http://www.w3.org/TR/2009/WD-media-annot-reqs-20090604/#req-r08">a requirement</a> for  &#8220;Being able to apply the ontology / API for collections of metadata&#8221;, as well as <a href="http://www.w3.org/TR/2009/WD-media-annot-reqs-20090604/#req-r07">a requirement</a> to allow references &#8220;<em>to multimedia objects on several abstraction levels, in order to separate e.g. a movie, a DVD which contains the movie and a specific copy of the DVD. Especially for collections of multimedia objects, knowledge about such abstraction levels is helpful, as a means for accessing the objects on each level.</em>&#8221;</p>
<p>In NoTube, we are also looking at work such as the BBC <a href="http://www.bbc.co.uk/ontologies/programmes/2009-09-07.shtml">Programmes Ontology</a>, which makes such distinctions in terms of brands, series, shows, episodes etc. This is not only to group different representations of the same content (eg. a mobile-friendly downcoding of a high-definition news article); it also allows us to cluster metadata about similar items or different versions or manifestations of the same underlying content.</p>
<p>Since metadata is notoriously expensive and hard to manage, having it richly interlinked makes a lot of sense.</p>
<p>For example, if I write a comment while watching a file that I created from <a href="http://www.amazon.com/Fog-War-Eleven-Lessons-McNamara/dp/B0001L3LUE">an Amazon purchased DVD</a> of &#8220;The Fog of War&#8221;, it would be a waste (and lead to a very sparse metadata network) if my annotation was only available to other users of that exact same file within this closed home network, although the media file itself must of course stay private. The first time I saw that movie, was a screening in Bristol&#8217;s <a href="http://en.wikipedia.org/wiki/Cube_Microplex">Cube Cinema</a>. If I wrote a blog post about the movie back then, that information should also be linked to common identifiers (eg. <a href="http://www.imdb.com/title/tt0317910/">IMDB</a>, <a href="http://www.freebase.com/view/user/hal/netflix/movie/60031296">FreeBase</a>, <a href="http://en.wikipedia.org/wiki/The_Fog_of_War">Wikipedia</a>,  <a href="http://dbpedia.org/page/The_Fog_of_War">DBPedia</a>, <a href="http://www.sonyclassics.com/fogofwar/">Sony&#8217;s page</a>, the director&#8217;s <a href="http://www.errolmorris.com/film/fow.html">synopsis</a> etc.). But there&#8217;s more annotation in the Web than just my annotations: the director recently <a href="http://morris.blogs.nytimes.com/2009/07/07/mcnamara-in-context/">wrote a blog post</a> about the main subject of the film, Robert McNamara. The director, Errol Morris, also publishes a <a href="http://www.errolmorris.com/film/fow_transcript.html">transcript</a> of the movie, and his homepage links to his Twitter <a href=" http://twitter.com/errolmorris">microblog</a>. If the content is available eg. through a system like Joost or Hulu, or broadcast on TV, or screened at a local cinema, most metadata about it will still be relevant, even if it was created in a different context.</p>
<p>For Web-heads, this online data-linking story is business as usual; for the broadcast TV industry, it&#8217;s something of a new world.</p>
<p>The Web can be more than a way of driving content to viewing portals, it can be more than a threat to content owners, it can change the way we think about what all these moving pictures are telling us. Douglas Adams described this very well 20 years ago, and if you&#8217;ve not seen his <a href="http://en.wikipedia.org/wiki/Hyperland">Hyperland</a> documentary on pre-Web hypertext, I do urge you to go find a way to see it.</p>
<p>So, let&#8217;s stick with my example movie, and work outwards from an assumption we have one reasonable identifier for the film that connects us to a Web of linked data about it. Errol Morris&#8217;s (excellent) film <a href="http://en.wikipedia.org/wiki/The_Fog_of_War">The Fog of War</a>. How could a simple piece of software (running on a smart phone or home media centre) figure out that he is the director? Well, if we believe Wikipedia infoboxes and we find and believe <a href="http://dbpedia.org/page/The_Fog_of_War">DBpedia&#8217;s derived page about the film</a>, the information is there in a machine-friendly form: it says that that &#8216;director&#8217; property of the film is <a href="http://dbpedia.org/page/Errol_Morris">Errol Morris</a>. And following that link, in turn we can see a claim that Errol Morris has a &#8216;website&#8217; at <a href="http://www.errolmorris.com/">www.errolmorris.com</a>.</p>
<p>So, working outwards from the content, we find the director, and the director&#8217;s website url. What can we do with that? Well we could try loading pages from the site directly, and interpreting them. But the chances are currently low that we&#8217;ll find any machine-oriented, automation-friendly markup there. And indeed, if we look at the source of his page, there isn&#8217;t a lot there to help machines. Here is the markup for the twitter link mentioned earlier:</p>
<pre>&lt;<span>a</span><span> href</span><span>="</span><a href="view-source:http://twitter.com/ErrolMorris">http://twitter.com/ErrolMorris</a><span>" </span><span>target</span>=<span>"_blank"</span>&gt;</pre>
<p>If the page had included just a few extra characters, the microformat markup &#8220;<strong>rel=&#8217;me&#8217;</strong>&#8220;, or had a FOAF file, we could automatically have discovered that he had a microblog. He also has another blog on the New York Times site, and both of these have feeds (<a href="http://twitter.com/statuses/user_timeline/14248315.rss">Twitter RSS</a>; <a href="http://morris.blogs.nytimes.com/feed">NYTimes RSS</a>). Blogs and microblogs provide a way of establishing a more vivid and immediate connection between viewers and content creators; but finding the relevant feed for a given media object is non-trivial. So let&#8217;s walk through some of the issues and technologies.</p>
<p>0.  Content identification</p>
<p>For any of this &#8216;Linked TV&#8217; scenario to make any sense, we need to get our hands on a solid widely-known identifier for the content. This is our entry pass into Douglas Adams&#8217; &#8216;<em>hyperland&#8217;</em>, and is harder than it might seem. Typically all we have to identify a piece of content is information about a file, and maybe a textual label or two. There are a variety of automatic and semi-automatic approaches here, and growing support for rich disambiguation in freely available tools (eg. Boxee).</p>
<p>1. Reliability of linked data</p>
<p>Given a wikipedia or imdb url, we can find a lot of linked RDF data. In the example here, we use dbpedia to find the director&#8217;s homepage. Is this risky? Could the page be edited mischievously? Yes! Are there scenarios in which such Webby uncertainty is inappropriate in a TV context? Yes. Can we expect to see commercial and <a href="http://en.wikipedia.org/wiki/MusicBrainz">Musicbrainz-style</a> collaborative enrichment and QA of linked datasets? I think so.</p>
<p>2. Social Graph discovery</p>
<p>OK, so we&#8217;ve found the director&#8217;s homepage. Maybe we could have found actors, presenters or writers too, given different content. This is great, but we don&#8217;t have much there that makes sense in a TV user interface. How do we find the twitter microblog programmatically? or his New York Times blog? How can we be sure of those links?</p>
<p>This is partially a matter of waiting, and partially a chicken-and-egg situation. If we build TV tools and lightweight standards which work better if content creator sites have a little extra markup (eg. rel=&#8217;me&#8217;), some content creators will add it to their homepages and blogs, and some hosting / tool vendors will add it automatically anyway. But what can we do today? Let&#8217;s look at <a href="http://socialgraph.apis.google.com/">Google&#8217;s Social Graph API</a>.</p>
<p>The <a href="http://socialgraph.apis.google.com/">SGAPI</a> allows us to take advantage of Google&#8217;s global Web index, and ask questions about people, their profiles, account pages, and connections.</p>
<p>We can ask for example, <a href="http://socialgraph.apis.google.com/lookup?q=http%3A%2F%2Fwww.errolmorris.com%2F&amp;fme=1&amp;edo=1&amp;pretty=1&amp;callback=">which accounts are claimed by http://www.errolmorris.com/</a>. Today this gives no results, since the link in that page to the matching twitter page contains no semantic markup.</p>
<p>We can also ask, <a href="http://socialgraph.apis.google.com/lookup?q=http%3A%2F%2Ftwitter.com%2Ferrolmorris&amp;fme=1&amp;pretty=1&amp;callback=">which accounts are claimed by http://twitter.com/ErrolMorris</a> &#8230; and this finds some interesting information, since (unlike errormorris.com) Twitter is a site that is understood by the Google Social Graph API. We find a location (Boston MA), some photo and feed urls, but also a link from ErrolMorris on twitter to his homepage, www.errolmorris.com.</p>
<p>This last point is important: Google Social Graph API is structured in terms of claims. This gives it a lot more robustness against spammers and mischief. SGAPI notices that the markup on the Twitter page says, in effect, &#8220;this is my homepage over here&#8221; (in microformat-speak, &#8216;this is (also) me&#8217;). Here it is in full, &#8230; the link <em>from</em> Errol Morris on Twitter, linking <em>to</em> his homepage:</p>
<pre id="line325">&lt;<span>a</span><span> href</span><span>="</span><a href="view-source:http://www.errolmorris.com/">http://www.errolmorris.com</a><span>" </span><span>class</span>=<span>"url" </span><span>rel</span>=<span>"<strong>me</strong> nofollow" </span><span>target</span>=<span>"_blank"</span>&gt;</pre>
<p>But the Google SGAPI notices that the homepage doesn&#8217;t <em>explicitly </em>reciprocate the claim. There is no machine markup in the homepage to indicate that the owner of the page is saying that the twitter page &#8220;is me&#8221;. It might just be a link to a friend, for example.</p>
<p>Nevertheless, we can use the SGAPI in less trusting mode (&#8217;show inbound links&#8217;), and take advantage of Google&#8217;s massive Web index to ask: <a href="http://socialgraph.apis.google.com/lookup?q=http%3A%2F%2Ftwitter.com%2Ferrolmorris&amp;fme=1&amp;edi=1&amp;pretty=1&amp;callback=">which pages claim to have the same owner as www.errolmorris.com</a>?</p>
<p>This gives us a story about how we can find a lot of useful contextual information, given a basic starting point. The Google service I show here is just one of several that could be exploited in &#8216;linked tv&#8217; scenarios.</p>
<p>For finding other identifiers, we might use sameas.org. Here&#8217;s what I get <a href="http://sameas.org/html?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FThe_Fog_of_War&amp;x=20&amp;y=16">when I ask it</a> for other URIs for the fog of war film, using a dbpedia uri as entry point:</p>
<ol>
<li><a title="http://dbpedia.org/resource/The_Fog_of_War" href="http://dbpedia.org/resource/The_Fog_of_War">http://dbpedia.org/resource/The_Fog_of_War</a></li>
<li><span> </span><a title="http://dbpedia.org/resource/11_Lessons_from_the_Life_of_Robert_S._Mcnamara" href="http://dbpedia.org/resource/11_Lessons_from_the_Life_of_Robert_S._Mcnamara">http://dbpedia.org/resource/11_Lessons_from_the_Life_of_Robert_S._Mcnamara</a><span> </span></li>
<li><span> </span><a title="http://mpii.de/yago/resource/The_Fog_of_War" href="http://mpii.de/yago/resource/The_Fog_of_War">http://mpii.de/yago/resource/The_Fog_of_War</a></li>
<li><a title="http://rdf.freebase.com/ns/guid.9202a8c04000641f80000000004e1a97" href="http://rdf.freebase.com/ns/guid.9202a8c04000641f80000000004e1a97">http://rdf.freebase.com/ns/guid.9202a8c04000641f80000000004e1a97</a></li>
</ol>
<p>For &#8217;social graph&#8217; data, we might also check <a href="http://sindice.com">sindice.com</a> or <a href="http://foaf.qdos.com">foaf.qdos.com</a>.</p>
<p>Topic description</p>
<p>A quick word on topics and wikipedia: by using content identifiers that link to Wikipedia and DBpedia, we have the potential for extremely rich, fine grained topical annotations.</p>
<p>Wikipedia&#8217;s <a href="http://en.wikipedia.org/wiki/The_Fog_of_War">page</a> about the movie notes that it covers the Cuban Missile Crisis. This association is now machine-visible, since I personally improved the relevant Wikipedia entry to explicitly link to the <a href="http://en.wikipedia.org/wiki/Cuban_Missile_Crisis">Cuban Missile Crisis</a> page on Wikipedia. This allows us to use wikipedia:Cuban_Missile_Crisis as a topic indicator, not just against the entire film but against particular segments of the movie that are about that topic. It is easy to get a list of such links from the Wikipedia markup, eg. [[Ford Motor Company]], [[Vietnam War]] are also already there. If we have a TV presentation system that has a unique id for the content (and ideally content-version, since content often varies), and we know an offset in seconds, then rich topical tags could be applied to sections of the film, without the need for textual data entry. An iphone or similar device could allow users to pause, annotate/tag/bookmark and continue their viewing, with no need for a keyboard.</p>
<p>That smart-phone story there is worth investigating, but let&#8217;s first start closer to the screen: what kinds of set top box, media centre or gadget might be able to index, navigate and play content in a way that makes interesting use of &#8216;linked tv&#8217; techniques such as these? Which brings me to APIs for &#8216;<a href="http://en.wikipedia.org/wiki/Media_center">media centre</a>&#8216; systems, finally.</p>
<p>If we want to recommend interesting content to users, show them relevant links, annotations, related materials (not necessarily more video &#8211; text, audio, even a spreadsheet with statistics might be appropriate), suggestions from friends, upcoming broadcasts or archived materials, then we need an environment that is scripting friendly and capable of interacting with users in a rich and compelling manner. The simplest path here is to start with what&#8217;s out there already, and look at commonalities in API and data model, to see how far existing software can be &#8216;remote controlled&#8217; from external scripts (and, eventually, from actual hand-held remote controls, eg. smartphones). I&#8217;ll go into some detail on that in the followup post.</p>
<p>The main point I want to (<a href="http://openp2p.com/lpt/a/554">re-</a>)emphasise here, is that once we make get to the stage of having well known identifiers for content, it facilitates a very rich marketplace for TV-related metadata, with emphasis on the word &#8220;-<em>related</em>&#8220;. And that this is necessarily very open-ended, since TV content can be about absolutely anything. I gave some examples drawing on Wikipedia/DBpedia for content metadata, and on homepages, twitter and Google&#8217;s Social Graph API to show how additional highly relevant information can be pulled from the Web, once we get a basic starting point. Finding ways of presenting such extra information to users, and giving them appropriate navigation and interaction options, is far from easy. Fortunately it is easier to share, syndicate and merge TV <em>meta</em>-content, than TV content. We are already seeing systems such as the <a href="http://xbmc.org/">XBMC</a>-based <a href="http://www.boxee.com">Boxee</a> which will normalise content identifiers in a way that <a href="http://boxee.pbworks.com/why-boxee-is-good-for-content-owners">encourages</a> legal uses over illegal. Intellectual properties issues around TV content means that actual playable content is often not broadly shareable. However the same need not be true of user-supplied metadata, since this can be about a specific media file, but also it can be about the things the content is about. I expect to see TV meta-content shared in a global linked system, even while the underlying video and audio remain relatively hidden away; rich user-supplied TV metadata isn&#8217;t just about the TV show, it equally can tell us about the world and the viewer, and deserves to be widely available through open standards.</p>
<p>To go back to my original example, <a href="http://en.wikipedia.org/wiki/Errol_Morris">Errol Morris&#8217;s</a> film about <a href="http://en.wikipedia.org/wiki/Robert_McNamara">Robert McNamara</a>, <a href="http://en.wikipedia.org/wiki/The_Fog_of_War">The Fog of War</a>&#8230; there&#8217;s a world of metadata options <a href="http://youtube-global.blogspot.com/2009/09/five-stars-dominate-ratings.html">beyond five-star ratings</a> that can enrich such content, beyond worrying about numerical ranking in statistical recommender systems. Existing work there, eg. around the <a href="http://en.wikipedia.org/wiki/Netflix_Prize">Netflix prize</a>, would be hard to beat. Statistical recommendations work well over a regular dataset where everything has a well known identifier. We can see RDF and linked data techniques serving a pre-processing role for such analysis, by linking together otherwise fragmented pieces of information about content, allowing classic techniques to be applied over a wider dataset.</p>
<p>However, I see the true &#8216;linked TV&#8217; potential to be primarily in another direction: in creating more meaningful conversations around content, and helping users find other information that gives a complementary perspective on the materials, and on cross-referencing <em>everything</em> with <em>everything</em> so that unexpected new paths can be found. Morris&#8217; film can teach us a lot about McNamara, but also about the wider world and recent history &#8230; about the <a href="http://en.wikipedia.org/wiki/Ford_Motor_Company">Ford Motor Company</a>, the <a href="http://en.wikipedia.org/wiki/Vietnam_War">Vietnam War</a>, the <a href="http://en.wikipedia.org/wiki/Cuban_Missile_Crisis">Cuban Missile Crisis</a>, the <a href="http://en.wikipedia.org/wiki/Strategic_bombing_during_World_War_II#United_States_strategic_bombing_of_Japan">firebombing</a> <a href="http://en.wikipedia.org/wiki/Bombing_of_Tokyo">of Tokyo</a> under the command of <a href="http://en.wikipedia.org/wiki/Curtis_LeMay">Curtis LeMay</a>. Not all easy or pleasant topics to try to understand, and each with thousands of other relevant sources (video or otherwise) out there, different perspectives to cross-reference, different accounts to reconcile.</p>
<p>If television is an environment in which we can be <a href="http://www.bbc.co.uk/info/purpose/">informed, educated and entertained</a> (by broadcasters, content creators, and increasingly, by everyone else too), we need to think through what this means for better metadata. Today we are lucky if we can find a good way of even <em>identifying</em> a piece of content. But tomorrow, we should have TV that comes out of the box with &#8220;<em>Do You Want To Know More</em>?&#8221; switched &#8216;<strong>on</strong>&#8216; by default.</p>
<p>When Obama gives a talk (see his <a href="http://www.whitehouse.gov/blog/NewBeginning/">June 2009 speech in Cairo</a>) he mentioned the following, at around 33 minutes and 30 seconds:</p>
<blockquote><p>For many years, Iran has defined itself in part by its opposition to my country, and there is in fact a tumultuous history between us.  <em>In the middle of the Cold War, the United States played a role in the overthrow of a democratically elected Iranian government</em>.</p></blockquote>
<p>This last point is well covered by historians, but was likely to be new information for many viewers in the USA and UK, if not for those in Iran. What can we do to improve that, by bringing Web and TV closer together?</p>
<p>While the <a href="http://www.whitehouse.gov/videos/2009/June/20090604_Cairo_University.mp4">raw video</a>, <a href="http://www.whitehouse.gov/videos/2009/June/20090604_Cairo_University.mp3">audio</a>, and <a href="http://www.whitehouse.gov/the_press_office/Remarks-by-the-President-at-Cairo-University-6-04-09/">transcript</a> are  available on the Whitehouse site, we don&#8217;t yet have enough for &#8220;do you want to know more?&#8221;. W3C&#8217;s <a href="http://www.w3.org/AudioVideo/TT/">TimedText</a> work might provide a basis for associating the transcript with the video as subtitles. This is not enough for someone who <em>wants to know more</em>, in following up this unusual acknowledgement of superpower interference.</p>
<p>An Internet-literate, laptop-owning Web user might try to find out more in an active manner. Although they are in a minority amongst TV viewers, there are still thousands of such people, and they know how to go to google.com and do searches. Can we harness their energy to improve the TV metadata environment for everyone? If you search Google for &#8216;US overthrow iranian government&#8217; you find a good starting point for learning more, a Wikipedia page &#8220;<a href="http://en.wikipedia.org/wiki/1953_Iranian_coup_d%27%C3%A9ta">1953 Iranian coup d&#8217;état</a>&#8220;. Although that page has content which Wikipedia flags as controversial, it has a world-visible <a href="http://en.wikipedia.org/wiki/Talk:1953_Iranian_coup_d%27%C3%A9tat">talk page</a> in which contributors from around the world can debate the detail of the topic. So how can this Web content be bridged with the world of TV?</p>
<p>TV viewers are commonly concerned characterised in terms of a pyramid:</p>
<ul>
<li>a passive majority, content to watch without interaction</li>
<li>a smaller group who will interact and navigate, but who rarely create new content</li>
<li>an even smaller group of activist users, who will explore, annotate, interact and create using all the tools available</li>
</ul>
<p>The production and consumption of &#8216;do you want to know more?&#8217; annotation won&#8217;t equally distributed. All viewers can benefit from, for example, a link from the Obama Cairo speech video to background information on the 1953 Iran coup. Some viewers might benefit indirectly, because their more inquisitive friends and family will have explored the linked materials and will <em>talk</em> to them about it. Others might read the wikipedia page and linked pages directly; if not on their television, then later on a laptop or PC.</p>
<p>Still others (a minority, but such minorities can be influential) might engage further with the material, become intrigued by the differences of opinion and seek more perspectives from the wider Web. Now 1953 is not ancient history; it falls within the living memory of countless people, in Iran, the UK and the world at large. A challenge for Linked TV is to find ways to integrate those memories and views into the TV environment, such that any viewer could pause the playing of the <a href="http://www.whitehouse.gov/blog/NewBeginning/">Obama Cairo speech</a> video because they <em>want to know more</em> about what he just said. Regardless of whether they are watching on whitehouse.gov, YouTube, Joost, a live re-broadcast, a radio-extract, a player embedded in a social network site (facebook, orkut, hyves, &#8230;), or running on a mobile phone. The current problem Iranians have with getting full and high-bandwidth Web access are another obstacle, of course, but eventually we can expect relevant video or audio memories from Iran (with subtitles and translations) to be 1 or 2 clicks away from Obama&#8217;s video, regardless of the software and environment playing the video. Much of that material is already out there <em>somewhere</em>, the challenge is to find it, link it and present it appropriately.</p>
<p>The core piece of metadata, a link from a section of the <a href="http://www.whitehouse.gov/videos/2009/June/20090604_Cairo_University.mp4">video</a> (ie. the offset, 33mins, 30 secs) of his speech to a URL for the topic it describes, could be created by whitehouse.gov staff, or it could be created by activist users. We pretty much know how to do this. A time-offset and a wikipedia URL do that job well enough for now. But what we have so far failed to achieve is a world-wide data ecosystem in which this kind of TV-enriching metadata is plentiful, widely used, and comprehensive enough that we can grow to expect to have fact-checkable TV, cross-referencable TV, hypertext TV. Instead of throwing physical things at the TV when we disagree with what we hear, it should become commonplace to be able to press pause and then or later publish your perspective (an audio rant, a fact-check crosslink, a blog post) in a way that will become accessible by other viewers of that material in the future.</p>
<p>To achieve this, we can&#8217;t afford needless fragmentation</p>
<ul>
<li>of meta-content about different versions of the same basic content</li>
<li>between geographical regions based on geo-rights to play the material</li>
<li>between desktop, media-centre, mobile, set top box, broadcast and on-demand scenarios</li>
<li>between radio and TV</li>
<li>between files and streams</li>
<li>between file formats</li>
<li>between populations (&#8216;net censorship and crude blocking technology)</li>
</ul>
<p>If these huge obstacles can be overcome, it might become reasonable to expect to find useful information attached to most of what we see on next-generation TV, regardless of delivery system. My hunch is the right place to prototype is around opensource and hackable media centre systems, and the right low-level communications system is XMPP. I&#8217;ll go into this more in the next post. Apologies for the length of this one. Comments welcomed by blog email or whatever!</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/10/09/452/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.whitehouse.gov/videos/2009/June/20090604_Cairo_University.mp4" length="654715197" type="video/mp4" />
<enclosure url="http://www.whitehouse.gov/videos/2009/June/20090604_Cairo_University.mp3" length="52191424" type="audio/mpeg" />
		</item>
		<item>
		<title>Getting started with Mozilla Jetpack for Thunderbird (on OSX)</title>
		<link>http://danbri.org/words/2009/10/02/445</link>
		<comments>http://danbri.org/words/2009/10/02/445#comments</comments>
		<pubDate>Fri, 02 Oct 2009 11:35:21 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=445</guid>
		<description><![CDATA[A few weeks ago, I started to experiment with Mozilla&#8217;s new Jetpack extension model when it became available for Thunderbird. Revisiting the idea today, I realise I&#8217;d forgotten the basic setup details, so am recording them here for future reference.
I found I had to download the source from the Mercurial Web interface, rather than use [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I started to experiment with Mozilla&#8217;s new <a href="http://jetpack.mozillalabs.com/">Jetpack</a> extension model when it became available for Thunderbird. Revisiting the idea today, I realise I&#8217;d forgotten the basic setup details, so am recording them here for future reference.</p>
<p>I found I had to download the source from the Mercurial Web interface, rather than use pre-prepared XPI installers. This may have improved by the time you read this. I also learned (from Standard9 in #jetpack IRC) that I need <a href="http://hg.mozilla.org/users/bugmail_asutherland.org/opc-jetpack/">asuth&#8217;s repository</a>, rather than the main one. Again, things move quickly, don&#8217;t assume this is true forever.</p>
<p>Here is what worked for me, on OSX.</p>
<p>1. Grab a .zip from the Jetpack repo, and unpack it locally on a machine that has Thunderbird installed.</p>
<p>2. Edit extensions/install.rdf and make sure the em:maxVersion in the Thunderbird section matches your version of Thunderbird. In mine I updated it to say &lt;em:maxVersion&gt;3.0b4&lt;/em:maxVersion&gt; (instead of 3.0b4pre).</p>
<p>3.  See the README in the jetpack filetree for installation. With Thunderbird closed, I ran &#8220;python manage.py install &#8211;app=thunderbird&#8221; and I found Jetpack installed fine.</p>
<p>4. Run Thunderbird, you should see an about:jetpack tab, and corresponding options in the Tools menu.</p>
<p>This was enough to get started. See <a href="http://www.visophyte.org/blog/2009/07/23/thunderbird-jetpack-messagedisplay-overridemessagedisplay-fun/comment-page-1">discussion on visophyte.org</a> for some example code.</p>
<p>After installation, you can use the about:jetpack windows to load, reload and delete Jetpacks from URL.</p>
<p>So, why would you bother doing all this? Jetpack provides a simple way of extending an email client using Web technology.</p>
<p>In my current (unfinished!) <a href="http://pastebin.com/f34bbdcdb">experiment</a>, for example, I&#8217;m looking at making a sidebar the shows information (photo, blog etc.) about the sender of the currently-viewed email. And I figured that if I blogged this HOWTO, someone more familiar with ajax, jquery etc might care to help with wiring this up to the <a href="http://code.google.com/apis/socialgraph/">Google Social Graph JSON API</a>, so we can use FOAF and XFN to provide more contextual information around incoming mail&#8230;</p>
<p>Assuming you are running Thunderbird 3b4</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/10/02/445/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What kind of Semantic Web researcher are you?</title>
		<link>http://danbri.org/words/2009/07/23/423</link>
		<comments>http://danbri.org/words/2009/07/23/423#comments</comments>
		<pubDate>Thu, 23 Jul 2009 08:41:04 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[burglarbill]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=423</guid>
		<description><![CDATA[It&#8217;s hard to keep secrets in today&#8217;s increasingly interconnected, networked world. Social network megasites, mobile phones, webcams and  inter-site syndication can broadcast and amplify the slightest fragment of information. Data linking and interpretation tools can put these fragments together, to paint a detailed picture of your life, both online and off.
This online richness creates offline [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s hard to keep secrets in today&#8217;s increasingly interconnected, networked world. Social network megasites, mobile phones, webcams and  inter-site syndication can broadcast and amplify the slightest fragment of information. Data linking and interpretation tools can put these fragments together, to paint a detailed picture of your life, both online and off.</p>
<p>This online richness creates offline risk. For example, if you&#8217;re going away on holiday, there are hundreds of ways in which potential thieves could learn that your home is vacant and therefore a target for crime: shared calendars, twittered comments from friends or family, flickr&#8217;d photographs. Any of these could reveal that your home and possessions sit unwatched, unguarded, presenting an easy target for criminals.</p>
<p>Q: What research challenge does this present to the Semantic Web community? How can we address the concern that Semantic and Social Web technology have more to offer Burglar Bill than to his victims?</p>
<p>A1: We need better technology for limiting the flow of data, proving a right to legitimate access to information, cross-site protocols for deleting leaked or retracted data that flows between sites, and calculating trust metrics for parties requesting data access.</p>
<p>A2: We need to find ways to reconnect people with their neighbours and neighbourhoods, so that homes don&#8217;t sit unwatched when their occupants are away.</p>
<p><em>ps. Dear Bill, I have my iphone, laptop, piggy bank and camera with me&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/07/23/423/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Twitter Iran RT chaos</title>
		<link>http://danbri.org/words/2009/06/16/415</link>
		<comments>http://danbri.org/words/2009/06/16/415#comments</comments>
		<pubDate>Tue, 16 Jun 2009 15:28:10 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[Activism]]></category>
		<category><![CDATA[Conspiracy Theory]]></category>
		<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[SKOS]]></category>
		<category><![CDATA[The Web at War]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[identica]]></category>
		<category><![CDATA[iran]]></category>
		<category><![CDATA[iranelection]]></category>
		<category><![CDATA[journalism]]></category>
		<category><![CDATA[tehran]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[witness]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=415</guid>
		<description><![CDATA[From Twitter in the last few minutes, a chaos of echo&#8217;d posts about army moves. Just a few excerpts here by copy/paste, mostly without the all-important timestamps. Without tools to trace reports to their source, to claims about their source from credible intermediaries, or evidence, this isn&#8217;t directly useful. Even grassroots journalists needs evidence. I [...]]]></description>
			<content:encoded><![CDATA[<p>From Twitter in the last few minutes, a chaos of echo&#8217;d posts about army moves. Just a few excerpts here by copy/paste, mostly without the all-important timestamps. Without tools to trace reports to their source, to claims about their source from credible intermediaries, or evidence, this isn&#8217;t directly useful. Even grassroots journalists needs evidence. I wonder how <a href="http://hub.witness.org/">Witness</a> and <a href="http://identi.ca">Identi.ca</a> fit into all this. I was thinking today about an &#8220;(person) X claims (person) Y knows about (topic) Z&#8221; notation, perhaps built from FOAF+SKOS. But looking at this &#8220;Army moving in&#8230;&#8221; claim, I think something couched in terms of positive claims (along lines of the old OpenID showcase site <a href="http://jyte.com">Jyte</a>) might be more appropriate.</p>
<p>The following is from my copy/paste from Twitter a few minutes ago. It gives a flavour of the chaos. Note also that observations from very popular users (<a href="http://twitter.com/stephenfry/status/2190127914">such as stephenfry</a>) can echo around for hours, often chased by attempts at clarification from others.</p>
<p>(&#8220;RT&#8221; is Twitter notation for re-tweet, meaning that the following content is redistributed, often in abbreviated or summarised form)</p>
<p>plotbunnytiff: RT @suffolkinace: RT From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
r0ckH0pp3r: RT .@AliAkbar: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection<br />
jax3417: RT @ktyladie: RT @GennX: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection #iran<br />
ktladie: RT @GennX: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection #iran<br />
MellissaTweets: RT @AliAkbar: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection<br />
GennX: RT @MelissaTweets: RT @AliAkbar: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection</p>
<p>The above all arrived at around the same time, and cite two prior &#8220;sources&#8221;:</p>
<p>suffolkinnace: RT From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection   18 minutes ago from web</p>
<p>Who is this? Nobody knows of course, but there&#8217;s a twitter bio:</p>
<p>http://twitter.com/suffolkinace # Bio Some-to-be Royal Military Policeman in the British Army. Also a massive Xbox geek and part-time comedian</p>
<p>The other &#8220;source&#8221; seems to be http://twitter.com/AliAkbar<br />
AliAkbar: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection<br />
about 1 hour ago from web<br />
url http://republicmodern.com</p>
<p>This leads us to   <a href="http://republicmodern.com/about">http://republicmodern.com/about</a> where we&#8217;re told<br />
&#8220;Ali Akbar is the founder and president of Republic Modern Media. A conservative blogger, he is a contributor to Right Wing News, Hip Hop Republican, and co-host of The American Resolve online radio show. He was also the editor-in-chief of Blogs for McCain.&#8221;</p>
<p>I should also mention that a convention emerged in the last day two replace the names of specific local Twitter users in Tehran with a generic &#8220;from Iran&#8221;, to avoid getting anyone into trouble. Which makes plenty of sense, but without any in the middle vouching for sources makes it even harder to know which reports to take seriously.<br />
More&#8230; back to twitter search, what&#8217;s happened since I started this post?</p>
<p>http://twitter.com/#search?q=iranelection%20army</p>
<p>badmsm: RT @dpbkmb @judyrey: RT From Iran: CONFIRMED!! Army moving into Tehran against protesters! PLZ RT! URGENT! #IranElection #gr88<br />
SimaoC: RT @parizot: CONFIRMÉ! L&#8217;armée se dirige vers Téhéran contre les manifestants! #IranElection #gr88<br />
SpanishClash: RT @mytweetnickname: RT From Iran:ARMY movement NOT confirmed in last 2:15, plz RT this until confrmed #IranElection #gr88<br />
artzoom: RT @matyasgabor @humberto2210: RT CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! #IranElection #iranrevolution<br />
sjohnson301: RT @RonnyPohl From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection #iran9<br />
dauni: RT @withoutfield: RT: @tspe: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
interdigi: RT @ivanpinozas From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
PersianJustice: Once again, stop RT army movements until source INSIDE Iran verifies! Paramilitary is the threat anyway. #iranelection #gr88<br />
Klungtveit Anyone: What&#8217;s the origin of reports of &#8220;army moving in&#8221; on protesters? #iranelection<br />
Eruethemar: RT @brianlltdhq: RT @lumpuckaroo: Only IRG moving, not national ARMY&#8230; this is confirmed for real #IranElection #gr88<br />
SAbbasRaza: RT @bymelissa: RT @alexlobov: RT From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
timnilsson: RT @Iridium24: CONFIRMED!! Army moving into Tehran against protesters! PLEASE RT! URGENT! #IranElection<br />
edmontalvo: RT @jasona: RT @Marble68: RT From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
stevelabate: RT army moving into Tehran against protesters. Please RT. #iranelection<br />
ivanpinozas: From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection<br />
bschh: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection (via @dlayphoto)<br />
dlayphoto: RT From Iran: CONFIRMED!! Army moving into Tehran against protestors! PLEASE RT! URGENT! #IranElection</p>
<p>In short &#8230; chaos!</p>
<p>Is this just a social / information problem, or can different tooling and technology help filter out what on earth is happening?</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/06/16/415/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Site recovery</title>
		<link>http://danbri.org/words/2009/05/09/402</link>
		<comments>http://danbri.org/words/2009/05/09/402#comments</comments>
		<pubDate>Sat, 09 May 2009 11:23:59 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=402</guid>
		<description><![CDATA[Busy sysadmin week. The main FOAF site is back, now hosted on Amazon EC2. Thanks to Stephane Corlosquet for all the time he spent fixing up the Drupal installation, after the recent server compromise. I&#8217;ve also moved over danbri.org (well, DNS is propagating), and migrated my blog into a completely fresh Wordpress installation. The FOAF namespace [...]]]></description>
			<content:encoded><![CDATA[<p>Busy sysadmin week. The main <a href="http://lists.foaf-project.org/pipermail/foaf-dev/2009-May/009578.html">FOAF</a> site is back, now hosted on Amazon EC2. Thanks to Stephane Corlosquet for all the time he spent fixing up the Drupal installation, after the recent <a href="http://lists.w3.org/Archives/Public/semantic-web/2009Apr/0135.html">server compromise</a>. I&#8217;ve also moved over danbri.org (well, DNS is propagating), and migrated my blog into a completely fresh Wordpress installation. The FOAF namespace site and Subversion server are safe, and not yet migrated to new hosting. Various documents from danbri.org are still offline while I scrub all the HTML, .js, .php etc for mischief. The old rdfweb.org site is also offline. I&#8217;d rather move slowly and carefully than mess up this process. This is a test post from the new Wordpress to see if it works. Note that I&#8217;ve stripped all plugins and addons and will be much more conservative with trying extensions in the future. In particular, OpenID-based commenting isn&#8217;t working right now, but it&#8217;s on the todo list. One of the most disconcerting things about being hacked is when the site is also your OpenID. I&#8217;m wondering how to better partition things in the future; perhaps using id.danbri.org might give some more options?</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/05/09/402/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The House that  Jack Built</title>
		<link>http://danbri.org/words/2009/03/07/399</link>
		<comments>http://danbri.org/words/2009/03/07/399#comments</comments>
		<pubDate>Sat, 07 Mar 2009 13:01:38 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[Activism]]></category>
		<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[foafcorp]]></category>
		<category><![CDATA[globalisation]]></category>
		<category><![CDATA[theyrule]]></category>
		<category><![CDATA[transparency]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=399</guid>
		<description><![CDATA[&#60;Farmer&#62; &#60;sowed&#62; &#60;Corn&#62; &#60;kept&#62; &#60;Cock&#62; &#60;woke&#62; &#60;Priest&#62; &#60;married&#62; &#60;Man&#62; &#60;kissed&#62; &#60;Maiden&#62; &#60;milked&#62; &#60;Cow&#62; &#60;tossed&#62; &#60;Dog&#62; &#60;worried&#62; &#60;Cat&#62; &#60;killed&#62; &#60;Rat&#62; &#60;ate&#62; &#60;Malt&#62; &#60;in&#62; &#60;House&#62; &#60;builtBy&#62; &#60;Person foaf:name=&#8221;Jack&#8221; /&#62; &#60;/builtBy&#62; &#60;/House&#62; &#60;/in&#62; &#60;/Malt&#62; &#60;/ate&#62; &#60;/Rat&#62; &#60;/killed&#62; &#60;/Cat&#62; &#60;/worried&#62; &#60;/Dog&#62; &#60;/tossed&#62; &#60;/Cow&#62; &#60;/milked&#62; &#60;/Maiden&#62; &#60;/kissed&#62; &#60;/Man&#62; &#60;/married&#62; &#60;/Priest&#62; &#60;/woke&#62; &#60;/Cock&#62; &#60;/kept&#62; &#60;/Corn&#62; &#60;/sowed&#62; &#60;/Farmer&#62;
FOAF super-connectivity daydreams from 2002.
&#8220;indirectly [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;Farmer&gt; &lt;sowed&gt; &lt;Corn&gt; &lt;kept&gt; &lt;Cock&gt; &lt;woke&gt; &lt;Priest&gt; &lt;married&gt; &lt;Man&gt; &lt;kissed&gt; &lt;Maiden&gt; &lt;milked&gt; &lt;Cow&gt; &lt;tossed&gt; &lt;Dog&gt; &lt;worried&gt; &lt;Cat&gt; &lt;killed&gt; &lt;Rat&gt; &lt;ate&gt; &lt;Malt&gt; &lt;in&gt; &lt;House&gt; &lt;builtBy&gt; &lt;Person foaf:name=&#8221;Jack&#8221; /&gt; &lt;/builtBy&gt; &lt;/House&gt; &lt;/in&gt; &lt;/Malt&gt; &lt;/ate&gt; &lt;/Rat&gt; &lt;/killed&gt; &lt;/Cat&gt; &lt;/worried&gt; &lt;/Dog&gt; &lt;/tossed&gt; &lt;/Cow&gt; &lt;/milked&gt; &lt;/Maiden&gt; &lt;/kissed&gt; &lt;/Man&gt; &lt;/married&gt; &lt;/Priest&gt; &lt;/woke&gt; &lt;/Cock&gt; &lt;/kept&gt; &lt;/Corn&gt; &lt;/sowed&gt; &lt;/Farmer&gt;</p>
<p>FOAF <a href="http://lists.foaf-project.org/pipermail/foaf-dev/2002-October/004524.html">super-connectivity daydreams from 2002</a>.</p>
<p>&#8220;indirectly inspired by John Pilger&#8217;s &#8216;The New Rulers of the World&#8217;, FOAFCorp and <a href="http://www.theyrule.net/">www.theyrule.net/</a>&#8221;</p>
<blockquote>
<pre>This is the man, all tattered and torn, <a href="http://www3.amherst.edu/~rjyanco94/literature/mothergoose/rhymes/thisisthehousethatjackbuilt.html">...</a></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/03/07/399/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State of the (OAuth) Union from Eran Hammer-Lahav</title>
		<link>http://danbri.org/words/2009/03/02/396</link>
		<comments>http://danbri.org/words/2009/03/02/396#comments</comments>
		<pubDate>Mon, 02 Mar 2009 17:17:56 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=396</guid>
		<description><![CDATA[A must-read for those who care about standardised access to non-public Web data.
]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.hueniverse.com/hueniverse/2009/03/state-of-the-oauth-union.html">must-read</a> for those who care about standardised access to non-public Web data.</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/03/02/396/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the internet, no-one knows.</title>
		<link>http://danbri.org/words/2009/02/22/395</link>
		<comments>http://danbri.org/words/2009/02/22/395#comments</comments>
		<pubDate>Sun, 22 Feb 2009 16:07:16 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[FOAF]]></category>
		<category><![CDATA[Project ideas]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[ggg]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[crime]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=395</guid>
		<description><![CDATA[&#8220;Because most of the targeted employees were male between the ages of 20 and 40 we decided that it would be best to become a very attractive 28 year old female. We found a fitting photograph by searching google images and used that photograph for our fake Facebook profile. We also populated the profile with [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;Because most of the targeted employees were male between the ages of 20 and 40 we decided that it would be best to become a very attractive 28 year old female. We found a fitting photograph by searching google images and used that photograph for our fake Facebook profile. We also populated the profile with information about our experiences at work by using combined stories that we collected from real employee facebook profiles.&#8221; <a href="http://snosoft.blogspot.com/2009/02/facebook-from-hackers-perspective.html">[...]</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/02/22/395/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Skosdex progress: basic lucene search</title>
		<link>http://danbri.org/words/2009/02/19/394</link>
		<comments>http://danbri.org/words/2009/02/19/394#comments</comments>
		<pubDate>Thu, 19 Feb 2009 02:21:26 +0000</pubDate>
		<dc:creator>danbri</dc:creator>
				<category><![CDATA[SKOS]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[foaf4lib]]></category>
		<category><![CDATA[ggg]]></category>

		<guid isPermaLink="false">http://danbri.org/words/?p=394</guid>
		<description><![CDATA[I now have a crude Lucene index derrived from SKOS data. It is more or less a toy example, but somehow promising also.
Example below is a test against FAO&#8217;s AGROVOC. Each concept becomes a &#8220;document&#8221;, with a &#8220;word&#8221; field containing the prefLabel, and a &#8220;uri&#8221; field for the concept URI. I don&#8217;t index anything else [...]]]></description>
			<content:encoded><![CDATA[<p>I now have a crude Lucene index derrived from SKOS data. It is more or less a <a href="http://svn.foaf-project.org/foaftown/2009/skosdex/src/testlucene.rb">toy example</a>, but somehow promising also.</p>
<p>Example below is a test against <a href="http://www.fao.org/">FAO</a>&#8217;s <a href="http://www.fao.org/aims/ag_intro.htm">AGROVOC</a>. Each concept becomes a &#8220;document&#8221;, with a &#8220;word&#8221; field containing the prefLabel, and a &#8220;uri&#8221; field for the concept URI. I don&#8217;t index anything else yet.</p>
<p>The hope here is to have a handy prototyping environment for testing different indexing regimes. The code takes about 4-5 mins to index AGROVOC on my MacBook, running under Jruby.</p>
<p>The data I&#8217;m using is a <a href="ftp://ftp.fao.org/gi/gil/gilws/aims/kos/agrovoc_formats/skos/ag_skos_080422.rdf">SKOS dump</a> from the FAO Web site, post-processed with &#8220;grep -v&#8221; to skip the Farsi lines, due to a Unicode error. The transcript below comes from running Lucli, a handy command line tool for Lucene.</p>
<p>Next steps with indexing? Not sure. Probably make sure altLabel is handled. But I&#8217;m also curious about possibility of including fields that pull in labels from nearby concepts, so they can be matched in weighted searches. Would be hard to evaluate the effectiveness though.</p>
<p>lucli&gt; search uri:&#8221;http://www.fao.org/aims/aos/agrovoc#c_47934&#8243;<br />
Searching for: uri:&#8221;http www.fao.org aims aos agrovoc c_47934&#8243;<br />
1 total matching documents<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- 1 score:1.0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
word:Pteria hirundo<br />
uri:http://www.fao.org/aims/aos/agrovoc#c_47934<br />
#################################################<br />
lucli&gt; search word:&#8221;Leiocottus hirundo&#8221;<br />
Searching for: word:&#8221;leiocottus hirundo&#8221;<br />
1 total matching documents<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- 1 score:1.0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
word:Leiocottus hirundo<br />
uri:http://www.fao.org/aims/aos/agrovoc#c_45393<br />
#################################################<br />
lucli&gt; search word:&#8221;hirundo&#8221;<br />
Searching for: word:hirundo<br />
2 total matching documents<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- 1 score:1.0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
word:Pteria hirundo<br />
uri:http://www.fao.org/aims/aos/agrovoc#c_47934<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- 2 score:1.0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
word:Leiocottus hirundo<br />
uri:http://www.fao.org/aims/aos/agrovoc#c_45393<br />
#################################################</p>
]]></content:encoded>
			<wfw:commentRss>http://danbri.org/words/2009/02/19/394/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
