Diarybot
I started a new project using jabber and SIOC. It's a jabber bot that records sioc:Post entries in an RDF store.
I also used wokkel, twisted, and rdflib.
The idea is that you make a new bot account and have some users subscribe to it. Anything they say to the bot is logged (the diary part), and the bot will send out nag messages if it hasn't heard from anyone in a while. Each users' posts are broadcast to all the other users.
Kelsi and I tried it out, and I noticed an unintended usage pattern: when I posted something, she followed up with an elaboration. This is natural since she gets my message as a broadcast from the bot, and answering it makes a new post. Someday when I get around to finding or writing a SIOC viewer for this stuff, it would be nice to connect the entries that were made very close together.
Here's what the log looks like in n3:
@prefix : <http://rdfs.org/sioc/ns#> . @prefix XML: <http://www.w3.org/2001/XMLSchema#> . @prefix dc: <http://purl.org/dc/terms/> . <http://example.com/forum> :container_of [ a :Post; dc:created "2009-09-19T20:59:33.33-07:00"^^XML:dateTime; dc:creator "drewp@jabber.bigasterisk.com/Coccinella@dash"; :content "good evening diary" ], [ a :Post; dc:created "2009-09-19T22:18:00.12-07:00"^^XML:dateTime; dc:creator "drewp@jabber.bigasterisk.com/Coccinella@dash"; :content "weather is looking fine" ] .
SIOC says to use sioc:has_creator which points to a sioc:User, but I haven't gotten all those connections done yet. The code also doesn't know what forum URI to use for the bot. The log store is only appended to, but the code currently rewrites the whole thing every time, which is a waste (and a risk!).
I'm thinking about adding a separate mode where each person writes his own local diary with one bot, and there's no broadcasting or sharing of messages between the users. In other words, it would be like you made separate bot accounts bot_user1, bot_user2, etc, except you wouldn't have to actually make all those accounts.
- New comment