Hello Leigh:

I wanted to say how pleased I was a few months ago when Michael Hausenblas forwarded me a a reference to your Linked Data Patterns book. Totally Brilliant! I think a pattern language is just the right approach for linked data. And yes, I mean a pattern language, something more whole and alive than how the industry has come to portray design patterns since the 90s.

So I reached into my bookshelf this morning and dusted off my copies of A Timeless Way of Building, A Pattern Language and the Oregon Experiment. For those who haven't read them, I highly recommend all three of these books. For those who have read them, recall how the principles of web design reflect the principles from The Oregon Experiment: Organic Order, Participation, Piecemeal Growth, Patterns, Diagnosis and Coordination. Or Alexander's Summary of the Language: "A pattern language has the structure of a network." [...] "Since the language is in truth a network, there is no one sequence which perfectly captures it." [...] "The sequence of patterns is both a summary of the language, and at the same time, an index to the patterns."

Most importantly, the technologies underlying the Linked Data meme are just right for publishing pattern languages. In 1977 Alexander described how publishing the language as a hard bound copy  could be misinterpreted. He was concerned that people might come to rely only on the one language printed in the book. Today, the web provides us a publishing mechanism that overcomes the limitation Alexander faced in 1977: Linked Data.  

I haven't looked closely at the view source, but I see XHTML transitional at the top. I wonder whether distributed publishing in RDFa might be of interest to you? An eat your own dog food exercise in Linked Data. I have two additional patterns in mind: edge specifications and un-original intentionality. Edge specifications [1] overcome our natural tendency to define again yet another core for what has already been defined, possibly a few times already. Un-original intentionality is a pattern where a concept is no longer considered a "natural kind" and uses an RDFS reasoner to infer the concept as an intersection, or union of subject and predicate. The name takes license with John Searle's Chinese Room Argument.


As an aside, here's a pointer [2] to the original Open Government: Linked Open Data use case I published on December 2, 2008 long before Linked Data became fashionable in government. I spend much of my time these days on formal language design in Haskell, far from the linked data meme.

Alexander spent 8 years working through what's published in A Pattern Language. I hope we'll have the opportunity to spend the next 8 years developing a pattern language for Linked Data. 

1. http://www.talis.com/nodalities/pdf/nodalities_issue9.pdf
2. http://www.w3.org/egov/wiki/Use_Case_8_-_Linked_Open_Government

Best wishes,


office: 202-501-9199
cell: 202-557-1604

-----public-egov-ig-request@w3.org wrote: -----

To: "Gannon_dick@yahoo.com" <Gannon_dick@yahoo.com>
From: Leigh Dodds <leigh.dodds@talis.com>
Sent by: public-egov-ig-request@w3.org
Date: 11/08/2010 05:07PM
cc: Mike Norton <xsideofparadise@yahoo.com>, W3C e-Gov IG <public-egov-ig@w3.org>
Subject: Re: Censorship?


Apologies for jumping into the conversation, especially if I have
overlooked some context, but:

> On 11/9/2010 7:44 AM, Gannon Dick wrote:
> ...
> Do you know what an RDF List looks like ?  There is a "first" member, then a "rest" member, then a "nil" member. The model for Countries looks like this:
> <rdf:List>
>   <rdf:first>High Seas</rdf:first>
>   <rdf:rest>Andorra</rdf:rest>
>   <rdf:rest> Australia etc.... </rdf:rest>
>   <rdf:rest><rdf:nil /></rdf:rest>
> </rdf:List>

While the structure you describe here (first/rest) is correct the
syntax is not. In RDF/XML you would use parseType="Collection" and
rdf:li to define a list.

>  The Latitude/Longitude Model is incompatible with the RDF model because of 6 compass points (incl. up and down) only one is dry land- Antarctica.  There is only one set of [wet], [dry],[dry],[dry]
>  ... (although there are many possible orderings).

In what way is RDF incompatible with encoding latitude and longitude?
There are plenty of datasets which include information about points of



Leigh Dodds
Programme Manager, Talis Platform