Welcome
Declarative Objectivity (DO) Language
Getting Started With DO
What is DO?
How to Run a DO Query
Learn More
A Quick Tour
Creating a Federated Database
Starting an Interactive DO Runner Session
Adding Class Descriptions
Creating Objects
Querying for Objects
SQL vs. DO Statement Styles
Modifying Objects
Deleting Objects
Deleting a Federated Database
Querying for Data
Querying by Value
Data Stored as Objects
Sample Schema and Data Set
Finding the Objects of a Class
Specifying the Query Source
Returning Objects and Their Values
Filtering the Values to be Returned
A Closer Look at Expressions
Aggregating Values
Managing the Results
Next Step
Performing Graph Queries
Data Stored as Graphs
A First Look at a Graph Query
Patterns for Describing Vertices
Patterns for Describing Edges
Composing Path Patterns
Returning Values From a Graph Query
Example: Predicting Movie Preferences
Next Step
Navigating a Graph
Sample Schema and Data Set
Data Stored as Graphs—Revisited
Returning Individual Edges
Returning Walks From a DO Graph Query
Assigning a Variable to a Walk
Returning Walks That are Paths
Returning Walks That are Trails
Limiting the Number of Returned Walks
Working With Data
Creating and Deleting Data
A Word About Persistent Data
Data Creation Begins With the Schema
Creating Referenceable Objects
Stylistic Hint: Simplify Statements with LET
Deleting Referenceable Objects
A Closer Look at Relationships
Creating and Deleting Related Objects
Creating and Deleting Embedded Objects
Data Statements
CREATE Statement
DELETE Statement
LET Statement
MATCH Statement
RETURN Statement
SELECT Statement
SHOW Statement
SHOW PARAMETERS Statement
UPDATE Statement
Data Clauses
ADD Clause
CLEAR Clause
CREATE Clause
DELETE Clause
FROM Clause
GROUP BY Clause
HAVING Clause
LET Clause
MATCH Clause
ORDER BY Clause
REMOVE Clause
RETURN Clause
SELECT Clause
SET Clause
SKIP Clause
SKIP WHILE Clause
TAKE Clause
TAKE WHILE Clause
UPDATE Clause
WHERE Clause
Expressions
About Expressions
Literal Expressions
System Values
Date and Time Values
Context-Related Values
Attribute Expressions
Collection-Element Expressions
Expressions for Reachable Values
Collection Structures
Object Structures
Interval Structures
Source-Specifier Expressions
Regular Expressions
Operator Expressions
About Operator Expressions
Aggregate Operators
Arithmetic Operators
Bitwise Operators
Collection Operators
Date-Time Operators
Logical Operators
Math Operators
Reference Operators
Relational Operators
Selection Operators
String Operators
Type Evaluation Operators
Tokens
Names
Class Names
String Tokens
Date-Time Tokens
Schema Statements
About Schemas
Schema Evolution
SHOW CLASS Statement
SHOW CLASSES Statement
SHOW SCHEMA Statement
UPDATE SCHEMA Statement
Schema Clauses
ALTER CLASS Clause
CREATE CLASS Clause
DROP CLASS Clause
RENAME CLASS Clause
Attribute Structures
About Attribute Structures
Basic Data Attributes
String Attributes
Date-Time Attributes
Reference Attributes
Embedded-Object Attributes
Collection Attributes
List Attributes
Set Attributes
Map Attributes
About To-Many Relationships
Syntax Diagrams and Production Rules
BNF
Syntax Diagrams
Rental Fleet Sample Schema
Objectivity/DB Administration
Administration Tasks
Objectivity/DB Basics
Objectivity/DB System
Administration Interface and Tools
Specifying Objectivity/DB Files
Filenames
File and Directory Access Permissions
Specifying Remote and Local Files
Federated Database Tasks
About Federated Databases
Getting Federated-Database Information
Creating a Federated Database
Changing Federated-Database Properties
Managing a Federated Database’s License
Installing a Federated Database
Exporting and Importing a Federated Database’s Schema
Managing the Registry of Storage Locations
Deleting a Federated Database
Troubleshooting Federated-Database Problems
Getting Transaction Information
Referencing Objects in a Federated Database
Estimating Disk-Space Requirements
Specifying File Storage
Understanding File Storage for Persistent Data
Registering Storage Locations
Managing Storage Locations
Managing Storage Zones
Setting the MSG’s Selection Policy
Specifying Application-Specific Location Preferences
Setting Storage-Unavailable Policies
Objectivity Configuration Files
Understanding Objectivity Configuration Files
Database Tasks
About Databases
Getting Database Information
Creating a Database
Deleting a Database
Setting File Permissions on a Database
Troubleshooting Access Problems
Container Tasks
About Containers
Getting Information About External Containers
Creating a Container
Setting File Permissions on a Container File
Troubleshooting Access Problems
Using a Lock Server
About Lock Servers
Checking Whether a Lock Server is Running
Starting a Lock Server
Stopping a Lock Server
Changing Lock-Server Hosts
Listing Current Locks
Changing the Log Directory
Changing the TCP/IP Port for the Lock Server
Troubleshooting Problems With the Lock Server
All Platforms
Windows
UNIX, Linux, and Macintosh
Advanced Multithreaded Server
About AMS
Deciding Whether to Use AMS
Checking Whether AMS is Running
Starting AMS
Stopping AMS
Changing the TCP/IP Port for AMS
Troubleshooting Problems With AMS
All Platforms
Backup and Restore
About Backup and Restore
Developing a Backup Strategy
Performing a Backup
Restoring From a Backup
Managing Backup History
Processing Backup Files
Customized Backups
Automatic and Manual Recovery
About Recovery
Automatic Recovery From Application Failures
Automatic Recovery From Client-Host Failures
Automatic Recovery From Lock-Server Failures
Performing Manual Recovery
Objectivity/DB Schema
About Objectivity/DB Schemas
Objectivity/DB Data Types
Exporting and Importing a Schema
Working With Distributed Systems
Understanding Distributed Objectivity/DB Systems
Guidelines for Setting Up an Objectivity/DB System
Tool Summary
Tool Syntax
Tool Runner Syntax
Classic Command-Line Syntax
Script Syntax
Tools for Administration Tasks
Backup
ChangeFd
CheckAms
CheckLs
CheckRESTServer
CleanupFd
CreateBackupSet
CreateFd
DeleteBackupSet
DeleteDb
DeleteFd
DO
DumpCatalog
Execute
ExportSchema
FileInfo
ImportSchema
InstallFd
License
ListOperators
ListSystemValues
ListWait
LockMonitor
QueryBackupSet
Restore
StartAms
StartLockServer
StartRESTServer
StopAms
StopLockServer
StopRESTServer
Tools for Placement-Related Tasks
AddIndex
AddIndexSpecification
AddKeySpecification
AddStorageLocation
CreateContainers
CreatePartition
DeleteIndexSpecification
DeleteKeySpecification
DropIndex
ExportPlacement
ImportPlacement
ListIndexes
ListStorage
RemoveStorageLocation
Index
Objectivity REST
Getting Started With Objectivity REST
What is Objectivity REST?
How to Send REST Requests
Learn More
A Quick Tour
Creating a Federated Database
Starting the REST Server
Getting Information
Adding Class Descriptions
Creating Objects
Querying for Objects
Modifying Objects
Deleting Objects
Next Steps
Working with Relationships
Understanding Relationships
Adding the Complete Rental Fleet Schema
Using a Transaction to Add Objects
Creating a Unidirectional Relationship
Creating a Bidirectional Relationship
API Summary
Server Resources
GET /
GET /v1
POST /shutdown
Federated Database Resources
GET /v1/fd
Object Resources
About Persistent Objects
GET /v1/object/{oid}
POST /v1/object
PUT /v1/object/{oid}
DELETE /v1/object/{oid}
Query Resources
POST /v1/query
Schema Resources
Overview
Schema Evolution
Using Retrieved Schema Representations
GET /v1/schema
POST /v1/schema
PUT /v1/schema
GET /v1/schema/{class}
PUT /v1/schema/{class}
DELETE /v1/schema/{class}
GET /v1/schema/namespace
GET /v1/schema/namespace/{name}
Indexing Resources
GET /v1/index
POST /v1/index
GET /v1/index/{name}
DELETE /v1/index/{name}
Transaction Resources
POST /v1/transaction
Administrative Tool Resources
GET /v1/tool
POST /v1/tool
Objectivity/DB Data Types
Basic Types
String Types
Date-Time Types
Reference and Embedded Types
Collections
Schema for Rental Fleet Example
JSON Schema Representation
Objectivity/DB Spark Adapter
Getting Started
What is the Objectivity/DB Spark Adapter?
Learn More
Spark Adapter Tutorial
ThingSpan Setup
Tutorial Setup
Tutorial Task Overview
Writing a Data Frame
How a Data Frame Writes to a Federated Database
Creating Customers
Verifying Results
Joining Data From Different Sources
Updating Data
Verifying Results
Using Placement and Configuring Storage Locations
Creating Schema Using DO
Importing a Placement Model Document
Adding Storage Locations
Creating Relationships
Understanding Relationships in Schema
Creating Objects with Relationships
Verifying Results
Spark Adapter Reference
Reading (Loading) Data From the Federated Database
Loading Data from Objectivity/DB
Reader Option Reference
Schema Translation
Writing to the Federated Database
Writing a Data Frame to a Federated Database
Creating and Updating Objects and Relationships
Schema Mapping
Schema Generation
Writer Option Reference
Advanced Topics
Setting Up Storage on HDFS
Understanding Storage on HDFS
Specifying Objectivity/DB Files on HDFS
Creating a Federated Database on HDFS
Specifying a Federated Database on HDFS
Connecting to a Federated Database on HDFS
Tuning Storage on HDFS
Setting Up Storage on a Cluster
Shortcuts for Automating Storage Setup
Understanding Storage for Spark Jobs in a Cluster
Running the Cluster Storage Setup Script
Using Predefined Location Preferences
Scripts
create_thingspan_fd.sh
Troubleshooting
Welcome
Objectivity, Inc.