Logo
NeoArc Studio

Key Roles and Property Types

Define node properties with 12 abstract types and 6 key roles. Configure constraints including required, nullable, unique, and indexed. Add per-property projections (search, API, persistence), governance metadata (description, example, tags), and validation rules with min/max values, patterns, and enums.

Graph diagram nodes support typed properties similar to database columns. Each property has a data type, optional key role, and constraints. In Graph DB mode, these properties are used for Cypher export and schema validation.

Property Types

NeoArc supports 12 abstract property types. These map to platform-specific types during export (e.g. Neo4j, SQL, search indices).

TypeDescriptionExample Values
stringText values"John Doe", "SKU-12345"
intWhole numbers42, -17, 0
floatDecimal numbers3.14, -0.5, 99.99
booleanTrue/false valuestrue, false
dateDate without time2026-02-05
datetimeDate with time2026-02-05T14:30:00Z
uuidUniversally unique identifier550e8400-e29b-41d4-a716-446655440000
jsonStructured JSON data{"tags": ["vip", "active"]}
enumEnumerated value from a fixed set"active", "inactive", "pending"
arrayOrdered list of values["tag1", "tag2", "tag3"]
objectNested key-value structure{"address": {"city": "London"}}
numberGeneric numeric value (int or float)42, 3.14

Key Roles

Key roles indicate how a property functions in the data model. These appear as badges (PK, FK, NK, etc.) next to property names.

RoleBadgePurposeValidation
PrimaryPKSingle-column primary identifierMust be unique, typically uuid
NaturalNKBusiness-meaningful unique identifierMust be unique, often string
SurrogateSKSystem-generated identifierAuto-generated, typically uuid or int
Composite PartCPPart of a composite keyCombined with other CP properties for uniqueness
ForeignFKReference to another nodeMust reference valid target node/property
None(none)Regular propertyNo special key constraints

Key Role Examples

Constraints

Properties support four constraint flags that control data integrity.

Required
Property must have a value. Displayed with red badge.
Nullable
Property can be null. Opposite of required.
Unique
Value must be unique across all nodes of this type. Green badge.
Indexed
Property is indexed for faster queries. Blue badge.

Validation Rules

Properties can have validation rules that constrain acceptable values. These are enforced during schema validation and exported to Cypher constraints.

RuleApplies ToDescription
minValueint, floatMinimum numeric value (inclusive)
maxValueint, floatMaximum numeric value (inclusive)
minLengthstringMinimum character length
maxLengthstringMaximum character length
patternstringRegular expression pattern
enumValuesstringList of allowed values

Validation Rule Examples

// Price must be positive
{
  "name": "price",
  "type": "float",
  "minValue": 0.01
}

// Status must be one of the allowed values
{
  "name": "status",
  "type": "string",
  "enumValues": ["pending", "active", "completed", "cancelled"]
}

// Email must match pattern
{
  "name": "email",
  "type": "string",
  "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
}

Foreign Key Resolution

Foreign key properties can reference specific properties on other nodes. This creates a navigable relationship in the schema.

Description Field

Every property supports a description field for documentation. Descriptions appear in tooltips and are included in Cypher export comments.

Default Values

Properties can specify default values that apply when no value is provided. Defaults are type-specific:

TypeDefault Examples
string"unknown", "N/A", ""
int0, -1, 100
float0.0, 1.0
booleantrue, false
dateCurrent date expression
datetimeCurrent timestamp expression
uuidGenerated UUID expression
json{}, []

Per-Property Projections

Each property supports projection flags that control how it appears across derived artefacts. Projections are configured in the property details panel.

Search Projection
Include in search indices. Controls whether the field is searchable, filterable, sortable, or used as a facet.
API Projection
Include in API responses. Controls field visibility in generated REST or GraphQL schemas.
Persistence Projection
Include in the persistence layer. Controls whether the field is stored in the database.
Custom Projection
User-defined projection for project-specific concerns such as audit trails, reporting, or analytics.

Governance Metadata

Properties support governance metadata fields that improve documentation quality and support automated tooling.

FieldPurpose
DescriptionDocuments the property's purpose, expected values, and usage context. Included in Cypher export comments and tooltips
ExampleA representative example value. Helps consumers understand the expected format and content
TagsFree-form tags for categorising properties (e.g. PII, financial, audit). Used for filtering and compliance reporting

Adding Properties

Mode Visibility

Property editing features vary by authoring mode:

FeatureMind MapConceptualGraph DB
Property panelHiddenBasicFull
Key role selectionHiddenShownEnforced
Type selectionHiddenHiddenShown
ConstraintsHiddenHiddenShown
Validation rulesHiddenHiddenShown
FK resolutionHiddenHiddenShown