Using SIOC ontology to connect Talk Digger with other online communities

Talk Digger: “Semantic Web Ready”

As you probably know, I am currently working on a new version of Talk Digger since a couple of months. One of the features I wanted for this new version was to make Talk Digger “Semantic Web Ready”. I wanted to be able to broadcast its content data in such a way that people could create new services above it.

 

SIOC ontology to describe Talk Digger’s online community

Since, I mostly finished developing the infrastructure, the features and the user interface of the next version of Talk Digger. Then I started to think about this problem. At first I was thinking to develop an ontology to describe what is a “conversation evolving on the Web”. Then started to refresh my memory on the best practices to develop an ontology. One of the first steps was to search for ontologies I could re-use in the one I was expecting to develop. I have done my research using Swoogle. I finally found the SIOC ontology (Semantically-Interlinked Online Communities). I started to read their publications, the specification, and the forums and then I found exactly what I needed.

At a first glance, when you read the class and property names, you can’t do any correlation between that ontology and Talk Digger. However, when you start reading their descriptions and start to map the SIOC terms with the Talk Digger functionalities, you start to see emerging how Talk Digger is becoming an online community.

After I realized that the SIOC ontology is exactly the ontology I wanted to develop for Talk Digger (even if the names are not really relevant with Talk Digger’s). Also, using existing ontologies is always better than creating new ones. For these reasons I choose to use SIOC to share Talk Digger’s content to the world and making it “Semantic Web Ready”

First of all, I would suggest you to check back these screenshots of the new version of Talk Digger before continuing to read this post:

Some screenshots of the next generation of Talk Digger

 

Mapping SIOC classes and properties to Talk Digger functionalities

The first step if to map the SIOC ontology terms to the Talk Digger’s web site functionalities. Take a look at the schemas bellow to check that mapping. At the left you have the SIOC ontology classes and properties (I only put the properties that create relations between classes. Properties like sioc:topic, sioc:description, etc. are not on that schemas for clarity’s sake). At the left you have the Talk Digger system. In the middle you have the relations between the SIOC ontology and Talk Digger.

 

Update [15 June 2006]:

This schemas changed since its first publication. I added the sioc:topic property to the sioc:Forum and sioc: Post classes. I use the tags defined by Talk Digger users to find the topics of the Forum and the Posts. The 3 most tagged words are used as conversation topics.

Additional Note:
These changes are not reflected in the RDF and SVG documents(RDF graphs) bellow.


[Click on the schemas for the Full View]

 

Description of the schemas

  • The sioc:Site instance is Talk Digger’s web site (talkdigger.com)
  • A sioc:Forum is a Talk Digger conversation page. I consider that a conversation page is a forum. The topic is in relation with the web document that started the conversation. So each time that a new URL is tracked by Talk Digger, then a new “forum” is also created. Forums are interlinked together, so if a url A and B are tracked by the system and that the web document at the url B link to the url A we will have: sioc:Forum(A ) – sioc: parent_of –> sioc:Forum(B ) AND sioc:Forum(B ) — sioc:has_parent –> sioc:Forum(A )
  • A sioc: Post is a comment wrote by a Talk Digger user on a conversation page. So each time a user write a comment, a sioc: Post is created in the sioc:Forum.
  • A sioc:User is a Talk Digger user. A Talk Digger user is defined by his internal and unique username. The personal description of the sioc:User is related (via the rdfs:seeAlso property) to it’s FOAF profile (archived in the Talk Digger System).
  • Each time a conversation page is created in the system, a related sioc:Usergroup is also created. Each time a user start to track that conversation using Talk Digger, it also subscribe to the sioc:Usergroup. So: sioc:User(A) — sioc:member_of –> sioc:Usergroup(conversation)

 

Special case with sioc:Forum

As I said above, two sioc:Forum can be linked together if a url A and B are tracked by Talk Digger and that the web document at the url B link to the url A.

But what happen if the url A link to the url B too?

 

 

There is a circular loop in the model: both sioc:Forum are child and parent.

In the context of Talk Digger, it tells me that A is part of the conversation started by B and B is also part of the conversation started by A. It makes sense in that point of view.

However I am not sure that it semantically makes sense in the context of the SIOC ontology.

 

sioc:reply_of and sioc:has_reply to recreate the course of events

The sioc:reply_to and sioc:has_reply of the sioc: Post class are really great in the context of Talk Digger (and blog comments) because systems will be able re-create the course of events, without needing dates, only by following the graph created by these relations.

 

Conclusion

In the next days I will implement the SIOC ontology in Talk Digger and then I will post a snippet of the generated code for peer review.

I am pretty sure that using the SIOC ontology in Talk Digger will give the possibility to other people to use its content in a pretty and novel way.

I could even make Talk Digger a SIOC data warehouse that could crawl SIOC content sites and add them into Talk Digger conversations.

 

Technorati: | | | | | | | | |

Communities’ websites should use FOAF profiles to help users managing their online persona

The social software industry (Web 2.0?) is the new buzz on the Web today. New virtual groups and communities are emerging everywhere at a terrific pace and users generated content websites are becoming the norm.

To create these communities, supporting websites are creating advanced user profiles to try to connect their users based on their interests, relationships with other people, projects involvement, etc. Recently I talked with some of my clients about their projects and each of them needed some type of user profiles into their system. Some user characteristics changed from one system to another but the core characteristics were always the same: name, homepage, geo localization, interests, etc.

It is really great, but as a user of these systems, something is bothering me with all these social websites: I always have to create a user profile, spending my time to create and update it when it changes. For example if I have to change my name (do not worry, it is not in my plans!) then I have to login into each of my user accounts, and change my profile accordingly. It is so boring that people just do not do it: they initially create their profile and forget it after.

The thing is that profiles do not grow-up with the user: the user’s interests will change in the future, but not the profiles’. Eventually the difference between the user and his profile become so big that the profile become a person of its own (okay, I admit that the concept of virtual-re-personification of a profile is weird).

Considering that, I tried to resolve the problem with the next generation of Talk Digger:

 



(Client on the image to enlarge it)

 

  1. Bob have a website (a blog?) on a web server with its own domain name (bob.com). Each month he has to make some changes to his FOAF profile because he gets new interests in life, work on new projects, etc. Considering this, he edits and changes the FOAF profile hosted on his web server accordingly.
  2. The updated FOAF profile is then saved on the web server and available to anyone connected on the Internet.
  3. Bob also have a Talk Digger user account (that is also a FOAF profile). Each week Talk Digger will check if Bob changed his FOAF profile, and if Bob changed it, then Talk Digger will update Bob’s Talk Digger user account accordingly to this new information.
  4. The new information is saved on Talk Digger and all the Talk Digger users instantly have access to that new and updated information about Bob.
  5. Bob’s FOAF profile hosted on his web server and Bob’s Talk Digger user profile are synchronized and reflect the changes in his persona.

 

What is really cool is that Bob do not have to care about his Talk Digger user account. He only has to change his FOAF profile hosted on his web server and within a week the changes will appear on Talk Digger.

It is cool with Talk Digger, but thinks about it if all the “communities’ websites” that Bob is subscribed to would do the same thing? Bob would not have to think about his users profiles scattered around the Web and he would be sure that all his information would be up-to-date.

This is exactly what the new generation of Talk Digger is doing right now and it is working quite fine. Users can import their FOAF profile into Talk Digger and then Talk Digger will crawl their profile once a week or so. That way, in two clicks, they created their Talk Digger user profile with their personal information and do not have to bother with updating their Talk Digger user profile anymore.

The advantage for communities’ websites by using FOAF profiles is that it is becoming the norm to define users’ profiles on the Web. Millions of Internet users already have and maintain their FOAF profile. But the real advantage of FOAF profile is that they are defined using RDF. So a user could extend their FOAF profile as infinitum using different vocabularies and then creating a more-than-human detailed profile. Then communities websites would only retrieve the information they need (or understand) of that profile (one website could only need his interests and another one only his connections with other people but both information would be available if they eventually need it).

This is what it is all about: helping people to manage their online persona. That way they will not have 20 different descriptions of themselves scattered on the Web as time go on.

Technorati: | | | | | | | | | |

Interviewed by James Durbin

James Durbin has interviewed me sooner this week about Talk Digger. You can read the interview on recruiting.com: “TalkDigger Interview: Frederick Giasson”.

You will possibly learn some new things about Talk Digger, about my vision of the future of search engines and about my professional life.

Enjoy the reading.

Technorati: | | | | | | |

Some screenshots of the next generation of Talk Digger

Recently I wrote some things about what I am currently working on for Talk Digger in some of my last blog posts. One picture worth 1000 words, so I will save time by posting 2 screenshots of that next version (generation?) of Talk Digger.

Before getting a look at them, please have in mind a couple of things:

  1. These screenshots are taken from the prototype web site.
  2. This is just a snippet of what is going on.
  3. I post these screenshots to let people know about what I am currently working on, hoping having feedbacks to improve it.
  4. More information about this new version will follow in the next weeks/months.
  5. Beta testing accounts will be available in a couple of months.

I will not describe everything on these screenshots. I will let them talk by themselves. What I would like is that you write a comment to describe what you think is going on. That way, I will know if users “intuitively” know what it is all about or if what I have done so far is a total piece of crap. It’s a sort of test and experiment.

So let me introduce the idea behind this new development, and after make your mind with these two screenshots.

As you probably know, Talk Digger is: a new way to find, follow and join discussions evolving on the Web. So you have three elements: (1) finding discussions, (2) following discussions and (3) joining discussions.

With the current version of Talk Digger, users get stuck at step one. These new improvements to Talk Digger will let its users to go ahead with the step two and three.

With these new features, Talk Digger will become a social platform that helps people to connect with other people that follow the same stories (the premise here is that people that follow the same discussions will also have some personal and professional interests in common). It will also become a search engine of its own, and not only a meta-one.


Tracking page


(Click on the thumbnail to enlarge the screenshot)

Conversation page


(Click on the thumbnail to enlarge the screenshot)

Some people could wonder why I make these screenshots available. They are not a state secret?

Fortunately they are not. Since the beginning, Talk Digger evolved with the ideas of its users. The only thing I hope is that it continues that way and it is for that exact reason why I am posting them today. I hope having your feedbacks and your first impressions about what I have done so far.

Technorati: | | | | | | | | |