# Introduction
## Purpose
This document aims to provide a guide for development using "WorldObjects" (Semantic Engine).
## Settings and Abbreviations
N/A
## References
N/A
## 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.