Practical RDF Town Hall
19:54, 13 Dec 2003 UTC | Simon St.Laurent

Around 30 people attended the Practical RDF Town Hall at the XML 2003 conference this week, watching demos and asking questions.

Norm Walsh inaugurated the festivities, noting that "I initially ignored RDF for a number of years, and eventually Dan Connolly showed me a few clever things you could do with it, and then I realized I could come up with a few clever things as well without waiting for the Semantic Web to emerge in the fullness of time."

Dan Connolly presented on "The Semantic Web and its applications at W3C." After noting the advantages of RDF being XML, he explored RDF's merge-ability, including namespaces, RDF's Web-friendliness, consistent stack of tech, and the advantage of riding the URI network effects. Connolly noted that "The interesting thing about this layer cake is that we're really using this technology." The Technical Reports page used to be managed by hand, despite holding over 400 entries. The W3C started to automate this with RDF, and combined it with technologies like XSLT to test conformance to publication rules.

Eventually, the process shifted to a completely automatic one, now in production. Beyond XSLT's ability to publish the actual documents however, the W3C also uses XSLT to generate metadata about the documents (based on style information) which can be used for reports, as well as automating the bibliography creation process. It also creates an overview of W3C groups and their dependencies using SVG. "The data is never in one place - it flies all over the Web."

Dan Brickley then explored RDF hyperlinking using rdfs:seeAlso , a part of the RDF Schema work that has proven useful in other fields. It provides hyperlinks between RDF files and permitting the exploration of related descriptions. By adding the extra reference - something not strictly necessary to using RDF - it becomes possible to move from one set of graphs to another, so "seeAlso gets us from semantics to the the Semantic Web."

Given these pieces, you can combine and compile data into ever-larger webs of related materials. Dan presented HTML and SVG views of the same information sets, some individually and some in enormous (for a slide) aggregate. The seeAlso approach lets the software deal with complex issues like provenance and the scattered nature of data in an open Web, as well as the sometimes difficult question of figuring out when two things talk about the same thing. Crawlers can use the information to build much richer and more coherent collections of information, in whatever domain that information happens to describe.

Kal Ahmed asked some tough questions about how to scale this to the kinds of levels that Google reaches to crawl the entire Web. Brickley noted that this has the benefit of dealing with much smaller and more structured data, but acknowledged that this isn't a magic way to reach Google's capabilities without the same level of build-out.

Next, xmlhack editor Edd Dumbill explored how he applies RDF to his personal data integration problems, running personal information through the Friend-of-a-Friend (FOAF) RDF vocabulary, using the Redland framework as a foundation for processing.

His first use case was IRC messaging, building an IRC bot to "help out, lubricate these social situations where you don't know people." His foafbot scoops up RDF information from around the Web. People can described themselves as well as other people, so there's lots of information available. Provenance is important, of course, and foafbot keeps track of whose files made which assertions. It's not trivial to associate information with a particular person (or their seriousness in saying it), however, though he uses digital signatures as an identifier that someone means what they wrote. Escaping the problem of lies is very difficult, though - if someone wants to make false assertions and sign them, they can.

Also, the co-depiction experiment lets you use this same information to identify which people go with what pictures. Asking the foafbot for pictures of someone returns a list of URIs to pictures, built from Dublin Core information in the FOAF files. The bot can process the assertions to identify multiple people in the same figure, hence co-depiction.

Dumbill also emphasized the usefulness of the C-based Redland framework, which has sprouted context features and Python bindings to support this work. (Other bindings are available for C, Java, Perl, Ruby, and C#.) Like the C-based expat parser, it's easy to compile for particular applications, and it also relies on the Berkeley DB XML database from Sleepycat.

Next Dumbill showed off Dashboard, Ximian's desktop search tool for personal information, which links into various apps to collect context. While Dashboard's internals aren't RDF, "the mentality similarly involves joining things together." He demonstrated how Dashboard could respond to activity in a Web browser, using a meta element in HTML for hints. Dumbill is also working on cellphone and Bluetooth integration for this kind of interapplication communication, as well as building stronger links with IM, email, bookmarks, and more. Bluetooth between cell phones seems to be helping people meet in bars already.

In the last presentation, Norm Walsh explained how he was using RDF to make better use of information he already had. Walsh explained that he had lots of data in various devices about a lot of people and projects, but no means of integrating it. Thanks to various RDF toolkits - "just by dumping it into RDF, it just kind of happens for free." Aggregation and inference are easy - and Walsh can get convenient notifications of people's birthdays without duplicating information between a file on a person and a calendar entry noting that.

The cwm ("closed world machine") tool at the heart of Walsh's site combines all kinds of information and integrates it with the essays he writes for his weblog. He showed a photograph taken at the very beginning of the Town Hall, its technical metadata, and then information linking that photo to its taker and details about who is in the photo, making co-depiction queries possible.

In the question period, James Clark confessed that "I'm not a complete RDF convert yet," and asked the generation of RDF using XSLT: "Is there some way to point to an XML and XSLT file rather than an RDF file." The answers were sort of yes and sort of no. rdfs:seeAlso was one possible route, though it had only one URI for the data source and none for transformation. Dan Connolly also pointed out that running an XSLT program is easier to support as a service, "safer by default", than most other programming evironments.

There were also a few questions about merging, integration, and the rules for combining rules, as well as questions about the process of creating RDF/XML and the XSLT to do so.

xmlhack: developer news from the XML community

Front page | Search | Find XML jobs

Related categories