Chris@0: :- module(rdf_compile,[init_db/0,rdf_compile/0]). Chris@0: Chris@0: /** Chris@0: * Compile possible RDF statements to Chris@0: * improve responsiveness of the sparql Chris@0: * end point, but loose the dynamicity of Chris@0: * the underlying data Chris@0: */ Chris@0: Chris@0: :- use_module(p2r_entailment). Chris@0: :- use_module(library('semweb/rdf_persistency')). Chris@0: :- use_module(library('semweb/rdf_db')). Chris@0: Chris@0: init_db :- Chris@0: nl,writeln(' - Attaching DB...'),nl, Chris@0: rdf_attach_db('db',[]), Chris@0: settings:set_setting(serql_parms:default_entailment, rdfs). Chris@0: Chris@0: rdf_compile :- Chris@0: nl,writeln(' - Deriving all possible RDF statements'),nl, Chris@0: setof( Chris@0: rdf(A,B,C) Chris@0: , Chris@0: p2r_entailment:rdf(A,B,C) Chris@0: , Chris@0: Triples Chris@0: ), Chris@0: length(Triples,N), Chris@0: nl,write(' - Number of derived RDF statements: '),write(N),nl,nl, Chris@0: assert_l(Triples). Chris@0: Chris@0: assert_l([]). Chris@0: assert_l([rdf(A,B,C)|T]) :- Chris@0: rdf_assert(A,B,C), Chris@0: assert_l(T). Chris@0: