grant select on "Oracle"."HR"."DEPARTMENTS" to SPARQL_SELECT;
SPARQL
prefix Oracle:
create iri class Oracle:departments "http://^{URIQADefaultHost}^/Oracle/departments/DEPARTMENT_ID/%d#this" (in _DEPARTMENT_ID integer not null) . ;
create view "Oracle"."HR"."DEPARTMENTSCount" as select count (*) as cnt from "Oracle"."HR"."DEPARTMENTS";
grant select on "Oracle"."HR"."DEPARTMENTSCount" to SPARQL_SELECT;
drop view "Oracle"."HR"."Oracle__Total";
create view "Oracle"."HR"."Oracle__Total" as select (cnt0*cnt1) AS cnt from
(select count(*) cnt0 from "Oracle"."HR"."DEPARTMENTS") tb0,
(select count(*)+1 as cnt1 from DB.DBA.TABLE_COLS where "TABLE" = 'Oracle.HR.DEPARTMENTS' and "COLUMN" <> '_IDN') tb1
;
grant select on "Oracle"."HR"."Oracle__Total" to SPARQL_SELECT;
SPARQL
prefix Oracle:
prefix oracle-stat:
prefix rdf:
prefix void:
prefix scovo:
prefix aowl:
alter quad storage virtrdf:DefaultQuadStorage
from "Oracle"."HR"."DEPARTMENTS" as departments_s
{
create Oracle:qm-departments as graph iri ("http://^{URIQADefaultHost}^/Oracle#")
{
# Maps from columns of "Oracle.HR.DEPARTMENTS"
Oracle:departments (departments_s."DEPARTMENT_ID") a Oracle:DEPARTMENTS ;
Oracle:department_id departments_s."DEPARTMENT_ID" as Oracle:hr-departments-department_id ;
Oracle:department_name departments_s."DEPARTMENT_NAME" as Oracle:hr-departments-department_name ;
Oracle:manager_id departments_s."MANAGER_ID" as Oracle:hr-departments-manager_id ;
Oracle:location_id departments_s."LOCATION_ID" as Oracle:hr-departments-location_id .
}
}
;
SPARQL
prefix Oracle:
prefix oracle-stat:
prefix rdf:
prefix void:
prefix scovo:
prefix aowl:
alter quad storage virtrdf:DefaultQuadStorage
from "Oracle"."HR"."DEPARTMENTSCount" as departmentscount_s
from "Oracle"."HR"."Oracle__Total" as oracle__total_s
{
create Oracle:qm-VoidStatistics as graph iri ("http://^{URIQADefaultHost}^/Oracle#") option (exclusive)
{
# voID Statistics
oracle-stat: a void:Dataset as Oracle:dataset-oracle ;
void:sparqlEndpoint as Oracle:dataset-sparql-oracle ;
void:statItem oracle-stat:Stat .
oracle-stat:Stat a scovo:Item ;
rdf:value oracle__total_s.cnt as Oracle:stat-decl-oracle ;
scovo:dimension void:numOfTriples .
oracle-stat: void:statItem oracle-stat:DEPARTMENTSStat as Oracle:statitem-oracle-departments .
oracle-stat:DEPARTMENTSStat a scovo:Item as Oracle:statitem-decl-oracle-departments ;
rdf:value departmentscount_s.cnt as Oracle:statitem-cnt-oracle-departments ;
scovo:dimension void:numberOfResources as Oracle:statitem-type-1-oracle-departments ;
scovo:dimension Oracle:DEPARTMENTS as Oracle:statitem-type-2-oracle-departments .
}
}
;
-- Virtual directories for instance data
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule2',
1,
'(/[^#]*)',
vector('path'),
1,
'/sparql?query=DESCRIBE+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%23this%%3E+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle%%23%%3E&format=%U',
vector('path', '*accept*'),
null,
'(text/rdf.n3)|(application/rdf.xml)|(text/n3)|(application/json)',
2,
null
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule4',
1,
'/Oracle/stat([^#]*)',
vector('path'),
1,
'/sparql?query=DESCRIBE+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle/stat%%23%%3E+%%3Fo+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle%%23%%3E+WHERE+{+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle/stat%%23%%3E+%%3Fp+%%3Fo+}&format=%U',
vector('*accept*'),
null,
'(text/rdf.n3)|(application/rdf.xml)|(text/n3)|(application/json)',
2,
null
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule6',
1,
'/Oracle/objects/([^#]*)',
vector('path'),
1,
'/sparql?query=DESCRIBE+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle/objects/%U%%3E+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/Oracle%%23%%3E&format=%U',
vector('path', '*accept*'),
null,
'(text/rdf.n3)|(application/rdf.xml)|(text/n3)|(application/json)',
2,
null
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule1',
1,
'([^#]*)',
vector('path'),
1,
'/describe/?url=http%%3A//^{URIQADefaultHost}^%U%%23this&graph=http%%3A//^{URIQADefaultHost}^/Oracle%%23&distinct=0',
vector('path'),
null,
null,
2,
303
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule7',
1,
'/Oracle/stat([^#]*)',
vector('path'),
1,
'/describe/?url=http%%3A//^{URIQADefaultHost}^/Oracle/stat%%23&graph=http%%3A//^{URIQADefaultHost}^/Oracle%%23',
vector('path'),
null,
null,
2,
303
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_rule5',
1,
'/Oracle/objects/(.*)',
vector('path'),
1,
'/services/rdf/object.binary?path=%%2FOracle%%2Fobjects%%2F%U&accept=%U',
vector('path', '*accept*'),
null,
null,
2,
null
);
DB.DBA.URLREWRITE_CREATE_RULELIST ( 'oracle_rule_list1', 1, vector ( 'oracle_rule1', 'oracle_rule7', 'oracle_rule5', 'oracle_rule2', 'oracle_rule4', 'oracle_rule6'));
DB.DBA.VHOST_REMOVE (lpath=>'/Oracle');
DB.DBA.VHOST_DEFINE (lpath=>'/Oracle', ppath=>'/', vsp_user=>'dba', is_dav=>0,
is_brws=>0, opts=>vector ('url_rewrite', 'oracle_rule_list1')
);
-- Virtual directories for ontology
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_owl_rule2',
1,
'(/[^#]*)',
vector('path'),
1,
'/sparql?query=DESCRIBE+%%3Chttp%%3A//^{URIQADefaultHost}^%U%%3E+FROM+%%3Chttp%%3A//^{URIQADefaultHost}^/schemas/Oracle%%23%%3E&format=%U',
vector('path', '*accept*'),
null,
'(text/rdf.n3)|(application/rdf.xml)|(text/n3)|(application/json)',
2,
null
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'oracle_owl_rule1',
1,
'([^#]*)',
vector('path'),
1,
'/describe/?url=http://^{URIQADefaultHost}^%U',
vector('path'),
null,
null,
2,
303
);
DB.DBA.URLREWRITE_CREATE_RULELIST ( 'oracle_owl_rule_list1', 1, vector ( 'oracle_owl_rule1', 'oracle_owl_rule2'));
DB.DBA.VHOST_REMOVE (lpath=>'/schemas/Oracle');
DB.DBA.VHOST_DEFINE (lpath=>'/schemas/Oracle', ppath=>'/', vsp_user=>'dba', is_dav=>0,
is_brws=>0, opts=>vector ('url_rewrite', 'oracle_owl_rule_list1')
);