Oracle Spatial and Graph
Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping, facilities management, and geographic information systems, to wireless location services and location-enabled e-business. The graph features in Oracle Spatial and Graph include Oracle Network Data Model graphs used in traditional network applications in major transportation, telcos, utilities and energy organizations and RDF semantic graphs used in social networks and social interactions and in linking disparate data sets to address requirements from the research, health sciences, finance, media and intelligence communities.
Components
The geospatial feature of Oracle Spatial and Graph provides a SQL schema and functions that facilitate the storage, retrieval, update, and query of collections of spatial features in an Oracle database.Geospatial data features
The Oracle Spatial geospatial data features consist of:- a schema - MDSYS - that prescribes the storage, syntax, and semantics of supported geometric data types
- a spatial indexing system
- operators, functions, and procedures for performing area-of-interest queries, spatial join queries, and other spatial analysis operations
- functions and procedures for utility and tuning operations
- vector performance acceleration for substantially faster querying and more efficient use of CPU, memory, and partitioning
- support for parametric curves for mathematically precise representation of free-form curves that can be reproduced exactly for 2D and 3D data
- a topology data model for working with data about nodes, edges, and faces in a topology
- a GeoRaster feature to store, index, query, analyze, and deliver GeoRaster data with virtual mosaics, raster-algebra operations, image processing, Java API, and GDAL-Based ETL Wizard
- 3-dimensional data-types and operators including Triangulated Irregular Networks, Point Clouds and LiDAR data sets with Spatial R-tree indexing, SQL operators and analysis functions, and metadata for visualization
- geocoding that converts location and address data into formal geographic coordinates from point addresses and address ranges, and supports reverse geocoding
- a routing engine that creates fastest or shortest routes with driving distances, times, directions and turn-specific geometries based on commercial and publicly available street network data, and restrictions and conditions for advanced routing, such as truck-specific routing
- Open Geospatial Consortium-compliant Web Services for geocoding, routing, mapping, business-directory, catalog, and geospatial feature transactions
- Spatial Visualization components to render data on maps.
Network Data Model
- Persistent management of the network connectivity in the database
- A data model for representing capabilities or objects in a network with a PL/SQL API for managing network data.
- User-determined link and node properties, such as costs and restrictions, including temporal properties.
- Association of real world objects with network elements to simplify application development and maintenance.
- A Java API for in-memory network path analytics, including shortest path, nearest neighbors, within cost, and reachability, with partitioned loading of large networks into memory.
RDF semantic
- An RDF triple store and ontology management with automatic partitioning and data compression.
- Proven scalability to over 54 billion triples with scalability to the 8 petabyte limit of Oracle Database.
- High performance bulk loading with Oracle Database parallel and direct path loading and loading through Jena.
- SPARQL and SQL parallel querying and updating of RDF graphs with SPARQL 1.1, SPARQL endpoint web services, SPARQL/Update, Java APIs with open source Apache Jena & Sesame, SQL queries with embedded SPARQL graph patterns, SQL insert/update.
- Ontology-assisted querying of table data using SQL operators to expand SQL relational queries with related terms for more comprehensive results.
- Native inferencing with parallel, incremental and secure operation for scalable reasoning with RDFS, Web Ontology Language, Simple Knowledge Organization System, user-defined rules, user-defined inference extensions, and an extensibility framework to plug-in special purpose reasoners, such as PelletDB, TrOWL.
- GeoSPARQL support for storing / querying spatial data in RDF per Open GeoSpatial Consortium specification.
- RDF views on relational data to apply semantic analysis with support for automatic and custom mapping of relational data to RDF triples.
- Triple-level security that meets the most stringent security requirements with Oracle Label Security.
- Integration with open source Apache Jena and Sesame application development environments.
- Integration with XML-based tools, such as Oracle Business Intelligence Enterprise Edition for reporting and dashboards.
- Integration with Network Data Model graph analytics for shortest path, nearest neighbors, within cost, and reachability.
- Integration with Oracle Advanced Analytics features: Oracle Data Mining for exploiting predictive analytics and pattern discovery and Oracle R Enterprise for statistical computing and charting visualization of graph data.
- Semantic indexing for text mining and entity analytics integrated with popular natural language processors.
- Integration with leading commercial and open source tools for querying, visualization, and ontology management.
Availability
Oracle Spatial and Graph is an option for Oracle Enterprise Edition, and must be licensed separately. Free since December 5, 2019. It is also included in Oracle Database Cloud Service. It is not included in Oracle Standard Edition or Oracle Standard Edition One. However, the latter two editions allow the use of a subset of spatial features at no extra cost. An appendix of the Oracle Spatial and Graph Developer's Guide specifies the functions allowed in Locator.History
The Oracle RDBMS first incorporated spatial-data capability with a modification to Oracle 4 made by scientists working with the Canadian Hydrographic Service. A joint development team of CHS and Oracle personnel subsequently redesigned the Oracle kernel, resulting in the "Spatial Data Option" or "SDO" for Oracle 7. The spatial indexing system for SDO involved an adaptation of Riemannian hypercube data-structures, invoking a helical spiral through 3-dimensional space, which allows n-size of features. This also permitted a highly efficient compression of the resulting data, suitable for the petabyte-size data repositories that CHS and other major corporate users required, and also improving search and retrieval times. The "helical hyperspatial code", or HHCode, as developed by CHS and implemented by Oracle Spatial, comprises a form of space-filling curve.With Oracle 8, Oracle Corporation marketing dubbed the spatial extension simply "Oracle Spatial". The primary spatial indexing system no longer uses the HHCode, but a standard r-tree index.
Since July, 2012, the option has been named Oracle Spatial and Graph to highlight the graph database capabilities in the product - Network Data Model graph introduced with Oracle Database 10g Release 1 and RDF Semantic Graph introduced with Oracle Database 10g Release 2.