Table of Contents
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
-
Changes in This Release for Oracle Spatial and Graph RDF Semantic Graph Developer's Guide
- Changes in Oracle Database Release 18.1
-
Changes in Oracle Database 12c Release 2 (12.2)
- Required: Migrate Existing Semantic Data
- SPARQL Update Operations on a Semantic Model
- RDF ORDER BY Query Enhancement and Option
- Integration with Property Graph Data Stored in Oracle Database
- SEM_APIS.SPARQL_TO_SQL Function
- New SPARQL Query Functions
- Enhanced GeoSPARQL Support
- Support for Flashback Query
- Desupport for Workspace Manager and Virtual Private Database with RDF
- Changes in Oracle Database 12c Release 1 (12.1.0.2)
- Changes in Oracle Database 12c Release 1 (12.1.0.1)
-
Changes for RDF Semantic Graph Support for Apache Jena
- Support for Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results
- Protege Plugin for Oracle Database
- Support for Customized Data Source Name
- Support for SPARQL Queries with Translated SQL Text Larger Than 29000 Bytes
- Support for Oracle Database in Read-Only Mode
- Less Verbose Joseki Output
- Java APIs for Managing the Table Responsible for Terminating Long-Running SPARQL Queries
- Support for Apache Tomcat and JBoss Application Server
- Support for Fuseki 1.0.1
-
Part I Conceptual and Usage Information
-
1
RDF Semantic Graph Overview
- 1.1 Introduction to Oracle Semantic Technologies Support
- 1.2 Semantic Data Modeling
- 1.3 Semantic Data in the Database
- 1.4 Semantic Metadata Tables and Views
- 1.5 Semantic Data Types, Constructors, and Methods
-
1.6
Using the SEM_MATCH Table Function to Query Semantic Data
- 1.6.1 Performing Queries with Incomplete or Invalid Entailments
- 1.6.2 Graph Patterns: Support for Curly Brace Syntax, and OPTIONAL, FILTER, UNION, and GRAPH Keywords
- 1.6.3 Graph Patterns: Support for SPARQL ASK Syntax
- 1.6.4 Graph Patterns: Support for SPARQL CONSTRUCT Syntax
- 1.6.5 Graph Patterns: Support for SPARQL DESCRIBE Syntax
- 1.6.6 Graph Patterns: Support for SPARQL SELECT Syntax
- 1.6.7 Graph Patterns: Support for SPARQL 1.1 Constructs
- 1.6.8 Graph Patterns: Support for SPARQL 1.1 Federated Query
- 1.6.9 Inline Query Optimizer Hints
- 1.6.10 Full-Text Search
- 1.6.11 Spatial Support
- 1.6.12 Flashback Query Support
-
1.6.13
Best Practices for Query Performance
- 1.6.13.1 FILTER Constructs Involving xsd:dateTime, xsd:date, and xsd:time
- 1.6.13.2 Function-Based Indexes for FILTER Constructs Involving Typed Literals
- 1.6.13.3 FILTER Constructs Involving Relational Expressions
- 1.6.13.4 Optimizer Statistics and Dynamic Sampling
- 1.6.13.5 Multi-Partition Queries
- 1.6.13.6 Compression on Systems with OLTP Index Compression
- 1.6.13.7 Unbounded Property Path Expressions
- 1.6.13.8 Nested Loop Pushdown for Property Paths
- 1.6.13.9 Grouping and Aggregation
- 1.6.13.10 Use of Bind Variables to Reduce Compilation Time
- 1.6.13.11 Non-Null Expression Hints
- 1.6.14 Special Considerations When Using SEM_MATCH
- 1.7 Using the SEM_APIS.SPARQL_TO_SQL Function to Query Semantic Data
-
1.8
Loading and Exporting Semantic Data
- 1.8.1 Bulk Loading Semantic Data Using a Staging Table
- 1.8.2 Batch Loading N-Triple Format Semantic Data Using the Java API
- 1.8.3 Loading Semantic Data Using INSERT Statements
- 1.8.4 Exporting Semantic Data
- 1.8.5 Exporting or Importing a Semantic Network Using Oracle Data Pump
- 1.8.6 Purging Unused Values
- 1.9 Using Semantic Network Indexes
- 1.10 Using Data Type Indexes
-
1.11
Managing Statistics for Semantic Models and the Semantic Network
- 1.11.1 Saving Statistics at a Model Level
- 1.11.2 Restoring Statistics at a Model Level
- 1.11.3 Saving Statistics at the Network Level
- 1.11.4 Dropping Extended Statistics at the Network Level
- 1.11.5 Restoring Statistics at the Network Level
- 1.11.6 Setting Statistics at a Model Level
- 1.11.7 Deleting Statistics at a Model Level
-
1.12
Support for SPARQL Update Operations on a Semantic Model
- 1.12.1 Tuning the Performance of SPARQL Update Operations
- 1.12.2 Transaction Management with SPARQL Update Operations
- 1.12.3 Support for Bulk Operations
- 1.12.4 Setting UPDATE_MODEL Options at the Session Level
- 1.12.5 Load Operations: Special Considerations for SPARQL Update
- 1.12.6 Long Literals: Special Considerations for SPARQL Update
- 1.12.7 Blank Nodes: Special Considerations for SPARQL Update
- 1.13 RDF Support for Oracle Database In-Memory
- 1.14 RDF Support in SQL Developer
- 1.15 Enhanced RDF ORDER BY Query Processing
- 1.16 Quick Start for Using Semantic Data
- 1.17 Semantic Data Examples (PL/SQL and Java)
- 1.18 Software Naming Changes Since Release 11.1
- 1.19 For More Information About RDF Semantic Graph
- 1.20 Required Migration of Pre-12.2 Semantic Data
-
2
OWL Concepts
- 2.1 Ontologies
-
2.2
Using OWL Inferencing
- 2.2.1 Creating a Simple OWL Ontology
- 2.2.2 Performing Native OWL inferencing
- 2.2.3 Performing OWL and User-Defined Rules Inferencing
- 2.2.4 Generating OWL inferencing Proofs
- 2.2.5 Validating OWL Models and Entailments
- 2.2.6 Using SEM_APIS.CREATE_ENTAILMENT for RDFS Inference
- 2.2.7 Enhancing Inference Performance
- 2.2.8 Optimizing owl:sameAs Inference
- 2.2.9 Performing Incremental Inference
- 2.2.10 Using Parallel Inference
- 2.2.11 Using Named Graph Based Inferencing (Global and Local)
- 2.2.12 Performing Selective Inferencing (Advanced Information)
- 2.3 Using Semantic Operators to Query Relational Data
- 3 Simple Knowledge Organization System (SKOS) Support
-
4
Semantic Indexing for Documents
- 4.1 Information Extractors for Semantically Indexing Documents
- 4.2 Extractor Policies
- 4.3 Semantically Indexing Documents
- 4.4 SEM_CONTAINS and Ancillary Operators
- 4.5 Searching for Documents Using SPARQL Query Patterns
- 4.6 Bindings for SPARQL Variables in Matching Subgraphs in a Document (SEM_CONTAINS_SELECT Ancillary Operator)
- 4.7 Improving the Quality of Document Search Operations
- 4.8 Indexing External Documents
- 4.9 Configuring the Calais Extractor type
- 4.10 Working with General Architecture for Text Engineering (GATE)
- 4.11 Creating a New Extractor Type
- 4.12 Creating a Local Semantic Index on a Range-Partitioned Table
- 4.13 Altering a Semantic Index
- 4.14 Passing Extractor-Specific Parameters in CREATE INDEX and ALTER INDEX
- 4.15 Performing Document-Centric Inference
- 4.16 Metadata Views for Semantic Indexing
- 4.17 Default Style Sheet for GATE Extractor Output
- 5 Fine-Grained Access Control for RDF Data
-
6
RDF Semantic Graph Support for Apache Jena
- 6.1 Setting Up the Software Environment
- 6.2 Setting Up the SPARQL Service
- 6.3 Setting Up a Dynamic SPARQL Endpoint
- 6.4 Adding Cross-Site Request Forgery (CSRF) Protection to the Joseki Servlet
- 6.5 Setting Up the RDF Semantic Graph Environment
- 6.6 SEM_MATCH and RDF Semantic Graph Support for Apache Jena Queries Compared
- 6.7 Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results
- 6.8 Optimized Handling of SPARQL Queries
- 6.9 Additions to the SPARQL Syntax to Support Other Features
- 6.10 Functions Supported in SPARQL Queries through RDF Semantic Graph Support for Apache Jena
- 6.11 SPARQL Update Support
- 6.12 Analytical Functions for RDF Data
- 6.13 Support for Server-Side APIs
- 6.14 Bulk Loading Using RDF Semantic Graph Support for Apache Jena
- 6.15 Automatic Variable Renaming
- 6.16 JavaScript Object Notation (JSON) Format Support
- 6.17 Other Recommendations and Guidelines
-
6.18
Example Queries Using RDF Semantic Graph Support for Apache Jena
- 6.18.1 Test.java: Query Family Relationships
- 6.18.2 Test6.java: Load OWL Ontology and Perform OWLPrime inference
- 6.18.3 Test7.java: Bulk Load OWL Ontology and Perform OWLPrime inference
- 6.18.4 Test8.java: SPARQL OPTIONAL Query
- 6.18.5 Test9.java: SPARQL Query with LIMIT and OFFSET
- 6.18.6 Test10.java: SPARQL Query with TIMEOUT and DOP
- 6.18.7 Test11.java: Query Involving Named Graphs
- 6.18.8 Test12.java: SPARQL ASK Query
- 6.18.9 Test13.java: SPARQL DESCRIBE Query
- 6.18.10 Test14.java: SPARQL CONSTRUCT Query
- 6.18.11 Test15.java: Query Multiple Models and Specify "Allow Duplicates"
- 6.18.12 Test16.java: SPARQL Update
- 6.18.13 Test17.java: SPARQL Query with ARQ Built-In Functions
- 6.18.14 Test18.java: SELECT Cast Query
- 6.18.15 Test19.java: Instantiate Oracle Database Using OracleConnection
- 6.18.16 Test20.java: Oracle Database Connection Pooling
-
6.19
SPARQL Gateway and Semantic Data
- 6.19.1 SPARQL Gateway Features and Benefits Overview
-
6.19.2
Installing and Configuring SPARQL Gateway
- 6.19.2.1 Download the RDF Semantic Graph Support for Apache Jena .zip File (if Not Already Done)
- 6.19.2.2 Deploy SPARQL Gateway in WebLogic Server
- 6.19.2.3 Modify Proxy Settings, if Necessary
- 6.19.2.4 Configure the OracleSGDS Data Source, if Necessary
- 6.19.2.5 Add and Configure the SparqlGatewayAdminGroup Group, if Desired
- 6.19.3 Using SPARQL Gateway with Semantic Data
- 6.19.4 Customizing the Default XSLT File
- 6.19.5 Using the SPARQL Gateway Java API
- 6.19.6 Using the SPARQL Gateway Graphical Web Interface
- 6.19.7 Using SPARQL Gateway as an XML Data Source to OBIEE
- 6.20 Deploying Joseki in Apache Tomcat or JBoss
-
7
RDF Semantic Graph Support for Eclipse RDF4J
- 7.1 Oracle RDF Graph Support for Eclipse RDF4J Overview
- 7.2 Prerequisites for Using Oracle RDF Graph Adapter for Eclipse RDF4J
- 7.3 Setup and Configuration for Using Oracle RDF Graph Adapter for Eclipse RDF4J
- 7.4 Database Connection Management
- 7.5 SPARQL Query Execution Model
- 7.6 SPARQL Update Execution Model
- 7.7 Efficiently Loading RDF Data
- 7.8 Best Practices for Oracle RDF Graph Adapter for Eclipse RDF4J
- 7.9 Blank Nodes Support in Oracle RDF Graph Adapter for Eclipse RDF4J
- 7.10 Unsupported Features in Oracle RDF Graph Adapter for Eclipse RDF4J
-
7.11
Example Queries Using Oracle RDF Graph Adapter for Eclipse RDF4J
- 7.11.1 Example 1: Basic Operations
- 7.11.2 Example 2: Add a Data File in TRIG Format
- 7.11.3 Example 3: Simple Query
- 7.11.4 Example 4: Simple Bulk Load
- 7.11.5 Example 5: Bulk Load RDF/XML
- 7.11.6 Example 6: SPARQL Ask Query
- 7.11.7 Example 7: SPARQL CONSTRUCT Query
- 7.11.8 Example 8: Named Graph Query
- 7.11.9 Example 9: Get COUNT of Matches
- 7.11.10 Example 10: Specify Bind Variable for Constant in Query Pattern
- 7.11.11 Example 11: SPARQL Update
- 7.11.12 Example 12: Oracle Hint
- 7.11.13 Example 13: Using JDBC Bind Values
- 7.11.14 Example 14: Simple Inference
- 7.11.15 Example 15: Simple Virtual Model
-
8
User-Defined Inferencing and Querying
-
8.1
User-Defined Inferencing
- 8.1.1 Problem Solved and Benefit Provided by User-Defined Inferencing
- 8.1.2 API Support for User-Defined Inferencing
- 8.1.3 User-Defined Inference Extension Function Examples
- 8.2 User-Defined Functions and Aggregates
-
8.1
User-Defined Inferencing
- 9 RDF Views: Relational Data as RDF
- 10 RDF Integration with Property Graph Data Stored in Oracle Database
-
1
RDF Semantic Graph Overview
-
Part II Reference and Supplementary Information
-
11
SEM_APIS Package Subprograms
- 11.1 SEM_APIS.ADD_DATATYPE_INDEX
- 11.2 SEM_APIS.ADD_SEM_INDEX
- 11.3 SEM_APIS.ALTER_DATATYPE_INDEX
- 11.4 SEM_APIS.ALTER_ENTAILMENT
- 11.5 SEM_APIS.ALTER_MODEL
- 11.6 SEM_APIS.ALTER_SEM_INDEX_ON_ENTAILMENT
- 11.7 SEM_APIS.ALTER_SEM_INDEX_ON_MODEL
- 11.8 SEM_APIS.ALTER_SEM_INDEXES
- 11.9 SEM_APIS.ANALYZE_ENTAILMENT
- 11.10 SEM_APIS.ANALYZE_MODEL
- 11.11 SEM_APIS.BUILD_PG_RDFVIEW_INDEXES
- 11.12 SEM_APIS.BULK_LOAD_FROM_STAGING_TABLE
- 11.13 SEM_APIS.CLEANUP_BNODES
- 11.14 SEM_APIS.CLEANUP_FAILED
- 11.15 SEM_APIS.COMPOSE_RDF_TERM
- 11.16 SEM_APIS.CONVERT_TO_GML311_LITERAL
- 11.17 SEM_APIS.CONVERT_TO_WKT_LITERAL
- 11.18 SEM_APIS.CREATE_ENTAILMENT
- 11.19 SEM_APIS.CREATE_PG_RDFVIEW
- 11.20 SEM_APIS.CREATE_RDFVIEW_MODEL
- 11.21 SEM_APIS.CREATE_RULEBASE
- 11.22 SEM_APIS.CREATE_SEM_MODEL
- 11.23 SEM_APIS.CREATE_SEM_NETWORK
- 11.24 SEM_APIS.CREATE_SOURCE_EXTERNAL_TABLE
- 11.25 SEM_APIS.CREATE_SPARQL_UPDATE_TABLES
- 11.26 SEM_APIS.CREATE_VIRTUAL_MODEL
- 11.27 SEM_APIS.DELETE_ENTAILMENT_STATS
- 11.28 SEM_APIS.DELETE_MODEL_STATS
- 11.29 SEM_APIS.DISABLE_CHANGE_TRACKING
- 11.30 SEM_APIS.DISABLE_INC_INFERENCE
- 11.31 SEM_APIS.DISABLE_INMEMORY
- 11.32 SEM_APIS.DROP_DATATYPE_INDEX
- 11.33 SEM_APIS.DROP_ENTAILMENT
- 11.34 SEM_APIS.DROP_PG_RDFVIEW
- 11.35 SEM_APIS.DROP_PG_RDFVIEW_INDEXES
- 11.36 SEM_APIS.DROP_RDFVIEW_MODEL
- 11.37 SEM_APIS.DROP_RULEBASE
- 11.38 SEM_APIS.DROP_SEM_INDEX
- 11.39 SEM_APIS.DROP_SEM_MODEL
- 11.40 SEM_APIS.DROP_SEM_NETWORK
- 11.41 SEM_APIS.DROP_SPARQL_UPDATE_TABLES
- 11.42 SEM_APIS.DROP_USER_INFERENCE_OBJS
- 11.43 SEM_APIS.DROP_VIRTUAL_MODEL
- 11.44 SEM_APIS.ENABLE_CHANGE_TRACKING
- 11.45 SEM_APIS.ENABLE_INC_INFERENCE
- 11.46 SEM_APIS.ENABLE_INMEMORY
- 11.47 SEM_APIS.ESCAPE_CLOB_TERM
- 11.48 SEM_APIS.ESCAPE_CLOB_VALUE
- 11.49 SEM_APIS.ESCAPE_RDF_TERM
- 11.50 SEM_APIS.ESCAPE_RDF_VALUE
- 11.51 SEM_APIS.EXPORT_ENTAILMENT_STATS
- 11.52 SEM_APIS.EXPORT_MODEL_STATS
- 11.53 SEM_APIS.EXPORT_RDFVIEW_MODEL
- 11.54 SEM_APIS.GET_CHANGE_TRACKING_INFO
- 11.55 SEM_APIS.GET_INC_INF_INFO
- 11.56 SEM_APIS.GET_MODEL_ID
- 11.57 SEM_APIS.GET_MODEL_NAME
- 11.58 SEM_APIS.GET_TRIPLE_ID
- 11.59 SEM_APIS.GETV$DATETIMETZVAL
- 11.60 SEM_APIS.GETV$DATETZVAL
- 11.61 SEM_APIS.GETV$GEOMETRYVAL
- 11.62 SEM_APIS.GETV$NUMERICVAL
- 11.63 SEM_APIS.GETV$STRINGVAL
- 11.64 SEM_APIS.GETV$TIMETZVAL
- 11.65 SEM_APIS.IMPORT_ENTAILMENT_STATS
- 11.66 SEM_APIS.IMPORT_MODEL_STATS
- 11.67 SEM_APIS.IS_TRIPLE
- 11.68 SEM_APIS.LOAD_INTO_STAGING_TABLE
- 11.69 SEM_APIS.LOOKUP_ENTAILMENT
- 11.70 SEM_APIS.MERGE_MODELS
- 11.71 SEM_APIS.MIGRATE_DATA_TO_CURRENT
- 11.72 SEM_APIS.PRIVILEGE_ON_APP_TABLES
- 11.73 SEM_APIS.PURGE_UNUSED_VALUES
- 11.74 SEM_APIS.REFRESH_SEM_NETWORK_INDEX_INFO
- 11.75 SEM_APIS.REMOVE_DUPLICATES
- 11.76 SEM_APIS.RENAME_ENTAILMENT
- 11.77 SEM_APIS.RENAME_MODEL
- 11.78 SEM_APIS.RES2VID
- 11.79 SEM_APIS.SET_ENTAILMENT_STATS
- 11.80 SEM_APIS.SET_MODEL_STATS
- 11.81 SEM_APIS.SPARQL_TO_SQL
- 11.82 SEM_APIS.SWAP_NAMES
- 11.83 SEM_APIS.UNESCAPE_CLOB_TERM
- 11.84 SEM_APIS.UNESCAPE_CLOB_VALUE
- 11.85 SEM_APIS.UNESCAPE_RDF_TERM
- 11.86 SEM_APIS.UNESCAPE_RDF_VALUE
- 11.87 SEM_APIS.UPDATE_MODEL
- 11.88 SEM_APIS.VALIDATE_ENTAILMENT
- 11.89 SEM_APIS.VALIDATE_GEOMETRIES
- 11.90 SEM_APIS.VALIDATE_MODEL
- 11.91 SEM_APIS.VALUE_NAME_PREFIX
- 11.92 SEM_APIS.VALUE_NAME_SUFFIX
- 12 SEM_OLS Package Subprograms
- 13 SEM_PERF Package Subprograms
- 14 SEM_RDFCTX Package Subprograms
- 15 SEM_RDFSA Package Subprograms
-
11
SEM_APIS Package Subprograms
-
A
Enabling, Downgrading, or Removing RDF Semantic Graph Support
- A.1 Enabling RDF Semantic Graph Support
- A.2 Downgrading RDF Semantic Graph Support to a Previous Release
- A.3 Removing RDF Semantic Graph Support
-
B
SEM_MATCH Support for Spatial Queries
- B.1 ogcf:boundary
- B.2 ogcf:buffer
- B.3 ogcf:convexHull
- B.4 ogcf:difference
- B.5 ogcf:distance
- B.6 ogcf:envelope
- B.7 ogcf:getSRID
- B.8 ogcf:intersection
- B.9 ogcf:relate
- B.10 ogcf:sfContains
- B.11 ogcf:sfCrosses
- B.12 ogcf:sfDisjoint
- B.13 ogcf:sfEquals
- B.14 ogcf:sfIntersects
- B.15 ogcf:sfOverlaps
- B.16 ogcf:sfTouches
- B.17 ogcf:sfWithin
- B.18 ogcf:symDifference
- B.19 ogcf:union
- B.20 orageo:aggrCentroid
- B.21 orageo:aggrConvexHull
- B.22 orageo:aggrMBR
- B.23 orageo:aggrUnion
- B.24 orageo:area
- B.25 orageo:buffer
- B.26 orageo:centroid
- B.27 orageo:convexHull
- B.28 orageo:difference
- B.29 orageo:distance
- B.30 orageo:getSRID
- B.31 orageo:intersection
- B.32 orageo:length
- B.33 orageo:mbr
- B.34 orageo:nearestNeighbor
- B.35 orageo:relate
- B.36 orageo:sdoDistJoin
- B.37 orageo:sdoJoin
- B.38 orageo:union
- B.39 orageo:withinDistance
- B.40 orageo:xor
- Glossary
- Index