Religious Technology (What’s in a link?)

I’ve just rediscovered this, while tidying: a letter I received last year, from Hodkin And Company, Solicitors:

We understand that you operate, control or manage a website on which one Mr Damien Steer has placed literally hundreds of pages of our clients’ copyrighted works without the authorization of our clients. Because of the enormity and volume of the infringements, we have broken these down under separate headings [...]

Damian removed the documents immediately, publishing a scan of (his version of) the letter in their place. See also Karin Spaink’s pages for more on the Scientology materials concerned. I’ve not followed the twists and turns of the whole thing, but here’s a note from Karin’s page:

This homepage is approved of by court. Twice, by now. It has thereby become the world’s first legal Fishman Homepage. Read the ruling of the February 1996 lawsuit, summary proceedings, in either English or Dutch. On June 10, 1999, there was a second ruling, this time in full procedure: my page can still stay up. Read the ruling in Dutch or in English. Scientology has appealed this ruling. It is not yet known when pleas will be held.

Although I won, there’s one thing that seriously bugs me, and other people. The court ruled that hyperlinks and url’s refering to pages that contain infringing material must in themselves be considered to be infringing. That cuts at the heart of the net. To name one example: it makes search engines illegal: they often refer to pages that contain infringing material.

More from the letter I received…

You should be aware that numerous permanent injunctions and awards of statutory damages and attorney’s fees have been entered regarding similar infringements. For instance, a jury in the United States District Court in San Jose, California awarded statutory damages in the amount of $75,000 against a Mr. Henson for posting only one of the NOTs works on the Internet.

Maybe I’m in the wrong business?

Profiling GML for RSS/Atom, RDF and Web developers

I spent some time yesterday talking with Ron Lake about GML, RDF, RSS and other acronyms. GML was originally an RDF application, and various RDFisms can still be seen in the design. I learned a fair bit about GML, and about its extensibility and profiling mechanisms.

We discussed some possibilities for sharing data between GML, RSS/Atom and RDF environments. In particular, two options: RDF inside GML; and RDFized GML.

The possibility of embedding islands of RDF inside GML (eg. the GML for a restaurant might use RDF for restaurant-review or menu markup) is interesting, as would allow GML documents to use any RDF vocabulary to describe the features on a map. Currently, such extension data typically requires the creation of a custom XML Schema. The other option, “RDFized GML”, is to explore the creation of an RDF vocabulary that allows some useful subset of GML data to be used in RDF. I’ll come back to this in a minute.

While GML comes from the world of professional GIS, its influence is being felt more widely: Google Earth (formerly Keyhole) uses something called KML, which bears a great many similarities with GML. Meanwhile in the RDF and RSS/Atom world, the very basic addition of “geo:lat” and “geo:long” tagging (sometimes using the W3C SemWeb IG WGS_84 namespace) has got a number of toolmakers interested. This year has seen the release of Yahoo! Maps, Google Maps, Google Earth and most recently Microsoft Virtual Earth. We’ve also seen the release of the excellent Mapping Hacks book, and increasing interest in this area from Web developers.

Although the experimental SWIG RDF vocabulary only deals with points described in WGS_84, there have been various discussions on possible extensions (eg. RDFGeom-2d from Chris Goad). These are intriguing, but we should be careful to avoid re-inventing wheels. Basically, I think we have all the ingredients for a hybrid approach: an RDFized GML subset designed for use by Web developers alongside RSS/Atom, FOAF and other public-facing XML formats. GML serves well as a data format in the GIS community, but some work is needed to find a subset that will find adoption in the wider Web.

The tiny W3C SWIG vocab, and related geo:lat/long tagging of “geo”-RSS feeds has shown that there is real interest in a lightweight XML-based mechanism for sharing map-related markup. GML shows us (via a 600 page specification, for GML 3.1) quite how rich and complex a problem space we’re facing, and KML demonstrates that a medium-sized “GML lite” subset can get traction with webmasters and developers, when backed by useful tools and services.

There are two pieces of work to do here (setting aside for now the topic of RDF islands within GML documents). Let’s first find a strawman profile of GML. From my limited knowledge and discussion with others, something “GML 2-ish” but profiled against GML 3.1, is the area to explore. Then we try getting those data structures into RDF, so it can mix freely with other information.

I understand from Ron Lake that profiling is something that is actively encouraged for GML, and there are even tools to support it that come with the spec: have a look at subsetutility.zip. These files (thanks Ron!) show a pretty easy path for experimentation with profiles. In addition to the schema subsetting utilities, the .zip also includes (just as an example to help me understand GML) an example application schema CommonObjects.xsd, showing how to define things like ‘Building’, ‘River’, and a sample instance .xml file that uses it.

To use the profiling tool, just put the unzipped files directly in the base/ directory of .xsd files that ships with GML 3.1, then run an XSLT processor to generate a GML subset.

xsltproc depends.xsl gml.xsd > _gml.dep

xsltproc GML3.1.1Subset.xsl _gml.dep > _gmlSubset.xsd

…and that’s your profile. The scripts take care of all the dependencies (ie. they’ll read the 29 XML Schemas, so you don’t have to :)

The bits of GML you want are specified as parameters in GML3.1.1Subset.xsl. The default in this .zip is: gml:Point, gml:LineString, gml:Polygon, gml:LinearRing, gml:Observation, gml:TimeInstant, gml:TimePeriod

I’m no GML expert, but if someone can help get some instance data matching such a profile, I’ll have a go at RDFizing it. Also, of course, it will be useful to debate how many facilities from full GML would find use in the Webmaster (RSS, KML etc) scene.

Disclaimer: for now this is purely an informal collaboration. If we make something interesting, it might be worth investigation of something more formal between W3C (home of RDF, and where I work) and OGC (home of GML). For now, let’s just try out some ideas…

Chris Goad on RDF and GML

RDF versus GML, Chris Goad (Sept 2004),

GML is the XML language for geography developed by the Open GIS consortium. The third major revision of this specification, known as GML3, was released in January of 2003. RDFMap, when used in conjuction with RDFGeom, constitutes an attempt to develop an alternative approach based on RDF to expressing geographical information. This note outlines the relationship between this approach and GML, and suggests techniques for converting data between the two formalisms. The important differences between RDFMap and GML derive from the choice of RDF, and would apply equally to other RDF-based formalisms for geography.

Interesting comparison. I’m somewhat wary of over-hyping RDF’s offering here. There’s certainly value in looking how GML application schemas might be reflected into RDF vocabularies (and vice-versa). Chris’s article ends with an example taken from the GML spec, represented in RDF. I wonder about going back the other way too, showing RDF properties used inside a GML document.

geobloggers: “Network Link” in Google Earth

This is the hidden gem of Google Earth. Adding a “Network Link” allows you to fetch KML data from remote servers. It does this in two ways, Time Based or Location Based. So *anyone* can add dynamic data to Google Maps.

Apparently KML is based on GML. I don’t know Keyhole/Google’s work differs. There seems to be a role here for something simple enough for Google Earth, WorldWind, and other viewer apps to use, when consulting a remote server for info about some area of interest. Maybe it’s GML Web Feature Servers, maybe KML, maybe geo-extended RSS/Atom, or perhaps generic query interfaces like the SPARQL protocol. SOAP, WSDL and REST fit in the picture somewhere. Probably, various things will be used in different environments, depending on application emphasis. We might be looking up the opening-hours of a shop, contact information for an organization, or jobs, events, photos, blog posts, FOAF profiles etc in a certain area, … it isn’t clear where the line is drawn between ‘geographic’ data and the wider unbounded collection of information about the world. GML has strengths at the geographical end of the spectrum, RDF (and its query system, SPARQL) has strengths at the generic, domain-neutral end. RSS/Atom is serving well as a generic carrier for data syndication. It isn’t clear to me yet where KML fits (or SVG, for that matter), but work on the relationship between GML and RDF would seem timely.

The geobloggers post has examples and links to flickr and del.icio.us-based services that expose this interface. I’m going to try making such a service on top of SPARQL…

geo/photo raw materials from a walk around Bristol

I’ve just been for a walk around town, taking a few photos on the way, with the camera’s clock sync’d to that of my new GPS. I’ve not yet figured out the best tool to use (other than write my own) for hooking up the photo and location metadata. It’s easy enough to get the data off of the device using GPSBabel; for now I’ve saved tracks and waypoints in GPX format. GPSBabel offers a wealth of other options, none of which I’ve explored yet.

The first thing I had to hand that consumed GPX was Google Earth on my WinXP laptop; it plotted the tracks happily enough:

2004-07-24 walk around town, plotted via google earth

I’m sure there are other, more open-data and hackable systems out there that I can feed this data to, but for a quick test, Google Earth (formerly ‘Keyhole’) is quite fun.

For Windows users, there are WorldWind scripts that convert GPX into World Wind Layers, available as an online service. I’ve just tried that; it produced me XML document that references a PNG image. I need to read the instructions again a bit more carefully, but nice to see that there’s more to the world than Google. There are also some notes on the OpenStreetMap site on MakingGpxTracks.

The next thing I should try is getting the location and photo metadata integrated, and then I can play around with associating images on maps. There is also a growing geo-tagger community using Flickr (by creating odd ‘tags’ that embed lat/long data). For example see various of jip’s photos, and the geobloggers website (which seems to use HTTP REFERER to plot geotagged flickr images with Google maps).

Update: as I suspected, the Locative guys have already done the work :)

After CPAN-installing the Perl dependencies Image::EXIF and RDF::Simple::Serialiser, Time::Piece, LWP::UserAgent, XML::Simple, Data::Compare and Geo::Track::Log, it looks like geoloc_media.pl is just what I’m after (thanks!).

geoloc_media.pl 0 http://rdfweb.org/people/danbri/media/2005/07/ ../../mydata/2005-07-24-Tracks.gpx    danbri@foaf-project.org 2004-07-24-BristolWalk/*jpg

The resulting RDF looks about right, from a quick look.

Here’s a quick query of the data using the online Redland SPARQL service. The query I ran was as follows (basically echoing back the core data structure emitted by the perl script above):

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX locative: <http://locative.net/2004/packet#>

SELECT DISTINCT ?image, ?lat, ?long, ?email 
WHERE {
  ?x rdf:type locative:Packet .
  ?x locative:media ?image .
  ?x geo:lat ?lat .
  ?x geo:long ?long .
  ?image foaf:maker ?who .
  ?who foaf:mbox ?email . 
}
ORDER BY ?lat

See the Locative wiki for more uses of the data, including some nice SVG hacks. Or the OpenStreetMap view of the area (seems to be bitmap imagery there but no streets etc yet).

Juan Cole on blogging and the middle east

Juan Cole on The Blogging Phenomenon, and speculation from Steven Levy and Jeff Jarvis.

Who knows English in the Middle East? Usually young men from wealthy or at least middle class families. They are disproportionately likely to favor capitalist, unregulated markets, to be secular in their outlook, and to be pro-Western. I.e., the views of many (not all) Western-educated Middle-Easterners are almost the complete opposite of most other Middle Easterners. You have to know something about the Middle East to know something about Middle Eastern bloggers in their own context.