finally a bnode with a uri

Posts tagged with: social graph

Knowee - (The beginning of) a semantic social web address book

Knowee is a web address book that lets you integrate distributed social graph fragments. A new version is online at
Heh, this was planned as a one-week hack but somehow turned into a full re-write that took the complete December. Yesterday, I finally managed to tame the semantic bot army and today I've added a basic RDF editor. A sponsored version is now online at, a code bundle for self-hosting will be made available at tomorrow.

What is Knowee?

Knowee started as a SWEO project. Given the insane number of online social networks we all joined, together with the increasing amount of machine-readable "social data" sources, we dreamed of a distributed address book, where the owner doesn't have to manually maintain contact data, but instead simply subscribes to remote sources. The address book could then update itself automatically. And -in full SemWeb spirit- you'd get access to your consolidated social graph for re-purposing. There are several open-source projects in this area, most notably NoseRub and DiSo. Knowee is aiming at interoperability with these solutions.
knowee concept


For a webby address book, we need to pick some data formats, vocabularies, data exchange mechanisms, and the general app infrastructure:
  • PHP + MySQL: Knowee is based on the ubiquitous LAMP stack. It tries to keep things simple, you don't need system-level access for third-party components or cron jobs.
  • RDF: Knowee utilizes the Resource Description Framework. RDF gives us a very simple model (triples), lots of different formats (JSON, HTML, XML, ...), and free, low-cost extensibility.
  • FOAF, OpenSocial, microformats, Feeds: FOAF is the leading RDF vocabulary for social information. Feeds (RSS, Atom) are the lowest common denominator for exchanging non-static information. OpenSocial and microformats are more than just schemas, but the respective communities maintain very handy term sets, too. Knowee uses equivalent representations in RDF.
  • SPARQL: SPARQL is the W3C-recommended Query language and API for the Semantic Web.
  • OpenID: OpenID addresses Identity and Authentication requirements.
I'm still working on a solution for access control, the current Knowee version is limited to public data and simple, password-based access restrictions. OAuth is surely worth a look, although Knowee's use case is a little different and may be fine with just OpenID + sessions. Another option could be the impressive FOAF+SSL proposal, I'm not sure if they'll manage to provide a pure-PHP implementation for non-SSL-enabled hosts, though.

Features / Getting Started

This is a quick walk-through to introduce the current version.
Login / Signup
Log in with your (ideally non-XRDS) OpenID and pick a user name.

knowee login

Account setup
Knowee only supports a few services so far. Adding new ones is not hard, though. You can enable the SG API to auto-discover additional accounts. Hit "Proceed" when you're done.

knowee accounts

Profile setup
You can specify whether to make (parts of) your consolidated profile public or not. During the initial setup process, this screen will be almost empty, you can check back later when the semantic bots have done their job. Hit "Proceed".

knowee profile

The Dashboard shows your personal activity stream (later versions may include your contacts' activities, too), system information and a couple of shortcuts.
knowee dashboard

The contact editor is still work in progress. So far, you can filter the list, add new entries, and edit existing contacts. The RDF editor is still pretty basic (Changes will be saved to a separate RDF graph, but deleted/changed fields may re-appear after synchronization. This needs more work.) The editor is schema-based and supports the vocabularies mentioned above. You'll be able to create your own fields at some later stage.

It's already possible to import FOAF profiles. Knowee will try to consolidate imported contacts so that you can add data from multiple sources, but then edit the information via a single form. The bot processor is extensible, we'll be able to add additional consolidators at run-time, it only looks at "owl:sameAs" at the moment.
knowee contacts

Enabling the SPARQL API
In the "Settings" section you'll find a form that lets you activate a personal SPARQL API. You can enable/protect read and/or write operations. The SPARQL endpoint provides low-level access to all your data, allows you to explore your social graph, or lets you create backups of your activity stream.

knowee api knowee api

That's more or less it for this version. You can always reset or delete your account, and manually delete incorrectly monitored graphs. The system is running on the GoGrid cloud, but I'm still tuning things to let the underlying RDF CMS make better use of the multi-server setup. If things go wrong, blame me, not them. Caching is not fully in place yet, and I've limited the installation to 100 accounts. Give it a try, I'd be happy about feedback.

"Online Social Graph Consolidation" webinale Slides

Slides from my 2nd webinale 08 talk are online
I gave another talk at webinale2008, this one was about how SemWeb technology (XFN, RDF, FOAF, SPARQL, Inference) can help with the aggregation, integration, and consolidation of online social graph fragments spread across Web 2.0 services. Again, I tried to keep things demo-ish (using grawiki for Linked Data editing, and knowee for the integration and consolidation), so the slides themselves (available on slideshare) aren't too spectacular (and in german).

Slowly resurfacing for more SWEOing

Resurfacing from ARC2 and Trice coding for more SWEO work
After two months of spec implementation, I'm finally getting at the more interesting stuff again. I'm not fully on schedule, but I could at least meet the first of this week's three deadlines: I presented a first knowee proof of concept at yesterday's webmontag and feedback was positive. Deadline #3 is a working prototype by this wednesday (promised to SWEO), but I'm not sure I'll be able to deliver. We are close, but there is also deadline #2 lurking: the DAWG implementation reports are due today, and I'm still working on mine for ARC2...

Nevertheless, webmontag was really great again. Had an interesting chat with mixxt's Oliver Ueberholz about the practical problems of adding social data export to SNSs. It seems that microformats are not always the obvious answer when the public export of machine-readable profile information is meant to be implemented as a user option, or when you want to be able to block certain bots from crawling your networks. They are thinking about external files now and wonder if RDF might be an option. Keeping the template code clean, and the ability to serve content for "online social graph aggregators" like knowee from separate machines are two potential benefits. At least the "hidden information is not maintained" argument is moot in their case, as the data is auto-generated anyway.

Last week I had lunch with Alexander Linden, the guy who used to position Semantic Web on the Gartner Hype Cycles. He left Gartner for his own venture (HumanGrid), a crowdsourcing platform. Surprisingly, they are not using SemWeb technology directly, but he said that their solution could be very helpful to generate and quality-improve RDF instance data.

We also talked a bit about SemWeb startup funding, and despite Gartner's latest Hype Cycle, which put SemWeb into the trough of disillusionment for the next 10(!) years, venture capital invested in semantic technology companies is apparently increasing. At least if you are in the US, that is. In Germany, a lot of money still seems to vanish in dodgy projects like smartweb. I hope that theseus is going to have more practical outcomes. They are going to run a competition for non-partners, that's a step in the right direction.

Related to startups and their technology choice is a concern about the lack of end-user semantic web applications that demonstrate the utility of RDF. A Semantic Web is going to be one of the Next Big Things, but that doesn't necessarily mean that it'll be built with W3C technologies. The only big-potential (US) startup with an RDF infrastructure, for example, is generating so much hype that they are doomed to disappoint, no matter what they are going to launch (if they'll ever do). Maybe RDFers should hurry up a little if they want to help avoid a possible backlash. I will, at least.

Alexander said the RDF stack has always been rather tough to sell (especially OWL), and identified some strategies that the SWEO group could focus on during the next couple of months:
  • Admit that the full technology framework is not trivial, it's web-scale information integration after all. If you present it to newbies, always present a consumable subset only, not the full thing (Uh, I'm guilty).
  • Organise more local meetings, BarCamp-style, open to people with related interests (i.e. not-yet-semweb developers)
  • Provide convincing solutions that clearly show how RDF saves money and/or time, or increases productivity in a way that no alternative technology can. CEOs are just one group, a new technology has to attract the developers, because they decide how much friction losses they are willing to accept before they get at the benefits of a new technology. (SWEO is already building a collection of success stories, the Community Projects address these points, too, I think)
  • Something to download and play with for those with initial interest (that's basically Danny's Semantic Web in a box suggestion)
  • Public datasets (Yay LOD project)
An additional suggestion I heard yesterday was "Non-technical Marketing". And that's something SWEO is spending quite some time on, too. (The W3C comm team is actually coming up with a full SemWeb branding strategy soon.) And to cite Dan Brickley:
16:37:57 [danbri] best thing we ever did, was make those tshirts!

So, it seems the SWEO activities are moving in the right direction, but it'd be great to get more ideas. What do you think is still missing or should get a high priority?

the site is online, next step will be a prototype
Just a short update on knowee, one of the SWEO Community Projects. There is nice progress, although it took some time to get things moving. An early site is now online, and we have a first design for the app.

I still have to flesh out knowee's approach to "social graph portability" (or whatever it's called this week), but then I'll focus on the prototype which will hopefully be available by Mid/End-September.


No Posts found