Put SPARQL in Your Code: Building Applications with Oracle Semantic Technologies. Xavier Lopez, Ph.D. Zhe Wu, Ph.D. Souripriya Das, Ph.D.
|
|
|
- Adela Washington
- 10 years ago
- Views:
Transcription
1 Put SPARQL in Your Code: Building Applications with Oracle Semantic Technologies Xavier Lopez, Ph.D. Zhe Wu, Ph.D. Souripriya Das, Ph.D.
2 Semantics at OOW Sessions Date/Time Title Location Sunday, Oct :30 a.m. 11:45 a.m. 2:30 p.m. 3:45 p.m. Build Better SQL and Document Queries with Oracle Semantic Technologies, Part 1 Build Better SQL and Document Queries with Oracle Semantic Technologies, Part 2 Dive into Semantic Technologies: Security, Document Index, and Change Management Put SPARQL in Your Code: Building Applications with Oracle Semantic Technologies Hilton Hotel Continental Parlor 1/2/3 Hilton Hotel Continental Parlor 1/2/3 Hilton Hotel Golden Gate 2 Hilton Hotel Golden Gate 2 Tuesday, Oct. 13 4:00 p.m. Turning the Database Inside-Out with Complex Event Processing Hilton Hotel Golden Gate 1
3 Semantics at OOW Sessions Date/Time Title Location Wednesday, Oct :15 a.m. Who s Who and What s What with Oracle Database Semantic Technologies Moscone South Room 270 DEMOgrounds Oracle Database Semantic Technologies - Moscone West, W-018
4 Agenda Intro to Semantic Web and Business Use Cases Semantic Technologies in Oracle Database 11gR2 Fundamentals: Storage and Query Enterprise RDF: Semantic indexing, Security, Versioning Inference Jena Adaptor for Oracle Database Utilities Performance 4
5 THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER ANY MATERIAL, CODE, OR FUNCTIONALITY, AND SHOULD NOT BE RELIED UPON IN MAKING PURCHASING DECISION. THE DEVELOPMENT, RELEASE, AND TIMING OF ANY FEATURES OR FUNCTIONALITY DESCRIBED FOR ORACLE'S PRODUCTS REMAINS AT THE SOLE DISCRETION OF ORACLE. 5
6 Introduction to Semantic Web and Business Use Cases 6
7 Semantic Data Management Characteristics Discovery of data relationships across Structured data (database, apps, web services) Unstructured data ( , office documents) Multi-data types (graphs, spatial, text, sensors) Text Mining & Web Mining infrastructure Terabytes of structured & unstructured data Queries are not defined in advance Schemas are continuously evolving Associate more meaning (context) to enterprise data to enable its (re)use across applications Allow sharing and reuse of enterprise and web data. Built on open, industry W3C standards: SQL, XML, RDF, OWL, SPARQL 7
8 Case Study: National Intelligence Ontology Engineering Modeling Process Web Resources Information Extraction Categorization, Feature/ term Extraction RDF/OWL Processed Document Collection OWL Ontologies Domain Specific Knowledge Base News, , RSS SQL/SPARQL Query Content Mgmt. Systems Explore Browsing, Presentation, Reporting, Visualization, Query Analyst 8
9 Data Integration Platform in Health Informatics Enterprise Information Consumers (EICs) Access Patient Care Workforce Management Business Intelligence Clinical Analytics Run-Time Metadata Deploy Model Virtual Relate Integration Server (Semantic Knowledge base) Model Physical Access LIS CIS HTB HIS 9
10 Data Integration Platform in Health Informatics Enterprise Information Consumers (EICs) Access Patient Care Workforce Management Business Intelligence Clinical Analytics Run-Time Metadata Deploy Model Virtual Relate Integration Server (Semantic Knowledge base) Model Physical Access LIS CIS HTB HIS 9
11 Semantic Data Management Workflow Transaction Systems Edit & Transform Load, Query & Inference Applications & Analysis Unstructured Content RSS, Other Data Formats Entity Extraction & Transform Ontology Engineering Categorization Custom Scripting RDF/OWL Data Management SQL & SPARQL Query Inferencing Semantic Rules Scalability & Security Graph Visualization Link Analysis Statistical Analysis Faceted Search Pattern Discovery Text Mining Data Sources Partners Partners 10
12 Oracle Database 11g RDF/OWL Graph Data Management Oracle database 11g is the leading commercial database with native RDF/ OWL data management Scalable & secure platform for widerange of semantic applications Readily scales to ultra-large repositories (billions of triples) Choice of SQL or SPARQL query Leverages Oracle Partitioning. RAC supported Growing ecosystem of 3 rd party tools partners Load / Storage Query Reasoning Key Capabilities: Native RDF graph data store Manages billions of triples Fast batch, bulk and incremental load SQL: SEM_Match SPARQL: via Jena plug-in Ontology assisted query of RDBMS data Forward chaining model OWLprime, OWL 2 RL, RDFS User defined rule base 11
13 Semantic Technology Partners Integrated Tools and Solution Providers: 12
14 Release 11.1 Semantic Technologies W3C standards: RDF, RDFS, OWL, SPARQL SQL & DML access to RDF/OWL data and ontologies Querying in SQL w/ SPARQL-like graph patterns Querying w/ SPARQL in Java through Jena adaptor Ontology-assisted querying of relational data Native Inferencing: RDFS/OWL & user-defined rules Persistent, scalable, ahead of queries, plugable reasoners Model level security Bulk and incremental loading of triples Up to 8 exabytes,1 million graphs w/ multi-graph querying Integral Oracle Partitioning and also table compression
15 Release 11.2 Semantic Technologies Strong security for Semantic Technologies Security policies and data classification for RDF data Semantic indexing of documents Semantic indexing of documents based on popular natural language tools Faster, more efficient reasoning to find new relationships Parallel and incremental inference, owl:sameas optimization Change management for collaboration Standards & open source support SPARQL query support for Filter, Union in SEM_MATCH table function OWL: union, intersection, OWL 2 property chains, disjoint properties Pellet OWL DL reasoner Integration Jena v2.6, ARQ Java SDK for SPARQL for 3rd party integration e.g., Sesame W3C Simple Knowledge Organization System (SKOS) & SNOMED ontology Utility to swap, rename, and merge model, rename entailment, remove duplicates
16 Background
17 Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
18 Children Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
19 Children Parents Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
20 Children Parents Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn = RDF
21 Children Parents RDF Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice Subject Predicate Object sn:cathy hasfather sn:sammy sn:cathy hasmother sn:suzie sn:jack hasfather sn:sammy sn:jack hasmother sn:suzie sn:jack hassister sn:cathy sn =
22 Children Parents RDF Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice Subject Predicate Object sn:cathy hasfather sn:sammy sn:cathy hasmother sn:suzie sn:jack hasfather sn:sammy sn:jack hasmother sn:suzie sn:jack hassister sn:cathy From Row#1 sn =
23 Children Parents RDF Table of Family data: converting to RDF Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice Subject Predicate Object sn:cathy hasfather sn:sammy sn:cathy hasmother sn:suzie sn:jack hasfather sn:sammy sn:jack hasmother sn:suzie sn:jack hassister sn:cathy From Row#1 From Row#2 sn =
24 Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
25 Children Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
26 Children Parents Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn =
27 Children Parents Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn:sammy sn:janice sn:martha sn:john sn =
28 Children Parents Grand Parents Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn:sammy sn:janice sn:martha sn:john sn =
29 Children Parents Grand Parents Spouses Table of Family data: inferring new data Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn:sammy sn:janice sn:martha sn:john sn =
30 Table of Family data: inferring new data Children Parents Grand Parents Spouses Name hasfather hasmother hassister sn:cathy sn:sammy sn:suzie sn:jack sn:sammy sn:suzie sn:cathy sn:tom sn:matt sn:martha sn:cindy sn:matt sn:martha sn:suzie sn:john sn:janice sn:matt sn:john sn:janice sn:sammy sn:janice sn:martha sn:john Gender Female Female Male Male Female Female Male sn =
31 SPARQL Query Language for RDF hasfather hasmother John Janice Sammy Suzie Matt Martha Cathy Jack Tom Cindy
32 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } hasfather hasmother John Janice Sammy Suzie Matt Martha Cathy Jack Tom Cindy
33 SPARQL Query Language for RDF 1 Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } hasfather John Janice hasmother 1 Sammy Suzie Matt Martha Cathy Jack Tom Cindy
34 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 hasfather hasmother John 1 2 Janice Sammy Suzie Matt Martha Cathy Jack Tom Cindy
35 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 hasfather hasmother John Janice Sammy Suzie Matt Martha Cathy Jack Tom Cindy
36 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 hasfather John Janice hasmother Sammy Suzie Matt Martha Cathy Jack Tom Cindy
37 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 hasfather hasmother John Janice Result (bindings)?x?y Sammy Suzie Matt Martha Cathy Jack Tom Cindy
38 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 hasfather hasmother John Janice Result (bindings)?x?y Sammy Suzie Matt Martha Cathy Jack Tom Cindy
39 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 hasfather hasmother John Janice Result (bindings)?x?y Suzie Matt Sammy Suzie Matt Martha Cathy Jack Tom Cindy
40 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Tom Cindy
41 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Tom Cindy
42 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Cathy Jack Tom Cindy
43 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Jack Cathy Cathy Jack Tom Cindy
44 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Jack Cathy Cathy Jack Tom Cindy
45 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 John Janice hasfather hasmother Sammy Suzie Matt Martha Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Jack Cathy Tom Cindy Cathy Jack Tom Cindy
46 SPARQL Query Language for RDF Querying RDF data Find pairs of siblings (same parents) 1 3 SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } 2 4 hasfather hasmother John Janice Sammy Suzie Matt Martha Cathy Jack Tom Cindy Result (bindings)?x?y Suzie Matt Matt Suzie Cathy Jack Jack Cathy Tom Cindy Cindy Tom
47 SQL and graph query
48 SQL and graph query Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <rdf_graph> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
49 SQL and graph query Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <rdf_graph> g1, rdf_graph g2, rdf_graph g3, rdf_graph g4 WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
50 SQL and graph query Querying RDF data Find pairs of siblings (same parents) SELECT?x g1.subject?y x, g3.subject y FROM <rdf_graph> g1, rdf_graph g2, rdf_graph g3, rdf_graph g4 WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
51 SQL and graph query Querying RDF data Find pairs of siblings (same parents) SELECT?x g1.subject?y x, g3.subject y FROM <rdf_graph> g1, rdf_graph g2, rdf_graph g3, rdf_graph g4 WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } g1.subject!= g3.subject
52 SQL and graph query Querying RDF data Find pairs of siblings (same parents) SELECT?x g1.subject?y x, g3.subject y FROM <rdf_graph> g1, rdf_graph g2, rdf_graph g3, rdf_graph g4 WHERE { g1.predicate = hasfather AND?x g2.predicate hasfather?f = hasmother. AND?x g3.predicate hasmother =?m hasfather. AND?y g4.predicate hasfather?f = hasmother. AND?y g1.subject hasmother = g2.subject?m. AND /* variable?x */ g3.subject = g4.subject AND /* variable?y */ g1.object = g3.object AND /* variable?f */ g2.object = g4.object AND /* variable?m */ FILTER(?x!=?y) } g1.subject!= g3.subject
53 Oracle Database 11g R2 Semantic Technologies: Storage, Query, Enterprise RDF
54 Architectural Overview
55 Architectural Overview Oracle DB RDF/OWL Security: fine-grained RDF/OWL data and ontologies Versioning: Workspaces Rulebases: OWL, RDF/S, user-defined Inferred RDF/OWL data Semantic Indexes Enterprise (Relational) data
56 Architectural Overview Core functionality Bulk-Load LOAD Incr. DML OWL subsets INFER RDF/S User-def. QUERY (SQL-based SPARQL) Query RDF/ OWL data and ontologies Ontologyassisted Query of Enterprise Data Oracle DB RDF/OWL Security: fine-grained RDF/OWL data and ontologies Versioning: Workspaces Rulebases: OWL, RDF/S, user-defined Inferred RDF/OWL data Semantic Indexes Enterprise (Relational) data
57 Architectural Overview Programming Interface SPARQL (Jena) Java API support JDBC Java Programs SQL Interface SQLplus PL/SQL SQLdev. Core functionality Bulk-Load LOAD Incr. DML OWL subsets INFER RDF/S User-def. QUERY (SQL-based SPARQL) Query RDF/ OWL data and ontologies Ontologyassisted Query of Enterprise Data Oracle DB RDF/OWL Security: fine-grained RDF/OWL data and ontologies Versioning: Workspaces Rulebases: OWL, RDF/S, user-defined Inferred RDF/OWL data Semantic Indexes Enterprise (Relational) data
58 Architectural Overview Programming Interface Core functionality Oracle DB RDF/OWL SPARQL (Jena) Bulk-Load LOAD Java API support Incr. DML RDF/OWL data and ontologies JDBC OWL subsets Security: fine-grained INFER RDF/S Rulebases: OWL, RDF/S, user-defined Java Programs User-def. SQL Interface SQLplus Versioning: Workspaces Inferred RDF/OWL data PL/SQL Query RDF/ OWL data and ontologies Semantic Indexes SQLdev. QUERY (SQL-based SPARQL) Ontologyassisted Query of Enterprise Data Enterprise (Relational) data Reasoners: Pellet NLP Info. Extractor: Calais, GATE 3 rd -Party Callouts
59 Architectural Overview Programming Interface Core functionality Oracle DB RDF/OWL SPARQL (Jena) Bulk-Load LOAD Java API support Incr. DML RDF/OWL data and ontologies JDBC OWL subsets Security: fine-grained INFER RDF/S Rulebases: OWL, RDF/S, user-defined Java Programs User-def. SQL Interface SQLplus Versioning: Workspaces Inferred RDF/OWL data PL/SQL Query RDF/ OWL data and ontologies Semantic Indexes SQLdev. QUERY (SQL-based SPARQL) Ontologyassisted Query of Enterprise Data Enterprise (Relational) data Tools Visualizer (cytoscope) Reasoners: Pellet NLP Info. Extractor: Calais, GATE 3 rd -Party Callouts
60 Architectural Overview 3 rd -Party Tools Topbraid Composer SPARQL Endpoint (Joseki) Tools Programming Interface Core functionality Oracle DB RDF/OWL SPARQL (Jena) Bulk-Load LOAD Java API support Incr. DML RDF/OWL data and ontologies JDBC OWL subsets Security: fine-grained INFER RDF/S Rulebases: OWL, RDF/S, user-defined Java Programs User-def. SQL Interface SQLplus Versioning: Workspaces Inferred RDF/OWL data PL/SQL Query RDF/ OWL data and ontologies Semantic Indexes SQLdev. QUERY (SQL-based SPARQL) Ontologyassisted Query of Enterprise Data Enterprise (Relational) data Visualizer (cytoscope) Reasoners: Pellet NLP Info. Extractor: Calais, GATE 3 rd -Party Callouts
61 Core Entities in Oracle Database Semantic Store
62 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. Semantic Network (MDSYS)
63 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. Triples Semantic Network (MDSYS)
64 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. Triples Values Semantic Network (MDSYS)
65 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. Rulebases & Vocabularies OWL subset RDF / RDFS Triples Values Semantic Network (MDSYS)
66 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. SDO_RDF_TRIPLE_S A new object type for RDF. Rulebases & Vocabularies OWL subset RDF / RDFS Triples Values Semantic Network (MDSYS)
67 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. SDO_RDF_TRIPLE_S A new object type for RDF. Application Table Contains col of object type sdo_rdf_triple_s to allow loading and accessing RDF triples, and storing ancillary values. Application Tables scott herman scott A 1 A 2 R R A n R Rulebases & Vocabularies OWL subset RDF / RDFS Triples Values Semantic Network (MDSYS)
68 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. SDO_RDF_TRIPLE_S A new object type for RDF. Application Table Contains col of object type sdo_rdf_triple_s to allow loading and accessing RDF triples, and storing ancillary values. Model A model holds an RDF graph (set of S-P-O triples) and is associated with an sdo_rdf_triple_s column in an application table. Application Tables scott herman scott A 1 A 2 R R A n R Models M1 M2 Mn Rulebases & Vocabularies OWL subset RDF / RDFS Triples Values Semantic Network (MDSYS)
69 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. SDO_RDF_TRIPLE_S A new object type for RDF. Application Table Contains col of object type sdo_rdf_triple_s to allow loading and accessing RDF triples, and storing ancillary values. Model A model holds an RDF graph (set of S-P-O triples) and is associated with an sdo_rdf_triple_s column in an application table. Rulebase A rulebase is a set of rules used for inferencing. Application Tables scott herman scott A 1 A 2 R R A n R Models M1 M2 Mn Rulebases & Vocabularies OWL subset RDF / RDFS Triples Rule base m Values Semantic Network (MDSYS)
70 Core Entities in Oracle Database Semantic Store Sem. Network Dictionary and data tables. New entities: models, rule bases, and rules indexes (entailments). OWL and RDFS rule bases are preloaded. SDO_RDF_TRIPLE_S A new object type for RDF. Application Table Contains col of object type sdo_rdf_triple_s to allow loading and accessing RDF triples, and storing ancillary values. Model A model holds an RDF graph (set of S-P-O triples) and is associated with an sdo_rdf_triple_s column in an application table. Rulebase A rulebase is a set of rules used for inferencing. Entailments An entailment stores triples derived via inferencing. Application Tables scott herman scott A 1 A 2 R R A n R Models M1 M2 Mn Rulebases & Vocabularies OWL subset X1 RDF / RDFS X2 Xp Triples Rule base m Entailments Values Semantic Network (MDSYS)
71 Network Indexes Some B-tree indexes (including one for enforcing uniqueness constraint) are created automatically at sem. network creation time. The set of usable indexes can be manipulated using sem_apis.add_sem_index sem_apis.drop_sem_index sem_apis.alter_index_on_model sem_apis.alter_index_on_entailment Tip: when creating a network index, use the model_id column as part (usually, the last col) of the index key
72 Virtual Model Similar to simple database Views One may define a Virtual Model consisting of multiple sem. Models, and optionally the corresponding entailment. The relevant subprograms are sem_apis.create_virtual_model sem_apis.drop_virtual_model Benefits Allows ease and flexibility in specifying target models plus (optionally) the corresponding entailment Facilitates access control Query performance (esp. for queries against multi-model, or single/multi-model+entailment RDF data source)
73 Usage flow (via SQL interface) Create Application Table and model create table app_table(triple sdo_rdf_triple_s); exec sem_apis.create_sem_model ( family, app_table, triple ); Load data insert into app_table (triple) values(sdo_rdf_triple_s( family, )) Use sem_apis.bulk_load_from_staging_table() for large loads Collect statistics using: exec sem_apis.analyze_model( family ); Inference exec sem_apis.create_entailment ( family_owl_ent, sem_models( family ), sem_rulebases( owlprime )); Collect statistics using: exec sem_apis.analyze_rules_index( family_owl_ent ); Query select x, y from table(sem_match( {?x rdf:type?y}', sem_models ( family'), sem_rulebases( owlprime ), null, null));
74 SPARQL in SQL {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
75 SPARQL in SQL Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM {?x hasfather?f. WHERE?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
76 SPARQL in SQL Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM {?x hasfather?f. WHERE?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Evaluates to
77 SPARQL in SQL Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM {?x hasfather?f. WHERE?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Evaluates to x Suzie Matt Cathy Jack Tom Cindy y Matt Suzie Jack Cathy Cindy Tom
78 SPARQL in SQL Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM {?x hasfather?f. WHERE?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Evaluates to x Suzie Matt Cathy Jack Tom Cindy y Matt Suzie Jack Cathy Cindy Tom Allows use of rich SQL constructs such as: aggregates, subqueries, analytical functions, expressions, etc. and joining with object-relational data (e.g., spatial).
79 Query performance: Rewrite to SQL Rewriting the SPARQL in SQL to SQL allows avoiding communication of data between SQL engine and non-sql engine, and making the whole query visible to the RDBMS optimizer as a single SQL query (thereby maximizing the possibility of getting the best execution plan chosen by the optimizer)
80 Query performance: Rewrite to SQL Rewriting the SPARQL in SQL to SQL allows avoiding communication of data between SQL engine and non-sql engine, and making the whole query visible to the RDBMS optimizer as a single SQL query (thereby maximizing the possibility of getting the best execution plan chosen by the optimizer) Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM WHERE
81 Query performance: Rewrite to SQL Rewriting the SPARQL in SQL to SQL allows avoiding communication of data between SQL engine and non-sql engine, and making the whole query visible to the RDBMS optimizer as a single SQL query (thereby maximizing the possibility of getting the best execution plan chosen by the optimizer) Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) }
82 Query performance: Rewrite to SQL Rewriting the SPARQL in SQL to SQL allows avoiding communication of data between SQL engine and non-sql engine, and making the whole query visible to the RDBMS optimizer as a single SQL query (thereby maximizing the possibility of getting the best execution plan chosen by the optimizer) Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Replaced with
83 Query performance: Rewrite to SQL Rewriting the SPARQL in SQL to SQL allows avoiding communication of data between SQL engine and non-sql engine, and making the whole query visible to the RDBMS optimizer as a single SQL query (thereby maximizing the possibility of getting the best execution plan chosen by the optimizer) Querying RDF data Find pairs of siblings (same parents) SELECT x, y FROM WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Replaced with SELECT FROM WHERE
84 Querying RDF data in SQL using SEM_MATCH Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
85 Querying RDF data in SQL using SEM_MATCH SEM_MATCH rewritable table function Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
86 Querying RDF data in SQL using SEM_MATCH SEM_MATCH rewritable table function SELECT FROM TABLE(SEM_MATCH( pattern,models,rulebases, aliases ) t WHERE Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
87 Querying RDF data in SQL using SEM_MATCH SEM_MATCH rewritable table function SELECT FROM TABLE(SEM_MATCH( pattern,models,rulebases, aliases ) t WHERE SPARQL graph pattern embedded in SQL query Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
88 Querying RDF data in SQL using SEM_MATCH SEM_MATCH rewritable table function SELECT FROM TABLE(SEM_MATCH( pattern,models,rulebases, aliases ) t WHERE SPARQL graph pattern embedded in SQL query Matches specified graph pattern against stored data Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
89 Querying RDF data in SQL using SEM_MATCH SEM_MATCH rewritable table function SELECT FROM TABLE(SEM_MATCH( pattern,models,rulebases, aliases ) t WHERE SPARQL graph pattern embedded in SQL query Matches specified graph pattern against stored data Returns a table of results: Each result row is values for selected columns corresponding to mappings for the graph pattern variables Querying RDF data Find pairs of siblings (same parents) SELECT?x?y FROM <family> WHERE {?x hasfather?f.?x hasmother?m.?y hasfather?f.?y hasmother?m. FILTER(?x!=?y) } Querying RDF data in Oracle 11g Find pairs of siblings (same parents) SELECT x, y FROM TABLE(SEM_MATCH( {?x :hasfather?f.?x :hasmother?m.?y :hasfather?f.?y :hasmother?m. FILTER(?x!=?y) }, sem_models( family ),null, sem_aliases(sem_alias(, )), null)) ;
90 HINT framework: Aliases
91 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', '
92 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0
93 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1
94 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1 t2
95 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1 t2
96 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1 t2 Aliases for the tables involved in the Join (in translated SQL query) For the 3 triple patterns: t0, t1, t2 aliases for RDF Model For the 3 distinct variables:?e,?company,?loc aliases for RDF_VALUE$
97 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1 t2 Aliases for the tables involved in the Join (in translated SQL query) For the 3 triple patterns: t0, t1, t2 aliases for RDF Model For the 3 distinct variables:?e,?company,?loc aliases for RDF_VALUE$ 6-way Join query: t0 x t1 x t2 x?e x?company x?loc
98 HINT framework: Aliases SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' t0 t1 t2 Aliases for the tables involved in the Join (in translated SQL query) For the 3 triple patterns: t0, t1, t2 aliases for RDF Model For the 3 distinct variables:?e,?company,?loc aliases for RDF_VALUE$ 6-way Join query: t0 x t1 x t2 x?e x?company x?loc Use of projection optimization reduces it to a 5-way join query since columns for only the?e and?loc variables are referred in containing SQL query: t0 x t1 x t2 x?e x?loc
99 Hint specification HINTS in SEM_MATCH query Similar to SQL hints Join order: LEADING( ), ORDERED Join type: USE_HASH( ), USE_NL( ), Access path: INDEX( ), Aliases are a bit different Variable names:?e,?company,?loc, Pattern ordinal based: t0, t1, t2,
100 Hint specification SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer.?e :worksfor?company.?company :headquarterloc?loc}, SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' HINT0 = { LEADING(t0 t1 t2) USE_NL(t1)} )); HINTS in SEM_MATCH query Similar to SQL hints Join order: LEADING( ), ORDERED Join type: USE_HASH( ), USE_NL( ), Access path: INDEX( ), Aliases are a bit different Variable names:?e,?company,?loc, Pattern ordinal based: t0, t1, t2,
101 Hint specification SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer. t0?e :worksfor?company. t1?company :headquarterloc?loc}, t2 SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' HINT0 = { LEADING(t0 t1 t2) USE_NL(t1)} )); HINTS in SEM_MATCH query Similar to SQL hints Join order: LEADING( ), ORDERED Join type: USE_HASH( ), USE_NL( ), Access path: INDEX( ), Aliases are a bit different Variable names:?e,?company,?loc, Pattern ordinal based: t0, t1, t2,
102 Hint specification SELECT e, loc FROM TABLE(SEM_MATCH( {?e rdf:type :SoftwareEngineer. t0?e :worksfor?company. t1?company :headquarterloc?loc}, t2 SEM_Models( emp, gmap ), SEM_Rulebases( OWLPRIME ), SEM_ALIASES(SEM_ALIAS('', ' HINT0 = { LEADING(t0 t1 t2) USE_NL(t1)} )); HINTS in SEM_MATCH query Similar to SQL hints Join order: LEADING( ), ORDERED Join type: USE_HASH( ), USE_NL( ), Access path: INDEX( ), Aliases are a bit different Variable names:?e,?company,?loc, Pattern ordinal based: t0, t1, t2,
103 Ontology-assisted Query using SQL Operators Upper_Extremity_Fracture rdfs:subclassof rdfs:subclassof Arm_Fracture rdfs:subclassof Forearm_Fracture Elbow_Fracture Hand_Fracture rdfs:subclassof ID DIAGNOSIS Finger_Fracture Find all entries in diagnosis column that are related to Upper_Extremity_Fracture Patients 1 Hand_Fracture 2 Rheumatoid_Arthritis Syntactic match returns no rows: SELECT p_id, diagnosis FROM Patients WHERE diagnosis = Upper_Extremity_Fracture;
104 Ontology-assisted Query using SQL Operators Upper_Extremity_Fracture rdfs:subclassof rdfs:subclassof Arm_Fracture rdfs:subclassof Forearm_Fracture Elbow_Fracture Hand_Fracture Patients ID DIAGNOSIS 1 Hand_Fracture 2 Rheumatoid_Arthritis rdfs:subclassof SELECT Finger_Fracture p_id, diagnosis FROM Patients Find all entries in diagnosis WHERE SEM_RELATED column that ( are related to diagnosis, Upper_Extremity_Fracture rdfs:subclassof, Upper_Extremity_Fracture, SELECT p_id, diagnosis FROM sem_models( Medical_ontology ), Patients WHERE diagnosis = sem_rulebases( RDFS ) Upper_Extremity_Fracture; ) = 1; Syntactic match returns no rows:
105 Ontology-assisted Query using SQL Operators Upper_Extremity_Fracture rdfs:subclassof rdfs:subclassof Arm_Fracture rdfs:subclassof Forearm_Fracture Patients ID Elbow_Fracture DIAGNOSIS 1 Hand_Fracture 2 Rheumatoid_Arthritis Hand_Fracture rdfs:subclassof SELECT p_id, diagnosis SELECT FROM Finger_Fracture Patients p_id, diagnosis FROM WHERE Patients SEM_RELATED Find all entries ( in diagnosis WHERE diagnosis, SEM_RELATED column that ( are related to rdfs:subclassof, diagnosis, Upper_Extremity_Fracture Upper_Extremity_Fracture, rdfs:subclassof, Upper_Extremity_Fracture, SELECT p_id, diagnosis FROM sem_models( Medical_ontology ), sem_models( Medical_ontology ), Patients WHERE diagnosis = Upper_Extremity_Fracture; sem_rulebases( RDFS ) ) = 1; 123) = 1 AND SEM_DISTANCE(123) <= 2; Syntactic match returns no rows:
106 Semantic Indexing of Documents 11.2 doci d Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW....
107 Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) doci d Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW....
108 Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) doci d Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW....
109 doci d Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW.... Triples table with rowid references Subject Property Object rid p:marcus rdf:type rc::person r1 p:marcus :hasname Marcus ^^ r1 p:marcus :hasage 38 ^^xsd:.. r1 SemContext index on Article column
110 doci d Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW.... Triples table with rowid references Subject Property Object rid p:marcus rdf:type rc::person r1 p:marcus :hasname Marcus ^^ r1 p:marcus :hasage 38 ^^xsd:.. r1 SemContext index on Article column SELECT docid FROM Newsfeed WHERE SEM_CONTAINS (Article, {?x rdf:type rc:person.?x :hasage?age. FILTER(?age >= 35)} )=1
111 doci d Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW.... Triples table with rowid references Subject Property Object rid p:marcus rdf:type rc::person r1 p:marcus :hasname Marcus ^^ r1 p:marcus :hasage 38 ^^xsd:.. r1 SemContext index on Article column SELECT docid FROM Newsfeed WHERE SEM_CONTAINS (Article, {?x rdf:type rc:person.?x :hasage?age. FILTER(?age >= 35)} )=1 AND Source = CNN
112 doci d Semantic Indexing of Documents 11.2 CREATE INDEX ArticleIndex ON NewsFeed (Article) INDEXTYPE IS SemContext PARAMETERS ( gate_nlp ) Newsfeed table Article 1 Indiana authorities filed felony charges and a court issued an arrest warrant for a financial manager who apparently tried to fake his death by crashing his airplane in a Florida swamp. Marcus Schrenker, 38 Source CNN 2 Major dealers and investors NW.... Triples table with rowid references Subject Property Object rid p:marcus rdf:type rc::person r1 p:marcus :hasname Marcus ^^ r1 p:marcus :hasage 38 ^^xsd:.. r1 SemContext index on Article column SELECT docid FROM Newsfeed WHERE SEM_CONTAINS (Article, {?x rdf:type rc:person.?x :hasage?age. FILTER(?age >= 35)} )=1 AND Source = CNN Analytical Queries On Graph Data
113 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2
114 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can only access active projects Match pattern {?x rdf:type :Project } Apply pattern {?x :hasstatus :Active }
115 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can only access active projects Match pattern {?x rdf:type :Project } Apply pattern {?x :hasstatus :Active } Query : Get the list of projects and their values SELECT?proj?val FROM ProjectsGraph WHERE {?proj :hasvalue?val }
116 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can only access active projects Match pattern {?x rdf:type :Project } Apply pattern {?x :hasstatus :Active } Query : Get the list of projects and their values SELECT?proj?val FROM ProjectsGraph WHERE {?proj :hasvalue?val }?proj :hasstatus :Active }.
117 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can access only access value active of projects s/he leads Match pattern {?x :hasvalue rdf:type :Project?v } } Apply pattern {?x :haslead :hasstatus sys_context( ) :Active } } Query : Get the list of projects and their values SELECT?proj?val FROM ProjectsGraph WHERE {?proj :hasvalue?val }
118 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can access only access value active of projects s/he leads Match pattern {?x :hasvalue rdf:type :Project?v } } Apply pattern {?x :haslead :hasstatus sys_context( ) :Active } } Query : Get the list of projects and their values SELECT?proj?val FROM ProjectsGraph WHERE {?proj :hasvalue?val }?proj :haslead sys_context( ) }.
119 Enterprise Security for Semantic Data [VPD] Access control policies on semantic data 11.2 Policy user can access only access value active of projects s/he leads Match pattern {?x :hasvalue rdf:type :Project?v } } Apply pattern {?x :haslead :hasstatus sys_context( ) :Active } } Query : Get the list of projects and their values SELECT?proj?val FROM ProjectsGraph WHERE {?proj :hasvalue?val }
120 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US
121 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US
122 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US INSERT operation: Labels for resources to control their use as component of a triple during insertion. (Also, determines min. access label for inserted triple.)
123 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US INSERT operation: Labels for resources to control their use as component of a triple during insertion. (Also, determines min. access label for inserted triple.) Position & Resource Row Label
124 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US INSERT operation: Labels for resources to control their use as component of a triple during insertion. (Also, determines min. access label for inserted triple.) Position & Resource Row Label Subject: projecthls SE:HLS:US
125 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US INSERT operation: Labels for resources to control their use as component of a triple during insertion. (Also, determines min. access label for inserted triple.) Position & Resource Row Label Subject: projecthls SE:HLS:US Predicate: hascontractvalue TS:FIN:
126 Enterprise Security for Semantic Data [OLS] Data classification labels for semantic data 11.2 SELECT operation: Labels for triples are used to restrict access to the triples. Subject projecthls projecthls Predicate Organization Triples table Object N.America ContractValue Row Label SE:HLS:US SE:HLS,FIN:US INSERT operation: Labels for resources to control their use as component of a triple during insertion. (Also, determines min. access label for inserted triple.) Position & Resource Row Label Subject: projecthls SE:HLS:US Predicate: hascontractvalue TS:FIN:
127 Change Mgmt./Versioning for Sem. Data Manage public and private versions of semantic data in database workspaces (Workspace Manager) 11.2 An RDF Model is version-enabled by version-enabling the corresponding application table. exec DBMS_WM.enableVersioning (table_name => 'contracts_rdf_data'); RDF data modified within a workspace is private to the workspace until it is merged. SEM_MATCH queries on version-enabled models are version aware and only return relevant data. New versions created only for changed data Versioning is provisioned for inference
128 Inference, Jena Adaptor for Oracle Database, Utilities, and Performance 38
129 Inference 39
130 Infer Semantic Data Native inferencing in the database for RDF, RDFS, and a rich subset of OWL semantics (OWLSIF, OWLPRIME, RDFS++) User-defined rules Forward chaining. New relationships/triples are inferred and stored ahead of query time Removes on-the-fly reasoning and results in fast query times Proof generation Show one deduction path 40
131 Infer Semantic Data: APIs Recommended API for inference SEM_APIS.CREATE_ENTAILMENT( Index_name sem_models( GraphTBox, GraphABox, ), sem_rulebases( OWLPrime ), passes, Inf_components, Options ) Use PROOF=T to generate inference proof SEM_APIS.VALIDATE_ENTAILMENT( sem_models(( GraphTBox, GraphABox, ), sem_rulebases( OWLPrime ), Criteria, Max_conflicts, Options ) Java API: GraphOracleSem.performInference() Typical Usage: First load RDF/OWL data Call create_entailment to generate inferred graph Query both original graph and inferred data Inferred graph contains only new triples! Saves time & resources Typical Usage: First load RDF/OWL data Call create_entailment to generate inferred graph Call validate_entailment to find inconsistencies 41
132 New Release 11.2 Inference Features Richer semantics support including owl:intersectionof, unionof, oneof, W3C SKOS SNOMED OWL2 s owl:propertychainaxiom, owl:negativepropertyassertion, owl:haskey, owl:propertydisjointwith, Most OWL 2 RL/RDF rules Performance enhancement Large scale owl:sameas handling Parallel inference Incremental inference 42
133 New Release 11.2 Inference Components UNION: (OWL 1) owl:unionof INTERSECT & INTERSECTSCOH: (OWL 1) owl:intersectionof SNOMED: (OWL 2) Systematized Nomenclature of Medicine PROPDISJH: (OWL 2) interaction between owl:propertydisjointwith and rdfs:subpropertyof. CHAIN: (OWL 2) Supports chains of length 2 SKOSAXIOMS: most of the axioms defined in SKOS reference MBRLST: for any resource, every item in the list given as the value of the skos:memberlist property is also a value of the skos:member property. SVFH: capturing interaction between owl:somevaluesfrom and rdfs:subclassof THINGH & THINGSAM: any defined OWL class is a subclass of owl:thing & instances of owl:thing are equal to themselves 43
134 Enabling New Release 11.2 Inference Capabilities Enabling Parallel inference option EXECUTE sem_apis.create_entailment('m_idx',sem_models('m'), sem_rulebases('owlprime'), sem_apis.reach_closure, null, 'DOP=x'); Where x is the degree of parallelism (DOP) Enabling Incremental inference option EXECUTE sem_apis.create_entailment ('M_IDX',sem_models('M'), sem_rulebases('owlprime'),null,null, 'INC=T'); Enabling owl:sameas option to limit duplicates EXECUTE Sem_apis.create _entailment('m_idx',sem_models('m'), sem_rulebases('owlprime'),null,null,'opt_sameas=t'); Enabling compact data structures EXECUTE Sem_apis.create _entailment('m_idx',sem_models('m'), sem_rulebases('owlprime'),null,null, 'RAW8=T'); Enabling SKOS inference EXECUTE Sem_apis.create_entailment('M_IDX',sem_models('M'), sem_rulebases('skoscore'),null,null ); 44
135 Jena Adaptor for Oracle Database 11g Release 2 45
136 Jena Adaptor for Oracle Database 11g Release 1 Implements Jena s Graph/Model/BulkUpdateHandler/ APIs Proxy like design Data not cached in memory for scalability SPARQL query converted into SQL and executed inside DB A SPARQL with just conjunctive patterns is converted into a single SEM_MATCH query Allows various data loading Bulk/Batch/Incremental load RDF or OWL (in N3, RDF/XML, N-TRIPLE etc.) with strict syntax verification and long literal support Integrates Oracle Database release 11g RDF/OWL with tools including TopBraid Composer External complete DL reasoners (e.g. Pellet) 46
137 Programming Semantic Applications in Java Create an Oracle object oracle = new Oracle(oracleConnection); Create a GraphOracleSem Object graph = new GraphOracleSem(oracle, model_name, attachment); Load data graph.add(triple.create( )); // for incremental triple additions Collect statistics graph.analyze(); Run inference graph.performinference(); Collect statistics graph.analyzeinferredgraph(); Query QueryFactory.create( ); queryexec = QueryExecutionFactory.create(query, model); resultset = queryexec.execselect(); No need to create model manually! Important for performance! 47
138 Jena Adaptor for Oracle Database 11g Release 2 (1) SPARQL service endpoint supporting full SPARQL Protocol Integrated with Jena Joseki (deployed in WLS 10.3) Utilizing J2EE data source for DB connection specification SPARQL Update (SPARUL) supported Tight integration with Jena ARQ (2.8.0) for faster query performance Translate OPTIONAL, UNION, FILTER based queries into a single SEM_MATCH Translate Property Path queries into plain SQL Translate conjunctive pattern based queries into plain SQL Translate BGP + parallel OPTIONALS (no nesting) into plain SQL (result_cache enabled) Fall back to the original Jena ARQ in case of failure 48
139 Jena Adaptor for Oracle Database 11g Release 2 (2) Query management and execution control Timeout Query abort framework Including monitoring threads and a management servlet Designed for a J2EE cluster environment Hints allowed in SPARQL query syntax Parallel execution Support ARQ functions for projected variables fn:lower-case, upper-case, substring, Native, system provided functions can be used in SPARQL oext:lower-literal, oext:upper-literal, oext:build-uri-for-id, 49
140 Jena Adaptor for Oracle Database 11g Release 2 (3) Extensible user-defined functions in SPARQL Example PREFIX ouext: < SELECT?subject?object (ouext:my_strlen(?object) as?obj1) WHERE {?subject dc:title?object } User can implement the my_strlen functions in Oracle Database Connection Pooling through OraclePool java.util.properties prop = new java.util.properties(); prop.setproperty("initiallimit", "2"); // create 2 connections prop.setproperty("inactivitytimeout", "1800"); // seconds. OraclePool op = new OraclePool(szJdbcURL, szuser, szpasswd, prop, "OracleSemConnPool"); Oracle oracle = op.getoracle(); 50
141 Jena Adaptor for Oracle Database 11g Release 2 (4) API enhancements Parallel statistics collection Parallel and incremental inference Parallel application table index building Query just inferred data Transparent Virtual model support Shutdown hook logic disabled Basic compression enabled by default for application tables OracleUserRule now accepts filter parameter More utility functions 51
142 Semantic Technologies Utilities for Oracle Database 11g Release 2 52
143 Utility APIs SEM_APIS.remove_duplicates e.g. exec sem_apis.remove_duplicates( graph_model ); SEM_APIS.merge_models Can be used to clone model as well. e.g. exec sem_apis.merge_models( model1, model2 ); SEM_APIS.swap_names e.g. exec sem_apis.swap_names( production_model, prototype_model ); SEM_APIS.alter_model (entailment) e.g. sem_apis.alter_model( m1, MOVE, TBS_SLOWER ); SEM_APIS.rename_model/rename_entailment 53
144 Performance and Scalability Evaluation 54
145 Setup for Performance Use a balanced hardware system for database A single, huge physical disk for everything is not recommended. Multiple hard disks tied together through ASM is a good practice Make sure throughput of hardware components match up Component CPU core 1/2 Gbit HBA 16 port switch Fiber channel Disk controller GigE NIC (interconnect) Disk (spindle) MEM Hardware spec - 1/2 Gbit/s 8 * 2 Gbit/s 2 Gbit/s 2 Gbit/s 2 Gbit/s Sustained throughput MB/s 100/200 MB/ s 1,200 MB/s 200 MB/s 200 MB/s 80 MB/s* MB/s 2k-7k MB/s Some numbers are from Data Warehousing with 11g and RAC presentation More tips can be found at 55
146 Bulk Loader Performance on Desktop PC Ontology size bulk-load API [1] Time Time Sql*loader time range low [2] high [3] RDF Model: Data Indexes RDF Values: Data Indexes Space (in GB) Total: Data Index App Table: Data [4] Staging Table: Data [5] LUBM million 8 min 1min 4.3min LUBM million 3hr 25min 19min 1h 26m LUBM8000 1,106 million 30hr 43min 2h 35m 11h 32m UniProt (old) 207 million 4hr 40min 30m 1h 55m Results collected on a single CPU PC (3GHz), 4GB RAM, 7200rpm SATA 3.0Gbps, 32 bit Linux. RDBMS Empty network is assumed [1] Uses flags=>' VALUES_TABLE_INDEX_REBUILD ' [2] Less time for minimal syntax check. [3] More time is needed when RDF values used in N-Triple file are checked for correctness. [4] Application table has table compression enabled. [5] Staging table has table compression enabled. 56
147 Query Performance Ontology LUBM million & 5.4 million inferred LUBM Benchmark Queries Query Q1 Q2 Q3 Q4 Q5 Q6 Q7 # answers Complete? Y Y Y Y Y Y Y OWLPrime & new inference components Time (sec) Query Q8 Q9 Q10 Q11 Q12 Q13 Q14 # answers Complete? Y Y Y Y Y Y Y Time (sec) Setup: Intel Q6600 quad-core, RPM SATA disks, 8GB DDR2 PC6400 RAM, No RAID. 64-bit Linux Average of 3 warm runs 57
148 Query Performance - Running in Parallel LUBM1000 Query Performance Time (seconds) LUBM Benchmark Query DOP=1 DOP=4 Setup: Server class machine with 16 cores, NAND based flash storage, 32GB RAM, Linux 64 bit, Average of 3 warm runs 58
149 Inference Performance hrs 3GHz single CPU Dual-core 2.33GHz CPU OWLPrime ( ) inference performance scales really well with hardware. It is not a parallel inference engine though. 59
150 11.2 Inference Performance Parallel Inference (LUBM billion triples + 860M inferred) Parallel Inference (LUBM billion triples billion inferred) Incremental Inference (LUBM billion triples + 860M inferred) Large scale owl:sameas Inference (UniProt 1 Million sample) Time to finish inference: 12 hrs. 3.3x faster compared to serial inference in release 11.1 Time to finish inference: 40 hrs. 30% faster than nearest competitor 1/5 cost of other hardware configurations Time to update inference: less than 30 seconds after adding 100 triples. At least 15x to 50x faster than a complete inference done with release % less disk space required 10x faster inference compared to release 11.1 Setup: Intel Q6600 quad-core, RPM SATA disks, 8GB DDR2 PC6400 RAM, No RAID. 64-bit Linux Assembly cost: less than USD 1,000 60
151 Summary Requirement to search and and derive greater business knowledge from enterprise databases and applications Oracle database 11g is the leading commercial database with native RDF/OWL data management Scalable & secure platform for wide-range of semantic applications Readily scales to ultra-large repositories (+10 billion) Choice of SQL/PLSQL APIs or Java APIs Leverages Oracle Partitioning and Compression. RAC supported Growing ecosystem of 3rd party tools partners 61
152 For More Information search.oracle.com Semantic Technologies or oracle.com
153
The Semantic Web for Application Developers. Oracle New England Development Center Zhe Wu, Ph.D. [email protected] 1
The Semantic Web for Application Developers Oracle New England Development Center Zhe Wu, Ph.D. [email protected] 1 Agenda Background 10gR2 RDF 11g RDF/OWL New 11g features Bulk loader Semantic operators
Application of OASIS Integrated Collaboration Object Model (ICOM) with Oracle Database 11g Semantic Technologies
Application of OASIS Integrated Collaboration Object Model (ICOM) with Oracle Database 11g Semantic Technologies Zhe Wu Ramesh Vasudevan Eric S. Chan Oracle Deirdre Lee, Laura Dragan DERI A Presentation
Semantic and Data Mining Technologies. Simon See, Ph.D.,
Semantic and Data Mining Technologies Simon See, Ph.D., Introduction to Semantic Web and Business Use Cases 2 Lots of Scientific Resources NAR 2009 over 1170 databases Reuse, Recycling, Repurposing Paul
Semantic Data Management. Xavier Lopez, Ph.D., Director, Spatial & Semantic Technologies
Semantic Data Management Xavier Lopez, Ph.D., Director, Spatial & Semantic Technologies 1 Enterprise Information Challenge Source: Oracle customer 2 Vision of Semantically Linked Data The Network of Collaborative
Graph Database Performance: An Oracle Perspective
Graph Database Performance: An Oracle Perspective Xavier Lopez, Ph.D. Senior Director, Product Management 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda Broad Perspective
Mining Big Data with RDF Graph Technology:
Mining Big Data with RDF Graph Technology: Xavier Lopez, Ph.D. Director, Product Mgmt. Zhe Wu, Ph.D. Consulting Member Technical Staff 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.
Semantic Stored Procedures Programming Environment and performance analysis
Semantic Stored Procedures Programming Environment and performance analysis Marjan Efremov 1, Vladimir Zdraveski 2, Petar Ristoski 2, Dimitar Trajanov 2 1 Open Mind Solutions Skopje, bul. Kliment Ohridski
RDF Support in Oracle Oracle USA Inc.
RDF Support in Oracle Oracle USA Inc. 1. Introduction Resource Description Framework (RDF) is a standard for representing information that can be identified using a Universal Resource Identifier (URI).
How To Use An Orgode Database With A Graph Graph (Robert Kramer)
RDF Graph Database per Linked Data Next Generation Open Data, come sfruttare l innovazione tecnologica per creare nuovi scenari e nuove opportunità. [email protected] 1 Copyright 2011, Oracle
Oracle Spatial and Graph
Oracle Spatial and Graph Overview of New Graph Features "THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO
Introduction to Ontologies
Technological challenges Introduction to Ontologies Combining relational databases and ontologies Author : Marc Lieber Date : 21-Jan-2014 BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR.
Semantic Modeling with RDF. DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo
DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo Expected Outcomes You will learn: Basic concepts related to ontologies Semantic model Semantic web Basic features of RDF and RDF
Geospatial Platforms For Enabling Workflows
Geospatial Platforms For Enabling Workflows Steven Hagan Vice President Oracle Database Server Technologies November, 2015 Evolution of Enabling Workflows HENRY FORD 100 YEARS AGO Industrialized the Manufacturing
Geospatial Technology Innovations and Convergence
Geospatial Technology Innovations and Convergence Processing Big and Fast Data: Best with a Multi-Model Database Steven Hagan Vice President Oracle Database Server Technologies August, 2015 Data Volume
K@ A collaborative platform for knowledge management
White Paper K@ A collaborative platform for knowledge management Quinary SpA www.quinary.com via Pietrasanta 14 20141 Milano Italia t +39 02 3090 1500 f +39 02 3090 1501 Copyright 2004 Quinary SpA Index
Big Data for Official Statistics Processing Big and Fast Data Optimizing Results with a Multi-Model Database
Big Data for Official Statistics Processing Big and Fast Data Optimizing Results with a Multi-Model Database Steven Hagan Vice President Oracle Database Server Technologies October, 2015 Global Digital
Geospatial Platforms For Enabling Workflows
Geospatial Platforms For Enabling Workflows Steven Hagan Vice President Oracle Database Server Technologies May, 2015 Evolution of Enabling Workflows HENRY FORD 100 YEARS AGO Industrialized the Manufacturing
Big Data, Cloud Computing, Spatial Databases Steven Hagan Vice President Server Technologies
Big Data, Cloud Computing, Spatial Databases Steven Hagan Vice President Server Technologies Big Data: Global Digital Data Growth Growing leaps and bounds by 40+% Year over Year! 2009 =.8 Zetabytes =.08
An Ontological Approach to Oracle BPM
An Ontological Approach to Oracle BPM Jean Prater, Ralf Mueller, Bill Beauregard Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065, USA [email protected], [email protected], [email protected]
Design and Implementation of a Semantic Web Solution for Real-time Reservoir Management
Design and Implementation of a Semantic Web Solution for Real-time Reservoir Management Ram Soma 2, Amol Bakshi 1, Kanwal Gupta 3, Will Da Sie 2, Viktor Prasanna 1 1 University of Southern California,
Semantic Web Success Story
Semantic Web Success Story Practical Integration of Semantic Web Technology Chris Chaulk, Software Architect EMC Corporation 1 Who is this guy? Software Architect at EMC 12 years, Storage Management Software
BUSINESS VALUE OF SEMANTIC TECHNOLOGY
BUSINESS VALUE OF SEMANTIC TECHNOLOGY Preliminary Findings Industry Advisory Council Emerging Technology (ET) SIG Information Sharing & Collaboration Committee July 15, 2005 Mills Davis Managing Director
Oracle Warehouse Builder 10g
Oracle Warehouse Builder 10g Architectural White paper February 2004 Table of contents INTRODUCTION... 3 OVERVIEW... 4 THE DESIGN COMPONENT... 4 THE RUNTIME COMPONENT... 5 THE DESIGN ARCHITECTURE... 6
Smart Cities require Geospatial Data Providing services to citizens, enterprises, visitors...
Cloud-based Spatial Data Infrastructures for Smart Cities Geospatial World Forum 2015 Hans Viehmann Product Manager EMEA ORACLE Corporation Smart Cities require Geospatial Data Providing services to citizens,
Comparison of Triple Stores
Comparison of Triple Stores Abstract In this report we present evaluation of triple stores. We present load times and discuss the inferencing capabilities of Jena SDB backed with MySQL, Sesame native,
Performance Analysis, Data Sharing, Tools Integration: New Approach based on Ontology
Performance Analysis, Data Sharing, Tools Integration: New Approach based on Ontology Hong-Linh Truong Institute for Software Science, University of Vienna, Austria [email protected] Thomas Fahringer
<Insert Picture Here> Extending Hyperion BI with the Oracle BI Server
Extending Hyperion BI with the Oracle BI Server Mark Ostroff Sr. BI Solutions Consultant Agenda Hyperion BI versus Hyperion BI with OBI Server Benefits of using Hyperion BI with the
Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier
Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier Simon Law TimesTen Product Manager, Oracle Meet The Experts: Andy Yao TimesTen Product Manager, Oracle Gagan Singh Senior
ORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
DBMS / Business Intelligence, SQL Server
DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.
Oracle Data Miner (Extension of SQL Developer 4.0)
An Oracle White Paper October 2013 Oracle Data Miner (Extension of SQL Developer 4.0) Generate a PL/SQL script for workflow deployment Denny Wong Oracle Data Mining Technologies 10 Van de Graff Drive Burlington,
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
Semantic Interoperability
Ivan Herman Semantic Interoperability Olle Olsson Swedish W3C Office Swedish Institute of Computer Science (SICS) Stockholm Apr 27 2011 (2) Background Stockholm Apr 27, 2011 (2) Trends: from
ORACLE OLAP. Oracle OLAP is embedded in the Oracle Database kernel and runs in the same database process
ORACLE OLAP KEY FEATURES AND BENEFITS FAST ANSWERS TO TOUGH QUESTIONS EASILY KEY FEATURES & BENEFITS World class analytic engine Superior query performance Simple SQL access to advanced analytics Enhanced
E6895 Advanced Big Data Analytics Lecture 4:! Data Store
E6895 Advanced Big Data Analytics Lecture 4:! Data Store Ching-Yung Lin, Ph.D. Adjunct Professor, Dept. of Electrical Engineering and Computer Science Mgr., Dept. of Network Science and Big Data Analytics,
Oracle 10g PL/SQL Training
Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural
Oracle Database 12c Plug In. Switch On. Get SMART.
Oracle Database 12c Plug In. Switch On. Get SMART. Duncan Harvey Head of Core Technology, Oracle EMEA March 2015 Safe Harbor Statement The following is intended to outline our general product direction.
Publishing Linked Data Requires More than Just Using a Tool
Publishing Linked Data Requires More than Just Using a Tool G. Atemezing 1, F. Gandon 2, G. Kepeklian 3, F. Scharffe 4, R. Troncy 1, B. Vatant 5, S. Villata 2 1 EURECOM, 2 Inria, 3 Atos Origin, 4 LIRMM,
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1 Mark Rittman, Director, Rittman Mead Consulting for Collaborate 09, Florida, USA,
Visualizing Large-Scale RDF Data Using Subsets, Summaries, and Sampling in Oracle
Visualizing Large-Scale RDF Data Using Subsets, Summaries, and Sampling in Oracle Seema Sundara, Medha Atre #+, Vladimir Kolovski, Souripriya Das, Zhe Wu, Eugene Inseok Chong, Jagannathan Srinivasan Oracle
AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014
AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014 Career Details Duration 105 hours Prerequisites This career requires that you meet the following prerequisites: Working knowledge
Oracle Database 12c: Introduction to SQL Ed 1.1
Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,
Databases for 3D Data Management: From Point Cloud to City Model
Databases for 3D Data Management: From Point Cloud to City Model Xavier Lopez, Ph.D. Senior Director, Spatial and Graph Technologies Oracle Program Agenda Approach: Spatially-enable the Enterprise Oracle
<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features
1 Oracle SQL Developer 3.0: Overview and New Features Sue Harper Senior Principal Product Manager The following is intended to outline our general product direction. It is intended
An Oracle White Paper February 2009. Managing Unstructured Data with Oracle Database 11g
An Oracle White Paper February 2009 Managing Unstructured Data with Oracle Database 11g Introduction The vast majority of the information used by corporations, enterprises, and other organizations is referred
LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model
LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model 22 October 2014 Tony Hammond Michele Pasin Background About Macmillan
news from Tom Bacon about Monday's lecture
ECRIC news from Tom Bacon about Monday's lecture I won't be at the lecture on Monday due to the work swamp. The plan is still to try and get into the data centre in two weeks time and do the next migration,
Scalable End-User Access to Big Data http://www.optique-project.eu/ HELLENIC REPUBLIC National and Kapodistrian University of Athens
Scalable End-User Access to Big Data http://www.optique-project.eu/ HELLENIC REPUBLIC National and Kapodistrian University of Athens 1 Optique: Improving the competitiveness of European industry For many
Deploying a Geospatial Cloud
Deploying a Geospatial Cloud Traditional Public Sector Computing Environment Traditional Computing Infrastructure Silos of dedicated hardware and software Single application per silo Expensive to size
ABSTRACT 1. INTRODUCTION. Kamil Bajda-Pawlikowski [email protected]
Kamil Bajda-Pawlikowski [email protected] Querying RDF data stored in DBMS: SPARQL to SQL Conversion Yale University technical report #1409 ABSTRACT This paper discusses the design and implementation
Oracle Database 11g Comparison Chart
Key Feature Summary Express 10g Standard One Standard Enterprise Maximum 1 CPU 2 Sockets 4 Sockets No Limit RAM 1GB OS Max OS Max OS Max Database Size 4GB No Limit No Limit No Limit Windows Linux Unix
SPARQL UniProt.RDF. Get these slides! Tutorial plan. Everyone has had some introduction slash knowledge of RDF.
SPARQL UniProt.RDF Everyone has had some introduction slash knowledge of RDF. Jerven Bolleman Developer Swiss-Prot Group Swiss Institute of Bioinformatics Get these slides! https://sites.google.com/a/jerven.eu/jerven/home/
MDM and Data Warehousing Complement Each Other
Master Management MDM and Warehousing Complement Each Other Greater business value from both 2011 IBM Corporation Executive Summary Master Management (MDM) and Warehousing (DW) complement each other There
D B M G Data Base and Data Mining Group of Politecnico di Torino
Database Management Data Base and Data Mining Group of [email protected] A.A. 2014-2015 Optimizer objective A SQL statement can be executed in many different ways The query optimizer determines
Big Data, Fast Data, Complex Data. Jans Aasman Franz Inc
Big Data, Fast Data, Complex Data Jans Aasman Franz Inc Private, founded 1984 AI, Semantic Technology, professional services Now in Oakland Franz Inc Who We Are (1 (2 3) (4 5) (6 7) (8 9) (10 11) (12
Oracle Graph: Graph Features of Oracle Database
Oracle Graph: Graph Features of Oracle Database 12c Zhe Wu [email protected] Ph.D., Architect Oracle Spatial & Graph Feb, 2014 The following is intended to outline our general product direction. It is
Integrating Open Sources and Relational Data with SPARQL
Integrating Open Sources and Relational Data with SPARQL Orri Erling and Ivan Mikhailov OpenLink Software, 10 Burlington Mall Road Suite 265 Burlington, MA 01803 U.S.A, {oerling,imikhailov}@openlinksw.com,
DISCOVERING RESUME INFORMATION USING LINKED DATA
DISCOVERING RESUME INFORMATION USING LINKED DATA Ujjal Marjit 1, Kumar Sharma 2 and Utpal Biswas 3 1 C.I.R.M, University Kalyani, Kalyani (West Bengal) India [email protected] 2 Department of Computer
Network Graph Databases, RDF, SPARQL, and SNA
Network Graph Databases, RDF, SPARQL, and SNA NoCOUG Summer Conference August 16 2012 at Chevron in San Ramon, CA David Abercrombie Data Analytics Engineer, Tapjoy [email protected] About me
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
Relational Databases for the Business Analyst
Relational Databases for the Business Analyst Mark Kurtz Sr. Systems Consulting Quest Software, Inc. [email protected] 2010 Quest Software, Inc. ALL RIGHTS RESERVED Agenda The RDBMS and its role in
Big Data Analytics Platform @ Nokia
Big Data Analytics Platform @ Nokia 1 Selecting the Right Tool for the Right Workload Yekesa Kosuru Nokia Location & Commerce Strata + Hadoop World NY - Oct 25, 2012 Agenda Big Data Analytics Platform
A generic approach for data integration using RDF, OWL and XML
A generic approach for data integration using RDF, OWL and XML Miguel A. Macias-Garcia, Victor J. Sosa-Sosa, and Ivan Lopez-Arevalo Laboratory of Information Technology (LTI) CINVESTAV-TAMAULIPAS Km 6
Revealing Trends and Insights in Online Hiring Market Using Linking Open Data Cloud: Active Hiring a Use Case Study
Revealing Trends and Insights in Online Hiring Market Using Linking Open Data Cloud: Active Hiring a Use Case Study Amar-Djalil Mezaour 1, Julien Law-To 1, Robert Isele 3, Thomas Schandl 2, and Gerd Zechmeister
Oracle Database: Program with PL/SQL
Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and then explores the benefits of this
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Oracle Advanced Analytics 12c & SQLDEV/Oracle Data Miner 4.0 New Features
Oracle Advanced Analytics 12c & SQLDEV/Oracle Data Miner 4.0 New Features Charlie Berger, MS Eng, MBA Sr. Director Product Management, Data Mining and Advanced Analytics [email protected] www.twitter.com/charliedatamine
Data Integration and ETL with Oracle Warehouse Builder: Part 1
Oracle University Contact Us: + 38516306373 Data Integration and ETL with Oracle Warehouse Builder: Part 1 Duration: 3 Days What you will learn This Data Integration and ETL with Oracle Warehouse Builder:
Ontology based ranking of documents using Graph Databases: a Big Data Approach
Ontology based ranking of documents using Graph Databases: a Big Data Approach A.M.Abirami Dept. of Information Technology Thiagarajar College of Engineering Madurai, Tamil Nadu, India Dr.A.Askarunisa
Benchmarking the Performance of Storage Systems that expose SPARQL Endpoints
Benchmarking the Performance of Storage Systems that expose SPARQL Endpoints Christian Bizer 1 and Andreas Schultz 1 1 Freie Universität Berlin, Web-based Systems Group, Garystr. 21, 14195 Berlin, Germany
MOC 20461C: Querying Microsoft SQL Server. Course Overview
MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server
LDIF - Linked Data Integration Framework
LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany [email protected],
SAP InfiniteInsight Explorer Analytical Data Management v7.0
End User Documentation Document Version: 1.0-2014-11 SAP InfiniteInsight Explorer Analytical Data Management v7.0 User Guide CUSTOMER Table of Contents 1 Welcome to this Guide... 3 1.1 What this Document
Oracle Data Integrator 11g New Features & OBIEE Integration. Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect
Oracle Data Integrator 11g New Features & OBIEE Integration Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect Agenda 01. Overview & The Architecture 02. New Features Productivity,
Course ID#: 1401-801-14-W 35 Hrs. Course Content
Course Content Course Description: This 5-day instructor led course provides students with the technical skills required to write basic Transact- SQL queries for Microsoft SQL Server 2014. This course
Accelerate Data Loading for Big Data Analytics Attunity Click-2-Load for HP Vertica
Accelerate Data Loading for Big Data Analytics Attunity Click-2-Load for HP Vertica Menachem Brouk, Regional Director - EMEA Agenda» Attunity update» Solutions for : 1. Big Data Analytics 2. Live Reporting
The basic data mining algorithms introduced may be enhanced in a number of ways.
DATA MINING TECHNOLOGIES AND IMPLEMENTATIONS The basic data mining algorithms introduced may be enhanced in a number of ways. Data mining algorithms have traditionally assumed data is memory resident,
Ganzheitliches Datenmanagement
Ganzheitliches Datenmanagement für Hadoop Michael Kohs, Senior Sales Consultant @mikchaos The Problem with Big Data Projects in 2016 Relational, Mainframe Documents and Emails Data Modeler Data Scientist
Distributed Computing and Big Data: Hadoop and MapReduce
Distributed Computing and Big Data: Hadoop and MapReduce Bill Keenan, Director Terry Heinze, Architect Thomson Reuters Research & Development Agenda R&D Overview Hadoop and MapReduce Overview Use Case:
Comparing SQL and NOSQL databases
COSC 6397 Big Data Analytics Data Formats (II) HBase Edgar Gabriel Spring 2015 Comparing SQL and NOSQL databases Types Development History Data Storage Model SQL One type (SQL database) with minor variations
RDF y SPARQL: Dos componentes básicos para la Web de datos
RDF y SPARQL: Dos componentes básicos para la Web de datos Marcelo Arenas PUC Chile & University of Oxford M. Arenas RDF y SPARQL: Dos componentes básicos para la Web de datos Valladolid 2013 1 / 61 Semantic
Department of Defense. Enterprise Information Warehouse/Web (EIW) Using standards to Federate and Integrate Domains at DOD
Department of Defense Human Resources - Enterprise Information Warehouse/Web (EIW) Using standards to Federate and Integrate Domains at DOD Federation Defined Members of a federation agree to certain standards
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
Experiences from a Large Scale Ontology-Based Application Development
Experiences from a Large Scale Ontology-Based Application Development Ontology Summit 2012 David Price, TopQuadrant Copyright 2012 TopQuadrant Inc 1 Agenda Customer slides explaining EPIM ReportingHub
The Ontological Approach for SIEM Data Repository
The Ontological Approach for SIEM Data Repository Igor Kotenko, Olga Polubelova, and Igor Saenko Laboratory of Computer Science Problems, Saint-Petersburg Institute for Information and Automation of Russian
Data Modeling in the Age of Big Data
Data Modeling in the Age of Big Data Pete Stiglich Pete Stiglich is a principal at Clarity Solution Group. [email protected] Abstract With big data adoption accelerating and strong interest in NoSQL
Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc.
Oracle BI EE Implementation on Netezza Prepared by SureShot Strategies, Inc. The goal of this paper is to give an insight to Netezza architecture and implementation experience to strategize Oracle BI EE
<Insert Picture Here> Oracle In-Memory Database Cache Overview
Oracle In-Memory Database Cache Overview Simon Law Product Manager The following is intended to outline our general product direction. It is intended for information purposes only,
