storage-common/examples/cities/pgsql/fload.sql

28 lines
844 B
PL/PgSQL

-- create functions for loading cities data as triples
create or replace function load_cities() returns int as $$
declare
count int := 0;
event bigint := new_event();
city record;
key text;
begin
for city in
select name, regiokey, ckey, inhabitants from cities
where rectype = '60'
--limit 1
loop
key := 'xcd:' || city.regiokey;
insert into vtriples (stname, stext, ptext, otname, otext, creation) values
('node', key, 'rdf:type', 'node', 'xc:City', event),
('node', key, 'rdfs:label', 'text', city.name, event),
('node', key, 'xc:regiokey', 'text', city.regiokey, event),
('node', key, 'xc:ckey', 'text', city.ckey, event),
('node', key, 'xc:population', 'int', text(city.inhabitants), event);
count := count + 1;
end loop;
return count;
end;
$$ language plpgsql;