Table of Contents
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
- Changes in This Release for This Guide
-
Part I Conceptual and Usage Information
-
1
RDF Knowledge Graph Overview
- 1.1 Introduction to Oracle Semantic Technologies Support
- 1.2 Semantic Data Modeling
-
1.3
Semantic Data in the Database
- 1.3.1 Semantic Networks
- 1.3.2 Metadata for Models
- 1.3.3 Statements
- 1.3.4 Subjects and Objects
- 1.3.5 Blank Nodes
- 1.3.6 Properties
- 1.3.7 Inferencing: Rules and Rulebases
- 1.3.8 Entailments (Rules Indexes)
- 1.3.9 Virtual Models
- 1.3.10 Named Graphs
- 1.3.11 Semantic Data Security Considerations
- 1.3.12 RDF Privilege Considerations
- 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 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.13.12 Semantic Network Indexes
- 1.6.13.13 Using RDF with Oracle Database In-Memory
- 1.6.13.14 Using Language Tags in FILTER Expressions
- 1.6.13.15 Type Casting for More Efficient FILTER Evaluation
- 1.6.13.16 Spatial Indexing for GeoSPARQL Queries
- 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.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 Oracle 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 Setting Up the RDF Semantic Graph Environment
- 6.5 SEM_MATCH and RDF Semantic Graph Support for Apache Jena Queries Compared
- 6.6 Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results
- 6.7 Optimized Handling of SPARQL Queries
- 6.8 Additions to the SPARQL Syntax to Support Other Features
- 6.9 Functions Supported in SPARQL Queries through RDF Semantic Graph Support for Apache Jena
- 6.10 SPARQL Update Support
- 6.11 Analytical Functions for RDF Data
- 6.12 Support for Server-Side APIs
- 6.13 Bulk Loading Using RDF Semantic Graph Support for Apache Jena
- 6.14 Automatic Variable Renaming
- 6.15 JavaScript Object Notation (JSON) Format Support
- 6.16 Other Recommendations and Guidelines
-
6.17
Example Queries Using RDF Semantic Graph Support for Apache Jena
- 6.17.1 Test.java: Query Family Relationships
- 6.17.2 Test6.java: Load OWL Ontology and Perform OWLPrime inference
- 6.17.3 Test7.java: Bulk Load OWL Ontology and Perform OWLPrime inference
- 6.17.4 Test8.java: SPARQL OPTIONAL Query
- 6.17.5 Test9.java: SPARQL Query with LIMIT and OFFSET
- 6.17.6 Test10.java: SPARQL Query with TIMEOUT and DOP
- 6.17.7 Test11.java: Query Involving Named Graphs
- 6.17.8 Test12.java: SPARQL ASK Query
- 6.17.9 Test13.java: SPARQL DESCRIBE Query
- 6.17.10 Test14.java: SPARQL CONSTRUCT Query
- 6.17.11 Test15.java: Query Multiple Models and Specify "Allow Duplicates"
- 6.17.12 Test16.java: SPARQL Update
- 6.17.13 Test17.java: SPARQL Query with ARQ Built-In Functions
- 6.17.14 Test18.java: SELECT Cast Query
- 6.17.15 Test19.java: Instantiate Oracle Database Using OracleConnection
- 6.17.16 Test20.java: Oracle Database Connection Pooling
-
6.18
SPARQL Gateway and Semantic Data
- 6.18.1 SPARQL Gateway Features and Benefits Overview
-
6.18.2
Installing and Configuring SPARQL Gateway
- 6.18.2.1 Download the RDF Semantic Graph Support for Apache Jena .zip File (if Not Already Done)
- 6.18.2.2 Deploy SPARQL Gateway in WebLogic Server
- 6.18.2.3 Modify Proxy Settings, if Necessary
- 6.18.2.4 Configure the OracleSGDS Data Source, if Necessary
- 6.18.2.5 Add and Configure the SparqlGatewayAdminGroup Group, if Desired
- 6.18.3 Using SPARQL Gateway with Semantic Data
- 6.18.4 Customizing the Default XSLT File
- 6.18.5 Using the SPARQL Gateway Java API
- 6.18.6 Using the SPARQL Gateway Graphical Web Interface
- 6.18.7 Using SPARQL Gateway as an XML Data Source to OBIEE
- 6.19 Deploying Fuseki in Apache Tomcat
-
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 Knowledge Graph Overview
-
Part II RDF Graph Server and Query UI
-
11
Using RDF Graph Server and Query UI
- 11.1 Introduction to RDF Graph Server and Query UI
- 11.2 RDF Graph Server and Query UI Concepts
- 11.3 Oracle RDF Graph Query UI
-
11
Using RDF Graph Server and Query UI
-
Part III Reference Information
-
12
SEM_APIS Package Subprograms
- 12.1 SEM_APIS.ADD_DATATYPE_INDEX
- 12.2 SEM_APIS.ADD_SEM_INDEX
- 12.3 SEM_APIS.ALTER_DATATYPE_INDEX
- 12.4 SEM_APIS.ALTER_ENTAILMENT
- 12.5 SEM_APIS.ALTER_MODEL
- 12.6 SEM_APIS.ALTER_SEM_INDEX_ON_ENTAILMENT
- 12.7 SEM_APIS.ALTER_SEM_INDEX_ON_MODEL
- 12.8 SEM_APIS.ALTER_SEM_INDEXES
- 12.9 SEM_APIS.ANALYZE_ENTAILMENT
- 12.10 SEM_APIS.ANALYZE_MODEL
- 12.11 SEM_APIS.APPEND_SEM_NETWORK_DATA
- 12.12 SEM_APIS.BUILD_PG_RDFVIEW_INDEXES
- 12.13 SEM_APIS.BULK_LOAD_FROM_STAGING_TABLE
- 12.14 SEM_APIS.CLEANUP_BNODES
- 12.15 SEM_APIS.CLEANUP_FAILED
- 12.16 SEM_APIS.COMPOSE_RDF_TERM
- 12.17 SEM_APIS.CONVERT_TO_GML311_LITERAL
- 12.18 SEM_APIS.CONVERT_TO_WKT_LITERAL
- 12.19 SEM_APIS.CREATE_ENTAILMENT
- 12.20 SEM_APIS.CREATE_PG_RDFVIEW
- 12.21 SEM_APIS.CREATE_RDFVIEW_MODEL
- 12.22 SEM_APIS.CREATE_RULEBASE
- 12.23 SEM_APIS.CREATE_SEM_MODEL
- 12.24 SEM_APIS.CREATE_SEM_NETWORK
- 12.25 SEM_APIS.CREATE_SOURCE_EXTERNAL_TABLE
- 12.26 SEM_APIS.CREATE_SPARQL_UPDATE_TABLES
- 12.27 SEM_APIS.CREATE_VIRTUAL_MODEL
- 12.28 SEM_APIS.DELETE_ENTAILMENT_STATS
- 12.29 SEM_APIS.DELETE_MODEL_STATS
- 12.30 SEM_APIS.DISABLE_CHANGE_TRACKING
- 12.31 SEM_APIS.DISABLE_INC_INFERENCE
- 12.32 SEM_APIS.DISABLE_INMEMORY
- 12.33 SEM_APIS.DISABLE_INMEMORY_FOR_ENT
- 12.34 SEM_APIS.DISABLE_INMEMORY_FOR_MODEL
- 12.35 SEM_APIS.DISABLE_NETWORK_SHARING
- 12.36 SEM_APIS.DROP_DATATYPE_INDEX
- 12.37 SEM_APIS.DROP_ENTAILMENT
- 12.38 SEM_APIS.DROP_PG_RDFVIEW
- 12.39 SEM_APIS.DROP_PG_RDFVIEW_INDEXES
- 12.40 SEM_APIS.DROP_RDFVIEW_MODEL
- 12.41 SEM_APIS.DROP_RULEBASE
- 12.42 SEM_APIS.DROP_SEM_INDEX
- 12.43 SEM_APIS.DROP_SEM_MODEL
- 12.44 SEM_APIS.DROP_SEM_NETWORK
- 12.45 SEM_APIS.DROP_SPARQL_UPDATE_TABLES
- 12.46 SEM_APIS.DROP_USER_INFERENCE_OBJS
- 12.47 SEM_APIS.DROP_VIRTUAL_MODEL
- 12.48 SEM_APIS.ENABLE_CHANGE_TRACKING
- 12.49 SEM_APIS.ENABLE_INC_INFERENCE
- 12.50 SEM_APIS.ENABLE_INMEMORY
- 12.51 SEM_APIS.ENABLE_INMEMORY_FOR_ENT
- 12.52 SEM_APIS.ENABLE_INMEMORY_FOR_MODEL
- 12.53 SEM_APIS.ENABLE_NETWORK_SHARING
- 12.54 SEM_APIS.ESCAPE_CLOB_TERM
- 12.55 SEM_APIS.ESCAPE_CLOB_VALUE
- 12.56 SEM_APIS.ESCAPE_RDF_TERM
- 12.57 SEM_APIS.ESCAPE_RDF_VALUE
- 12.58 SEM_APIS.EXPORT_ENTAILMENT_STATS
- 12.59 SEM_APIS.EXPORT_MODEL_STATS
- 12.60 SEM_APIS.EXPORT_RDFVIEW_MODEL
- 12.61 SEM_APIS.GET_CHANGE_TRACKING_INFO
- 12.62 SEM_APIS.GET_INC_INF_INFO
- 12.63 SEM_APIS.GET_MODEL_ID
- 12.64 SEM_APIS.GET_MODEL_NAME
- 12.65 SEM_APIS.GET_TRIPLE_ID
- 12.66 SEM_APIS.GETV$DATETIMETZVAL
- 12.67 SEM_APIS.GETV$DATETZVAL
- 12.68 SEM_APIS.GETV$GEOMETRYVAL
- 12.69 SEM_APIS.GETV$NUMERICVAL
- 12.70 SEM_APIS.GETV$STRINGVAL
- 12.71 SEM_APIS.GETV$TIMETZVAL
- 12.72 SEM_APIS.GRANT_MODEL_ACCESS_PRIV
- 12.73 SEM_APIS.GRANT_MODEL_ACCESS_PRIVS
- 12.74 SEM_APIS.GRANT_NETWORK_ACCESS_PRIVS
- 12.75 SEM_APIS.GRANT_NETWORK_SHARING_PRIVS
- 12.76 SEM_APIS.IMPORT_ENTAILMENT_STATS
- 12.77 SEM_APIS.IMPORT_MODEL_STATS
- 12.78 SEM_APIS.IS_TRIPLE
- 12.79 SEM_APIS.LOAD_INTO_STAGING_TABLE
- 12.80 SEM_APIS.LOOKUP_ENTAILMENT
- 12.81 SEM_APIS.MERGE_MODELS
- 12.82 SEM_APIS.MIGRATE_DATA_TO_CURRENT
- 12.83 SEM_APIS.MOVE_SEM_NETWORK_DATA
- 12.84 SEM_APIS.PRIVILEGE_ON_APP_TABLES
- 12.85 SEM_APIS.PURGE_UNUSED_VALUES
- 12.86 SEM_APIS.REFRESH_SEM_NETWORK_INDEX_INFO
- 12.87 SEM_APIS.REMOVE_DUPLICATES
- 12.88 SEM_APIS.RENAME_ENTAILMENT
- 12.89 SEM_APIS.RENAME_MODEL
- 12.90 SEM_APIS.RES2VID
- 12.91 SEM_APIS.RESTORE_SEM_NETWORK_DATA
- 12.92 SEM_APIS.REVOKE_MODEL_ACCESS_PRIV
- 12.93 SEM_APIS.REVOKE_MODEL_ACCESS_PRIVS
- 12.94 SEM_APIS.REVOKE_NETWORK_ACCESS_PRIVS
- 12.95 SEM_APIS.REVOKE_NETWORK_SHARING_PRIVS
- 12.96 SEM_APIS.SET_ENTAILMENT_STATS
- 12.97 SEM_APIS.SET_MODEL_STATS
- 12.98 SEM_APIS.SPARQL_TO_SQL
- 12.99 SEM_APIS.SWAP_NAMES
- 12.100 SEM_APIS.TRUNCATE_SEM_MODEL
- 12.101 SEM_APIS.UNESCAPE_CLOB_TERM
- 12.102 SEM_APIS.UNESCAPE_CLOB_VALUE
- 12.103 SEM_APIS.UNESCAPE_RDF_TERM
- 12.104 SEM_APIS.UNESCAPE_RDF_VALUE
- 12.105 SEM_APIS.UPDATE_MODEL
- 12.106 SEM_APIS.VALIDATE_ENTAILMENT
- 12.107 SEM_APIS.VALIDATE_GEOMETRIES
- 12.108 SEM_APIS.VALIDATE_MODEL
- 12.109 SEM_APIS.VALUE_NAME_PREFIX
- 12.110 SEM_APIS.VALUE_NAME_SUFFIX
- 13 SEM_OLS Package Subprograms
- 14 SEM_PERF Package Subprograms
- 15 SEM_RDFCTX Package Subprograms
- 16 SEM_RDFSA Package Subprograms
-
12
SEM_APIS Package Subprograms
- A Enabling, Downgrading, or 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
-
C
RDF Support in SQL Developer
- C.1 About RDF Support in SQL Developer
- C.2 Setting Up the RDF Semantic Network Support Using SQL Developer
- C.3 Working with RDF Semantic Networks Using SQL Developer
- C.4 Bulk Loading RDF Data Using SQL Developer
- Glossary
- Index