#!/usr/bin/env ruby # SVG/RDF demo # # reads RDF via N-Triples # outputs XML summary including a chunk of SVG filtering rude bit(s) of a photo. # for educational purposes only... # # danbri require "basicrdf" # gotta get a real rdf parser: `rdfdump -q -o ntriples file:rdf-taboo.rdf > rdf-taboo.nt` data = Loader.ntfile2graph 'rdf-taboo.nt' rdf = data.reg_xmlns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf' foaf = data.reg_xmlns 'http://xmlns.com/foaf/0.1/', 'foaf' dc = data.reg_xmlns 'http://purl.org/dc/elements/1.1/', 'dc' wn = data.reg_xmlns 'http://xmlns.com/wordnet/1.6/', 'wn' rsvg = data.reg_xmlns "http://jibbering.com/2002/3/svg/#", 'rsvg' def genSVG (url, path) return < EOF end images = data.ask( Statement.new(nil,rdf+'type',foaf+'Image') ).subjects.each do |i| puts "" parts = data.ask( Statement.new(i, rsvg+'hasPart', nil) ).objects.each do |p| puts "\n\n" if thingtype.foaf_rudeThing.to_s =~ /true/ puts "" puts genSVG i, p.rsvg_polypath end if (thingtype.to_s =~ wn.to_s) # yuck. sort out equality testing of nodes... puts "\n\n" end end end