# Introduction

## Purpose

This document aims to provide a guide for development using "WorldObjects" (Semantic Engine).

## Settings and Abbreviations


## References


## Prerequisites

Perform setup installation client-side(see [Setup DocDigitizer WorldObjects](🔗))

## Keywords

A keyword is an identifier-like sequence of characters that is reserved and cannot be used as an identifier except when prefaced by the **@** character.

Patterns matched to keyword Types:

  • Integer

  • Text

  • Decimal

  • Date

  • Time

  • DateTime

  • TimeSpan

  • Media

  • Logical

Patterns matched to keyword Members:

  • Object

  • Property

  • Reference

  • Collection

  • Indexer

  • Primary Indexer

  • Group / End Group

  • Catalog / End Catalog

  • Validation / End Validation

  • Expression / End Expression

  • Format / End Format

Patterns matched to other Contextual keywords:

  • object

  • objects

  • extends

  • references

  • with

  • retrying

  • type

  • by

  • to

  • of

  • any

  • using

### Comments

Two forms of comments are supported:

  • lines starting with **//** Single-line comments start with the characters **//** and extend to the end of the source line.

Pattern matched to comment.block:

  • Blocks starting with **/** and ending with **/** Delimited comments start with the characters **/** and end with the characters **/**. Delimited comments may span multiple lines.

### Strings

Pattern matched to string.quoted.single:

  • Comments encapsulated by **' & '**

Pattern matched to string.quoted.double:

  • Comments encapsulated by **" & "**

### Constants

  • Pattern matched to string.regexp: **'.', ','**

# Semantic Object Use

  • **Object**: allows you to create an Object. All objects have a version (default: 1.0.0).

_Note: objects are referenced by name + version._

  • Property: allows you to add a Property to a basic Object.

  • Reference: allows you to add a Property to the Object that is a Reference to another Object.

  • Collection: allows you to add a Property that is a collection of Types/Objects (map)

  • Indexer: allows you to configure the Property that indexes with the Key of the Object.

  • Primary: allows you to configure the Property that corresponds with the Primary Key of the Object (unique values).

  • Retrying: allows you to define a case to be used when the main option (Catalog) fails. This is useful when you want to set another Catalog when the value in hand is not found.