SVG-Semantics: "PICS NG" Demo

FOAFFamilyFilter?

The sekret truth about RDF, SVG and internet content filtering...

Here's a quick demo showing the use of RDF combined with SVG in a way that supports a classic Web application: internet content filtering in the style of PICS.

RDF was designed as fancier successor to PICS. Here we show how RDF plus SVG annotations can be used to describe regions of an image, and then how SVG transformations can be used to tastefully filter out allegedly "rude" regions of digital images. Amusingly, pretty much the same technology could be applied in the contrary direction, supporting discovery and indexing of certain kinds of content. That's why anti-censorship folk shouldn't get their knickers in a twist about this...

Anyway, the demo. It's just a bunch of files, really...

To really appreciate this, you'll need a Web browser that supports SVG graphics. The Adobe plugin is probably what you want. Screenshots of the final output are included in this page for the SVG impaired.

SVG/RDF Filtering Walkthrough

Basic idea: there's some photo online, some folk might not want to see bits of it 'cos it depicts naked body parts. Others might want bits of it blurred/filtered in case innocent children were corrupted by it. RDF and SVG to the rescue...

FamilyFilter'd image

So once more, slowly, here's what is happening. We have an image. We write (using Jim Ley's neat tools) some RDF describing the types of thing depicted in the image, including -- crucially -- a description of which bit of the image depicts which thing. We load this into an RDF program, aboutimage.rb (using the RubyRDF library). The RDF program simply loops through the list of all the described sub-regions of the image, and checks to see what type or class of thing each depicted object is. If the thing is deemed 'rude', by the simpleminded process of looking in the RDF description to see if there is a 'rudeThing' property of the class with a value of 'true', then an SVG filter is emitted. The generated SVG takes the outlining path info from the RDF and tastefully overlays the photo with a filter hiding any rudeness from innocent bystanders. That's it, really.

What this shows...

RDF and SVG combined can do something neither achieve alone: describe images and their parts in pretty sophisticated detail.

The filtering strategy shown is way too simplistic. Take our actual example here. The RDF filtering code can be as simple or as complex as we care to implement. The current demo implicitly takes the view that certain types of thing just are 'rude', and generates image filters accordingly. Others might object on the basis that this particular image, for example, depicts an Art Happening. That's just fine, we could write this in RDF, if we cared, and write smarter filters. We could write that the image is a depiction of an ArtisticEvent called "Taboo" written and performed by Trevor Stuart, at the Bath Fringe Festival 2002.

Maybe we should extend the demo to do just this (any volunteers?)

Conclusions

RDF and SVG will be used on the Semantic Web for...

The same technology works for both applications. Unexpected Bargain. Double-edged sword. PICS NG...

$Id: picsng-demo.html,v 1.7 2002-12-10 17:36:49 danbri Exp $