load example data (cities) into triples
This commit is contained in:
parent
9350627e9c
commit
5df7eceb27
4 changed files with 69 additions and 13 deletions
38
examples/cities/pgsql/fload.sql
Normal file
38
examples/cities/pgsql/fload.sql
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
-- 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;
|
||||
rkey 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);
|
||||
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;
|
||||
18
examples/cities/pgsql/lmeta.sql
Normal file
18
examples/cities/pgsql/lmeta.sql
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
-- 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 new_event() as event
|
||||
\gset
|
||||
|
||||
insert into vtriples (stname, stext, ptext, otname, otext, creation) values
|
||||
('node', 'xc:City', 'rdf:type', 'node', 'rdfs:Class', :event),
|
||||
('node', 'xc:District', 'rdf:type', 'node', 'rdfs:Class', :event),
|
||||
('node', 'xc:FedCountry', 'rdf:type', 'node', 'rdfs:Class', :event),
|
||||
('node', 'xc:regiokey', 'rdf:type', 'node', 'rdf:Property', :event),
|
||||
('node', 'xc:ckey', 'rdf:type', 'node', 'rdf:Property', :event),
|
||||
('node', 'xc:population', 'rdf:type', 'node', 'rdf:Property', :event);
|
||||
|
||||
-- property name -> rdfs:label
|
||||
|
|
@ -1,11 +1,6 @@
|
|||
|
||||
-- load base data
|
||||
|
||||
select new_event() as event
|
||||
\gset
|
||||
|
||||
-- load data
|
||||
|
||||
select load_namespace('http://cyberconcepts.org/cco-blank#', '_');
|
||||
select load_namespace('http://cyberconcepts.org/cco-common#', 'cco');
|
||||
select load_namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf');
|
||||
|
|
@ -21,8 +16,13 @@ select load_datatype('int');
|
|||
select load_datatype('decimal');
|
||||
select load_datatype('timestamp');
|
||||
|
||||
select new_event() as event
|
||||
\gset
|
||||
|
||||
insert into vtriples (stname, stext, ptext, otname, otext, creation) values
|
||||
('node', 'rdf:type', 'rdf:type', 'node', 'rdf:Property', :event),
|
||||
('node', 'rdf:Property', 'rdf:type', 'node', 'rdfs:Class', :event),
|
||||
('node', 'rdfs:Class', 'rdf:type', 'node', 'rdfs:Class', :event),
|
||||
('node', 'rdfs:label', 'rdf:type', 'node', 'rdf:Property', :event);
|
||||
('node', 'rdfs:label', 'rdf:type', 'node', 'rdf:Property', :event),
|
||||
('node', 'rdfs:domain', 'rdf:type', 'node', 'rdf:Property', :event),
|
||||
('node', 'rdfs:range', 'rdf:type', 'node', 'rdf:Property', :event);
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
-- create triggers for triples table
|
||||
|
||||
create or replace function insert_triple() returns trigger as $$
|
||||
declare
|
||||
declare
|
||||
trid bigint;
|
||||
begin
|
||||
begin
|
||||
trid := load_triple(new.stname, new.stext, new.ptext,
|
||||
new.otname, new.otext, new.creation);
|
||||
return new;
|
||||
end;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue