Tag Archives: blogtalkreloaded

Microformats and SIOC

(Got a chance to finish this idea during BlogTalk Reloaded today! I just needed some more inspiration…)

It’s been a year since I last took a look at the overlap between the SIOC Project and Microformats (mf). I’ve been trying to catch up with recent developments, especially the cite-rel draft by Ryan King and Eran Globen.

I admire the Microformats resolve to “solve problems”, rather than provide generic things that may in the future be used for X or Y (even though I believe that too is important, or else I wouldn’t be a Semantic Web researcher!). I also think that there is no good reason that both the Semantic Web and Microformats communities can’t work together (despite arguments like this). There are people on both sides who strongly feel that the other is going in the wrong direction, but it would be a mistake to let any such voices dominate. Both communities are trying to add semantics in the Web, and using things like GRDDL and Micromodels / mf RDF representations, the existing work from both sides can be reused.

So, with this in mind and in terms of SIOC, I hope that we can use Microformats to help create closer interlinks between the objects that make up online communities – I’m talking mainly about posts, forums / blogs, communities and user profiles. I’m going to start with three or four things I want SIOC to do for Microformats and vice versa, and then we can go from there. These correspond to some of the links shown in my “connecting discussion clouds” picture.

One User, Many User Accounts

At the moment, it is quite difficult to identify all the posts made by a particular person through their various user personas or profiles on different sites – e.g. find all the blog posts and comments and forum threads I’ve created in the past year. In the SIOC and FOAF vocabularies, there are two properties linking people to user profiles: a Person is linked to a User using a “hasOnlineAccount” link, and a User is linked to a Person using an “account_of” relationship. Using a mf for sioc:account_of / foaf:hasOnlineAccount would help with the “One Person, Many User Accounts” issue – e.g. these links could be created from a user signature or other public profile field. For example, I have an account on boards.ie, and I want to say that I am the same person described by a FOAF profile on my own site, or that I hold another account on boards.jp. Maybe links are required in both directions to confirm that I am really am who I claim I am, but this can be done at least (even if it is tedious). This may also require some BBCodes for forums that translate to the appropriate HTML.

Example


<div class="User">
I am <a rel="account_of" href="http://johnbreslin.com/">John Breslin</a>, and I also have another account, <a rel="hasOnlineAccount" href="http://microformats.org/wiki/User:Cloud">Cloud on microformats.org</a>.
</div>

Virtual Forums

Wouldn’t it be nice if you could have a virtual forum of all your posts on blogs, forums, mailing lists, whatever? Apart from going around to all of your favourite sites and linking to your posts from a page, another option would be to do it in reverse – when you create your post, link back to your own post aggregation resource. From the user side, this could be achieved by creating a mf for sioc:has_container that allows linking to “Virtual Forums” from the post creator side, e.g. from the post content. Also, virtual forums could be created that list all the posts by people in a restricted social network, or constructed for posts / threads that refer to a certain resource or topic.

Example


<div class="Post">
Another post that is related to my love of <a rel="has_container" href="http://www.johnbreslin.com/forums/electronicmusic/">electronic music</a>, Tangerine Dream are releasing five previously unreleased albums next week...
</div>

Unified Communities

This kind of corresponds to Eran’s idea of “distributed social anything“. In SIOC, we use has_part and part_of to link any object to a particular community. The concept of Community in SIOC is very generic – but the idea is that you should have a structured way to link different things (forums, people, etc.) to a community object. Let’s say that there’s a community talking about the TV series Lost, and they have a blog, a mailing list, an aggregation of Lost-related blogs, or just a news website – these could be linked to an identified central community resource through part_of / has_part relation. Similarly, I could identify myself or my user profile on a particular site as being part of that Lost community. From forums, a mf for has_part / part_of would allow one to link a forum or blog or any discussion channel to a larger community, e.g. this could be done from a forum description. Also, a mf for has_part / part_of would help to link a user to a community, e.g. by creating a typed link from a user signature.

Example


<div class="Forum">
Welcome to the <a href="http://sioc-project.org/forum/">SIOC forums</a>, where we talk about the <a rel="part_of" href="http://www.semanticweb.org/">Semantic Web</a> and internet discussions.
</div>

Distributed Conversations

Ryan and Eran have already done a lot towards this idea with the cite-rel draft. In terms of SIOC, we already have the has_reply and reply_of relationships, which match up to their proposals: rel-reply corresponds to sioc:has_reply, and rev-reply corresponds to sioc:reply_of. Using the mf cite-rel versions of has_reply / reply_of would allow these distributed threads to form, e.g. if used from the post content. cite-rel brings the reply idea a step further by introducing rel-forward and rev-forward (basically, has_reply and reply_of with quoted content). Ultimately, we need ways to say that a post is in agreement or disagreement with a previous post or even with specific parts of a previous post (see picture below). Also, we may need to describe other reply types that are needed, as with IBIS. (Note: rev-update and rel-update may correspond to sioc: previous_version and sioc:next_version respectively, and via may be compared with sioc:related_to.)

Example


<div class="Post">
As a follow up to my previous post about <a rel="reply_of" href="http://www.johnbreslin.com/blog/2006/09/07/creating-connections-between-discussion-clouds-with-sioc/">connecting discussion clouds</a>, I have realised that I need to say more about people and topics, especially as discussed <a rel="related_to" href="http://www.johnbreslin.com/blog/2005/11/11/iswc-2005-over-won-an-ipod-aligning-sioc-with-foaf-and-skos/">here</a>. Edit: I've since posted about how <a rel="has_reply" href="http://www.johnbreslin.com/blog/2006/09/27/sioc-foaf-skos/">FOAF and SKOS can be used to describe people and topics</a>.
</div>

Even in just a single thread there can be many challenges in terms of identifying agreement and disagreement. My picture below illustrates some of the complexity relating to implementing such reply types, especially when user revisions of content are brought into play. There are two types of agreement / disagreement shown in this example: the orange lines show those between responses to the discussion topic, and the purple lines show those between revised versions of a content item.

20061001c.png

Future

I’d like to hear from both communities (Microformats and Semantic Web) on this, so please comment if you have time. Maybe eventually we can come up with a proper SIOC-roformat (hSIOC?) based on some of the ideas in this brief draft.

20061001e.png

Testing Second Life…

…or “I admit, I didn’t pay attention during someone’s BlogTalk presentation today!”

I’ve heard so much about Second Life (from the recreated virtual Dublin city centre to the live concert held there by Duran Duran), and today people were on about it again in the BlogTalk IRC back channel – so I signed up today to give it a go.

Second Life is free to download from secondlife.com; about 25 megabytes or so. My username is really something; no, that’s it – Really Something – so if you see me be sure to say hello! When you register, you get about 50 surnames to choose from, and you can specify your own first name.

Some screenshots below. Unfortunately it crashed my PC twice, not just a soft blue screen thing but it actually caused my Thinkpad to turn off on both occasions. I was trying to alter my appearance to look something like me, replete with balding hairline – not sure how successful I was – especially losing my settings twice 😦 The first picture is from in front of virtual Trinity College; the second picture shows the Spire and the GPO.

20061001a.png 20061001b.png

+3B-BB=1B:( Away at BarCampIreland, boards.ie EGM and BlogTalk Reloaded

Yes, it may look like some geek code, but the three Bs are the three events I’ve been attending this weekend:

  • BarCampIreland: Yesterday morning / afternoon in Cork, I enjoyed meeting all the people at our first BarCamp event in the country, and many thanks to Damien, Conor and Walter for all the organising. Met some new people and some regulars: Damien, Conor, Ed, Piaras, John, Vincent, Mark, Donncha, Gavin, Ryan, Emmet, Diarmaid, Michele, Marcas and Gavin. Unfortunately I didn’t get to meet other friends, seeing as my car rental was three hours late, I missed the morning sessions and time was short… Oh well! My talk on SIOC went okay I think, lots of questions and some good chats afterwards – thanks! I’ll upload the PDF to my presentations page shortly.
  • boards.ie EGM: The directors of boards.ie had our second meeting of the year last night in Dublin, which went pretty well. Lots of things discussed and plans made.
  • BlogTalk Reloaded: And today, I’m in Vienna where things are gearing up for the BlogTalk conference. We had a pre-event drinks session tonight, where I met many attendees including Thomas, Jan (organisers), Paolo, Monica, Jeremy, Ray, Graham, Sara, Ton, Wolfgang, Elmine, Anne, Jeroen, Udo and Alex. Looking forward to the sessions tomorrow and to meeting many more participants (including Stephanie who I’ve been talking to on the #blogtalk IRC channel).

So what’s the rest of the equation? It’s hard being away from home at this time, family and baby (BB), so I’m a lonely 1B tonight. But I’m making the best of the time away, as you can see from all that’s been crammed into the past 48 hours 😀