mnot’s blog

Design depends largely on constraints.” — Charles Eames

Semantic Web Entries

Thursday, 5 April 2007

WWW2007 Developers’ Track

We’ve announced the program for this years’ Developers’ Track, and I’m very excited about the lineup. For example, Ryan Boyd from Google will be presenting about GData right before Pasha Sadri talks about Yahoo! Pipes. These are two cutting-edge uses of feeds, and with a little luck we might even be able to get them to field some joint questions in the middle. Also on the topic of feed syndication, Elias Torres is scheduled to talk about Apache Abdera...

this entry’s page

Thursday, 22 June 2006

Bringing Back the Link - With a Twist

Recently, there’s been a resurgence for the Link element in HTML; everything from Microformats to Atom autodiscovery is using it. This isn’t surprising; as machines start processing Web documents more, it’s necessary to use hyperlinks — the foundation of the Web — to tie resources together, without getting in users’ faces. Such linking is useful beyond HTML, of course; Atom defines its own concept of link relationships, and uses them in the Atom Publishing Protocol. Usually, embedding this kind...

this entry’s page (8 comments)

Monday, 29 August 2005 0.8

I’m happy to announce that version 0.8 of sparta, a simple API for RDF, is now available. As always, feedback and suggestions are appreciated. This revision requires rdflib 2.2.1, as the APIs sparta relied upon have changed. It also adds a new method on the factory, addAlias, that lets you bypass the prefix_localname convention for URIs that don’t map well to python tokens. See for an example of its use. Thanks to Bill de hÓra for the suggestion...

this entry’s page (6 comments)

Saturday, 13 August 2005

Adding Semantics to Excel with Microformats and GRDDL

When I worked in the financial industry, I quickly noticed that Excel spreadsheets contain the bulk of the data in the enterprise. It may make IT execs tear their hair out, but having the data nearby and ready for analysis is sloppy, but oh-so-effective. The challenge is to make the data reusable elsewhere. Unfortunately, spreadsheets are a mish-mash of structured but meaningless data; there’s no easy way to tell which columns contain data and which ones are headers. To...

this entry’s page (1 comment)

Wednesday, 10 August 2005

Separating the Data Model from its Serialisation

For some time, I’ve noticed that people defining XML formats spend an inordinate amount of time talking about the structure of the format. This is especially apparent in standards working groups, where hours — no, days — can be spent agonizing over whether to make something an attribute or an element. Part of this is obviously stylistic; people have different thoughts on what makes good XML, and they’re fight the same battles over and over again. I’ve often thought...

this entry’s page (11 comments)

Friday, 1 July 2005

(Statistical) Information Wants to Be Free

The Australian Bureau of Statistics has announced that as of today, their online publications and tables are now free to download, instead of requiring an account and a per-download charge, as before. Considering the breadth of statistics they’re involved in, this should be of significant benefit to the Australian people, as well as businesses. They publish everything from Price Indices to information about Internet use to tourism, crime, education and unemployment figures. Check out the popular statistics page to...

this entry’s page (1 comment)

Friday, 29 April 2005

Data Modeling and Abstraction

Today’s release of Tiger includes a new but little-discussed framework for developers, CoreData. What’s most interesting to me is its similarities — and differences — to SDO, IBM and BEA’s* effort to abstract away the specifics of how data is stored. Will we see an über-framework encompassing all of these? Will Apple get on board with IBM and BEA (unlikely, but hey, who knows)? How does it relate to the Semantic Web (which I believe most people should be...

this entry’s page

Friday, 1 April 2005

Can Somebody Explain to Me...

RDF has a simple, usable, universal model; everything’s nodes and arcs, so it avoids the problems of the Infoset, which IMO are brought by its complexity and special cases. Years of disquiet about attributes by portions of the XML cognoscenti support this view unintentionally, I think. So, WHY DOES RDF HAVE A SPECIAL CASE, THEREBY LOSING ITS SIMPLICITY? I’m talking about RDF datatypes, of course. As far as I can see, they’re a special case to the data model;...

this entry’s page (4 comments)

Thursday, 17 March 2005 0.7

I’m happy to announce that version 0.7 of, a simple API for RDF, is now available. As always, feedback and suggestions are appreciated. My goal for this release was to clean up cardinality. In particular, I wanted to make Sparta usable with the Atom OWL work that’s been going on. Unfortunately, it’s difficult to show — both because Atom is a moving target, and due to a few flaws in the stylesheet and model — but with a...

this entry’s page (2 comments)

Wednesday, 2 March 2005

Using XML in Data-Oriented Applications

So, you’ve got some data that you need to give to somebody else, and you want to use XML to do it; good for you, you’ve seen the light / hopped on the bandwagon / drunk the Kool-Aid. At first glance, this seems like a pretty straightforward task; after all, it’s just angle brackets, right? Not so fast. If you’re the only person who every has to look at the XML or write software to work with it, you’re...

this entry’s page (5 comments)

Monday, 6 December 2004 0.6: RDF (and RSS!) Made Easy

Based on feedback (thanks, John), it's now mapped to an object that implements a subset of the interface of sets.Set, and produces a full sets.Set when you call the copy() method. rdf:Seq is mapped to a list, joining rdf:List; this allows Sparta to work with RSS 1.0, along with other formats that use Seq. The factory takes an optional schema_store argument, so you can store schema hints for Spara separately, if you wish.

this entry’s page (1 comment)

Saturday, 21 August 2004 0.5: RDF made easy

Version 0.5 of is now available; with this release, it's roughly feature-complete.

this entry’s page (1 comment)

Thursday, 5 August 2004

The ‘Document’ in Document-Oriented Messaging

(Another instalment in “XML Heresies.”) One of the foundations of most vendors’ approach to Web services is called document-oriented messaging. This is the notion that interoperability is improved by describing a protocol in terms of the artefacts that are exchanged on the wire, rather than how the code that handles them is written. As far as it goes, that’s good advice. Implementation-specific specifications lead to brittleness, because you can’t swap out the implementation; the message is too tightly coupled to...

this entry’s page (10 comments)

Friday, 28 May 2004

XML Infoset, RDF and Data Modelling

I’ve been talking with a few people about my previous assertion that the Infoset is a bad abstraction for data modelling, and my subsequent post about the informational properties of the Infoset. The feedback has been positive, especially regarding the notion that the Infoset offers great tools for document markup, but presents more problems than solutions when directly used in non-markup applications; i.e., those that are data-oriented. The best examples of the kind of unneeded complexity I’m talking about are...

this entry’s page (5 comments)

Saturday, 15 May 2004 0.4: Data Binding for RDF in Python

After a short pause (OK, nearly three years), I’ve released version 0.4 of Sparta is a simple API for RDF that binds RDF nodes to Python objects and RDF arcs to attributes of those Python objects. As such, it can be considered a “data binding” from RDF to Python. For an example of its use, see and its output. New in this Version This version is based on rdflib, which makes it much easier to install and simpler...

this entry’s page (4 comments)

Saturday, 24 April 2004

Madonna Dead

This is why heuristics aren't such a hot idea. UPDATE: For those wondering what this is about, the original version of this article had a picture of Madonna, the actor/singer/etc., and links for more information about her, not the famed Madonna Inn. Yahoo has since fixed it (showing that there is a human somewhere at the helm)....

this entry’s page

Tuesday, 30 December 2003

The Semantic Web’s Dirty Little Secret

Browse through the W3C Semantic Web pages and you’ll see this notice in a few different forms: Additional support for this activity has been provided by DARPA under the DAML program. Dig a bit further on the DAML site, and you’ll find that it’s more specifically sponsored by the “Information Exploitation Office,” a part of the US military with a mission that includes; Develop[ment of] sensor and information system technology and systems with application to battle space awareness, targeting, command...

this entry’s page (5 comments)

Sunday, 7 December 2003

The New RDF

I spent a little time on the plane the other day reading the latest WD of the RDF Primer. I didn’t attempt to review the entire document set, as reading a 71 page primer is quite enough! I haven’t followed RDF for quite some time; I’ve been busy with other things, and haven’t had a direct requirement to be familiar with the technology, so my concept of RDF was, until I started reading this, circa 2001. So far I’ve only...

this entry’s page (1 comment)

Thursday, 29 May 2003

Real-World RDF

Jo Walsh has created a Semantic Web system that appeals quite strongly - a means of using RDF to map to the real world in "gonzo geographical data collection". Very nice. I've been thinking about RDF-izing the Travel bookmarks for quite some time; this might be just the ticket. Also is nice to see this stuff in non-academic applications for once. [ via Sam Ruby ]...

this entry’s page

Friday, 9 May 2003

We need WikiVerbs!

Before, I was wondering about the intersection of Wikis and the Semantic Web. I've since done some noodling and prototyping, and the idea came together on the train home tonight. You *can* build some semantics using just WikiNames. For example, let's say you have a Wiki about your company's products. If you have a line of widgets that are different colours, you could create a WidgetProduct WikiName and use that term on all of the pages that describe the different...

this entry’s page (3 comments)

Monday, 28 April 2003

Wiki as Semantic Web?

Anybody else notice how you can use a Wiki like a Semantic Web engine? For example, define a WikiName, say PersonThing. Only use the PersonThing WikiName on pages that identify... person things! You're basically saying a :PersonThing . OK, it's limited; I'm not sure how you'd get any other predicates in there. But you can do some nifty stuff in there; by using certain objects on a page and then doing searches on multiple facets, you can capture a lot...

this entry’s page (4 comments)

Saturday, 16 November 2002

RDF Model and Syntax

Jack William Bell makes a precise, short and readable effort at explaining why RDF is simple and important. In the article and subsequent discussion, it's clear that RDF model and syntax are very different topics. EVERYONE that I talk to agrees that the RDF model is elegant, useful and fundamental. Almost everyone agrees that the RDF/XML syntax is flawed, at best. I tend to agree. RDF may be damned by history and overshadowed by its older brother, XML. Remember when...

this entry’s page

Creative Commons