improvements and fixes

This commit is contained in:
Helmut Merz 2020-02-27 08:06:04 +01:00
parent 5df7eceb27
commit 42c2013422
4 changed files with 12 additions and 33 deletions

View file

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

View file

@ -2,7 +2,7 @@
-- load metadata triples for cities example project
select load_namespace('http://cyberconcepts.org/cco-example/cities#', 'xc');
select load_namespace('http://cyberconcepts.org/cco-example/cities_data#', 'xcd');
select load_namespace('http://cyberconcepts.org/cco-example/cities-data#', 'xcd');
select new_event() as event
\gset

View file

@ -1,14 +1,12 @@
-- create tables and views
\i tcreate.sql
\i fshow.sql
\i vtriples.sql
-- create functions
-- create loading function and triggers
\i fload.sql
\i fshow.sql
-- create triggers
\i tgtriple.sql
\i tgtriples.sql
-- load data
\i lbase.sql

View file

@ -42,15 +42,6 @@ CREATE TABLE texts (
text text NOT NULL unique
);
-- set table owner
ALTER TABLE nodes OWNER TO cco;
ALTER TABLE datatypes OWNER TO cco;
ALTER TABLE namespaces OWNER TO cco;
ALTER TABLE triples OWNER TO cco;
ALTER TABLE events OWNER TO cco;
ALTER TABLE texts OWNER TO cco;
-- indexes
CREATE INDEX idx_iri ON namespaces USING btree (iri);