Eran's blog

Re: Microformats and SIOC

John Breslin writes about the overlap between Microformats and the SIOC (Semantically-Interlinked Online Communities) project. SIOC was one of my references when expanding cite-rel and later when designing my Distributed Social Anything project so, naturally, I’m interested.

John brings up a few points where SIOC and microformats could help each other and therefore help make the Web more semantic.

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.

To the best of my knowledge, the way this is normally handled in the mf world is based on XFN (XHTML Friends Network) and possibly with the addition of hCard. Using XFN rel=me links one can establish an equivalence relation between different accounts to show that they belong to the same person. Additionally, one could use a rel=me link to an hCard to provide further information about the actual person (as opposed to an account on a website). This is described to some degree on the GMPG site but that description is getting somewhat out of date and should really be moved to the mf wiki.

…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.

I’ve faced this problem while designing the DSA system and chose a similar solution based on an existing microformat – rel-directory. By adding ‘directory’ to the rel value of a link, the author states that the destination of the link is a container listing an entry for the current page. Using the rev attribute one could publish the complimentary relation.

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.

As John says, this is very close to the word I’ve done with DSA. I haven’t really thought of showing relationships between whole forums and groups but this can be done in the same way as single posts using rel-directory (mentioned above). For users, I wanted something with a little more specific semantics that’s easy to integrate with XFN so I’ve started work on XMF (XHTML Membership format).

Lastly, John touches on distributed conversations and cite-rel. There is, indeed, some correlation between cite-rel values and SIOC/IBIS relations but there’s also an important difference.

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.)

Ryan and I created cite-rel with the intent of keeping it simple. In the microformat way of focusing on the 80% case we mostly dealt with simple relationships between posts (replies, forwarding, updates and via links). We left dealing with the subtle nuances of agreeing/disagreeing to future specs. In this specific case, we can actually use one of the earliest microformats, vote-links, to show the authors attitude towards a previous post. As for other values, here’s the mapping as I see it:

sioc:has_reply – rel-reply
sioc:reply_of – rev-reply
sioc:next_version – rel-update
sioc:previous_version – rev-update
sioc:related_to – I’d say that via can be mapped to sioc:related_to but not necessarily the other way around as via links have a very specific meaning that is not encoded in SIOC as far as I can see. Perhaps IBIS’ source would work?
IBIS:pro/con – map very well to vote-for and vote-against in vote-links.


Filed under: Aggregation, MicroFormats, Projects, The Net

Social Networks for Social Search

There are 3 main reasons to add someone as a contact on flickr:

  1. They just added you and you feel obliged to reciprocate.
  2. They’re actually someone you know and you want to keep up with them and/or see photos from shared events.
  3. You like their photos.

Discounting #1 as an illness that plagues all YASNs, #2 and 3 are all about finding photos that are relevant to you. It’s not quite search yet because flickr doesn’t let you search in your social network but it’s close.

Other YASNs are like that as well. In fact, I’d go as far as saying that social networks are about 2 things: hooking up and social search. By hooking up I mean pure social connection, not necessarily of the sexual kind and by social search I mean using your social network to find/discover information that is relevant to you. Sadly, most of them are lacking in tools to do that effectively but we’ll get there some day. I hope.

Why am I writing this? Well, I’ve been thinking of social search on and off for the last year or two. The model I’ve come up with can be best described as multi-layered social search. Different layers of your social network (layers that may be completely orthogonal to one another) are used as filters for different topics. You can have your music friends, your Java architects, your gaming geeks… each group would be used to filter different sources of information. Get news about music and live shows from people whose music taste you appreciate. Get recommendations about new games from Tycho and Gabe and so on.

Most social networks won’t let you do that yet. Yahoo’s My Web 2.0 is making a good start with their labels and I’d like to see more of that. Del.icio.us let’s you find supposed experts on certain topics with their ‘active users.’ A combination of both features would be useful. A place where I can bookmark, discuss, discover and connect with like-minded people would be another welcome addition once we’ve combined the above two features (segmentation and expert discovery).

But for now, we have a different solution. This solution (partial and lacking in many ways) comes in the form of niche YASNs that keep showing up. Use flickr to find photos, upcoming for events, boompa for car information, tribe for like-minded people, last.fm for music, netflix for movies and so on and so forth. We don’t have the Grand Unified Social Network yet but we can pretend we do by using 20 different YASNs. If we’re lucky, at least some of those will be open (as in open standards and APIs) for integration in the future.

By the way, this idea integrates quite seamlessly with the theory of Object Mediated Social Networks which I’ve talked about before. When people connect (discuss, analyze, link, etc.) over objects (movies, bands, jobs) they create filters. Those filters can then be used for search. Social search.

Filed under: Search, Tagging, The Net