Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > SELECT DB.DBA.A_GENERATE_ONTOSIDES_GROUPS('http://ontosides.fr');
- =============================================
- DB.DBA.A_GENERATE_ONTOSIDES_GROUPS('http://ontosides.fr');
- =============================================
- create procedure DB.DBA.A_GENERATE_ONTOSIDES_GROUPS(IN graphname VARCHAR){
- DECLARE baseuri, state, msg, descs, rows1, rows2, rows3, rows4, rows5, epreuve, eval, prop, obj any;
- DECLARE i, j, k, group_id INTEGER;
- baseuri := 'http://www.side-sante.fr/sides#';
- exec(sprintf('SPARQL
- WITH <%s>
- DELETE {?s sides:Groupe1_Pour ?o}
- WHERE
- {?s sides:Groupe1_Pour ?o.}
- ', graphname));
- exec(sprintf('SPARQL
- WITH <%s>
- DELETE {?s sides:Groupe2_Pour ?o}
- WHERE
- {?s sides:Groupe2_Pour ?o.}
- ', graphname));
- exec(sprintf('SPARQL
- WITH <%s>
- DELETE {?s sides:Groupe3_Pour ?o}
- WHERE
- {?s sides:Groupe3_Pour ?o.}
- ', graphname));
- exec(sprintf('SPARQL
- SELECT ?ep (COUNT(?et) AS ?NombreEt)
- WHERE{GRAPH <%s> {?ep sides:a_pour_inscrit ?et. }}
- GROUP BY ?ep
- HAVING (COUNT(?et) > 30)
- ORDER BY ?NombreEt
- ', graphname), state, msg, vector (), 0, descs, rows1);
- log_message(sprintf('total rows = %d', LENGTH(rows1)));
- for(i:=0;i<LENGTH(rows1);i:=i+1){
- log_message(sprintf('processed row = %d', i));
- epreuve := replace(rows1[i][0], baseuri,'');
- exec(sprintf('
- SPARQL
- SELECT ?ev (COUNT (DISTINCT ?q) AS ?NombreQuestions )
- WHERE {GRAPH <%s> {sides:%s sides:est_constitue_de ?ev.
- ?q sides:fait_partie_de ?ev .
- ?a sides:correspond_a_question ?q.
- ?a sides:effectue_durant sides:%s.
- }} GROUP BY ?ev
- HAVING (COUNT (DISTINCT ?q) > 10)
- ', graphname, epreuve, epreuve), state, msg, vector (), 0, descs, rows2);
- if (isarray(rows2) > 0 ) {
- for(j:=0;j<LENGTH(rows2);j:=j+1){
- eval := replace(rows2[j][0], baseuri, '');
- exec(sprintf('
- SPARQL
- SELECT ?et (SUM (?n) AS ?NoteGenerale)
- WHERE {GRAPH <%s> { ?q sides:fait_partie_de sides:%s.
- ?a sides:effectue_durant sides:%s.
- ?a sides:correspond_a_question ?q.
- ?a sides:a_pour_note ?n.
- ?a sides:realise_par ?et .
- }}
- GROUP BY ?et
- ORDER BY ASC(?NoteGenerale)
- ', graphname, eval, epreuve), state, msg, vector (), 0, descs, rows3);
- if (isarray(rows3)) {
- for(k:=0;k<LENGTH(rows3);k:=k+1){
- if (k < 63) {
- group_id := 3;
- }
- if (k>=63 AND k <=126) {
- group_id := 2;
- }
- if (k>126) {
- group_id := 1;
- }
- prop := concat(baseuri, sprintf('Groupe%d_Pour', group_id));
- obj := concat(baseuri, sprintf('%s_dans_%s', eval, epreuve));
- DB.DBA.RDF_QUAD_URI(graphname, rows3[k][0], prop, obj);
- }
- }
- }
- }
- }
- }
- =====================================================================================================================
- create procedure DB.DBA.A_LOAD_ONTOSIDES_DATA(){
- sparql drop silent graph <http://ontosides.en>;
- sparql drop silent graph <http://ontosides.fr>;
- sparql create graph <http://ontosides.en>;
- sparql create graph <http://ontosides.fr>;
- DELETE FROM DB.DBA.LOAD_LIST WHERE ll_graph = 'http://ontosides.en';
- DELETE FROM DB.DBA.LOAD_LIST WHERE ll_graph = 'http://ontosides.fr';
- ld_dir('/Users/asanchez75/Trash/Ontosides_Fabrice/Onto', 'OntoSides_schema_VE.ttl', 'http://ontosides.en');
- ld_dir('/Users/asanchez75/Trash/Ontosides_Fabrice/Onto', 'OntoSides_sat_VE.ttl', 'http://ontosides.en');
- ld_dir('/Users/asanchez75/Trash/Ontosides_Fabrice/Onto', 'OntoSides_sat_VF.ttl', 'http://ontosides.fr');
- ld_dir('/Users/asanchez75/Trash/Ontosides_Fabrice/Onto', 'OntoSides_schema_VF.ttl', 'http://ontosides.fr');
- log_enable(2);
- rdf_loader_run();
- commit WORK;
- }
- =====================================================================================================================
- create procedure "EXMO"."DBA"."RESULTS_CSV_VEC_INS_1" (inout arr any, in fill any)
- {
- declare "classname1_VA" any;
- "classname1_VA" := make_array (fill, 'any');
- declare "classname2_VA" any;
- "classname2_VA" := make_array (fill, 'any');
- declare "cardinality1_VA" any;
- "cardinality1_VA" := make_array (fill, 'any');
- declare "cardinality2_VA" any;
- "cardinality2_VA" := make_array (fill, 'any');
- declare "intersection_VA" any;
- "intersection_VA" := make_array (fill, 'any');
- declare "measure_VA" any;
- "measure_VA" := make_array (fill, 'any');
- declare "graphname_VA" any;
- "graphname_VA" := make_array (fill, 'any');
- for (declare i int, i := 0; i < fill; i := i + 1)
- {
- aset_1_2_zap ("classname1_VA", i, arr, i,0);
- aset_1_2_zap ("classname2_VA", i, arr, i,1);
- aset_1_2_zap ("cardinality1_VA", i, arr, i,2);
- aset_1_2_zap ("cardinality2_VA", i, arr, i,3);
- aset_1_2_zap ("intersection_VA", i, arr, i,4);
- aset_1_2_zap ("measure_VA", i, arr, i,5);
- aset_1_2_zap ("graphname_VA", i, arr, i,6);
- }
- for vectored modify (in "classname1_VI" any array := "classname1_VA", in "classname2_VI" any array := "classname2_VA", in "cardinality1_VI" any array := "cardinality1_VA", in "cardinality2_VI" any array := "cardinality2_VA", in "intersection_VI" any array := "intersection_VA", in "measure_VI" any array := "measure_VA", in "graphname_VI" any array := "graphname_VA")
- {
- INSERT INTO "EXMO"."DBA"."RESULTS" ("classname1", "classname2", "cardinality1", "cardinality2", "intersection", "measure", "graphname") values ("classname1_VI", "classname2_VI", "cardinality1_VI", "cardinality2_VI", "intersection_VI", "measure_VI", "graphname_VI");
- }
- }
- ======================================================================================================================
- csv_load_file('/Users/asanchez75/Documents/workspace/Evolvement/resources',0, null, 'EXMO.DBA.RESULTS')
- ======================================================================================================================
- exmo.DBA.csvExport('SELECT id_to_iri(classname1) as classname1,id_to_iri(classname2) as classname2,cardinality1,cardinality2,intersection,measure,id_to_iri(graphname) as graphname FROM EXMO.DBA.RESULTS WHERE graphname = iri_to_id(\'<http://linkedgeodata.org>\')','/home/asanchez75/virtuoso/data/linkedgeodata.csv');
- ======================================================================================================================
- create procedure A() {
- for (sparql select ?s ?p ?o where {?s ?p ?o} LIMIT 10 OFFSET 0) do {
- RESULT_NAMES (s,p, o);
- RESULT (s,p,o);
- }
- END_RESULT ();
- }
- ======================================================================================================================
- create procedure A() {
- for (sparql select ?s ?o where {?s rdf:type ?o. FILTER(REGEX(?o, 'http://dbpedia.org/ontology'))} LIMIT 10 OFFSET 0) do {
- RESULT_NAMES (s, o);
- RESULT (s,o);
- }
- END_RESULT ();
- }
- ======================================================================================================================
- create procedure A() {
- for (sparql select ?s ?o where {?s owl:sameAs ?o} LIMIT 10 OFFSET 0) do {
- for (sparql select ?s1 ?o1 where {?s1 rdf:type ?o1. FILTER (?s1 = ?s )}) do {
- RESULT_NAMES (s1, o1);
- RESULT (s1,o1);
- }
- }
- END_RESULT ();
- }
- ======================================================================================================================
- create procedure A() {
- for (sparql select ?s ?o where {?s owl:sameAs ?o} LIMIT 10 OFFSET 0) do {
- for (sparql select ?s1 ?o1 where {?s1 rdf:type ?o1. FILTER (?s1 = ?s && ?o1 = <http://dbpedia.org/ontology/Country>)}) do {
- RESULT_NAMES (s1, o1);
- RESULT (s1,o1);
- }
- }
- END_RESULT ();
- }
- ======================================================================================================================
- create procedure
- CARDINALITY
- (
- in graphname VARCHAR
- )
- {
- DECLARE state, msg, descs, rows any;
- exec(sprintf('SPARQL SELECT ?class COUNT(DISTINCT ?instance) as ?count {GRAPH %S {
- ?class rdf:type owl:Class.
- ?instance rdf:type ?class.
- }}
- GROUP BY ?class', graphname), state, msg, vector (), 0, descs, rows);
- declare i INTEGER;
- for(i:=0;i<LENGTH(rows);i:=i+1){
- exec(sprintf('INSERT INTO DB.DBA.CARDINALITIES (CLASSNAME, CARDINALITY, GRAPHNAME) VALUES (\'%s\', \'%d\', \'%s\')', rows[i][0], rows[i][1], graphname), null, null, vector (), 0, null, null);
- }
- }
- ======================================================================================================================
- create procedure
- SAMEAS
- (
- in query VARCHAR,
- in graphname VARCHAR
- )
- {
- DECLARE state, msg, descs, rows any;
- DECLARE sql any;
- sql := sprintf('sparql define input:storage "" %s', query);
- exec(sql, state, msg, vector (), 0, descs, rows);
- declare i INTEGER;
- for(i:=0;i<LENGTH(rows);i:=i+1){
- exec(sprintf('INSERT INTO DB.DBA.SAMEAS (INSTANCE1, CLASS1, INSTANCE2, CLASS2, GRAPHNAME) VALUES (\'%s\', \'%s\', \'%s\', \'%s\', \'%s\')', rows[i][0], rows[i][1], rows[i][2], rows[i][3], graphname), null, null, vector (), 0, null, null);
- }
- }
- ======================================================================================================================
- create procedure exmo.DBA.A() {
- for (sparql select ?s ?o where {?s owl:sameAs ?o} LIMIT 10 OFFSET 0) do {
- for (sparql select ?s1 ?o1 where {?s1 rdf:type ?o1. FILTER (?s1 = ?s && ?o1 = <http://dbpedia.org/ontology/Country>)}) do {
- RESULT_NAMES (s1, o1);
- RESULT (s1,o1);
- }
- }
- END_RESULT ();
- }
- create procedure exmo.DBA.A1(){
- DECLARE state, msg, descs, rows, sub any;
- exec('SPARQL select * {?s ?p ?o} limit 10', state, msg, vector (), 0, descs, rows);
- while(exec_next(rows, state, msg, sub) = 0) {
- return sub[0];
- }
- exec_close (rows);
- }
- create procedure
- exmo.DBA.A2
- (
- in graphname VARCHAR
- )
- {
- return sprintf('INSERT INTO DB.DBA.CARDINALITIES (CLASSNAME, CARDINALITY, GRAPHNAME) VALUES (\'%s\', \'%d\', \'%s\')', 'president', 4, 'obama');
- }
- create procedure
- exmo.DBA.CARDINALITY
- (
- in graphname VARCHAR
- )
- {
- DECLARE state, msg, descs, rows any;
- exec(sprintf('SPARQL SELECT ?class COUNT(DISTINCT ?instance) as ?count {GRAPH %S {
- ?class rdf:type owl:Class.
- ?instance rdf:type ?class.
- }}
- GROUP BY ?class', graphname), state, msg, vector (), 0, descs, rows);
- declare i INTEGER;
- for(i:=0;i<LENGTH(rows);i:=i+1){
- exec(sprintf('INSERT INTO DB.DBA.CARDINALITIES (CLASSNAME, CARDINALITY, GRAPHNAME) VALUES (\'%s\', \'%d\', \'%s\')', rows[i][0], rows[i][1], graphname), null, null, vector (), 0, null, null);
- }
- }
- create procedure
- exmo.DBA.csvExport( IN in_query VARCHAR, IN filename VARCHAR )
- {
- declare query varchar;
- query := split_and_decode(in_query,0,'%');
- file_delete(filename,1);
- declare meta, _dt any;
- declare errorCode, errorMessage varchar;
- declare inx integer;
- exec (query, errorCode, errorMessage, vector(), 0, meta, _dt);
- declare linestr varchar;
- declare flag integer;
- linestr := '';
- if (meta <> 0) {
- flag := 0;
- FOREACH (varchar col in meta[0]) DO {
- if (flag = 0) flag := 1;
- else linestr:=concat(linestr,',');
- linestr := concat(linestr,'"',col[0],'"');
- }
- string_to_file(filename,linestr,-2);
- string_to_file(filename,'\n',-1);
- -- Header is now complete
- inx := 0;
- if (_dt <> 0) {
- while (inx < length (_dt))
- {
- linestr := '';
- flag := 0;
- FOREACH (any col in _dt[inx]) DO {
- if (flag = 0) flag := 1;
- else linestr:=concat(linestr,',');
- linestr := concat(linestr,'"',col,'"');
- }
- string_to_file(filename,linestr,-1);
- string_to_file(filename,'\n',-1);
- inx := inx + 1;
- }
- }
- } else return 'No records or some error';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement