API Reference
interfaces
Shaclpropertyshape

@coasys/ad4m / Exports / SHACLPropertyShape

Interface: SHACLPropertyShape

SHACL Property Shape Represents constraints on a single property path

Table of contents

Properties

Properties

adder

• Optional adder: AD4MAction[]

AD4M-specific: Adder action for collection properties

Defined in

core/src/shacl/SHACLShape.ts:192 (opens in a new tab)


class

• Optional class: string

sh:class — the target SHACL node shape URI that linked nodes must conform to. Set automatically when a relation has a target model. Enables typed construction on the Rust/MCP side by referencing the full target shape.

Defined in

core/src/shacl/SHACLShape.ts:209 (opens in a new tab)


collection

• Optional collection: boolean

AD4M-specific: multi-valued property (ad4m://CollectionShape). toJSON() defaults it to true for hasMany and belongsToMany.

Defined in

core/src/shacl/SHACLShape.ts:218 (opens in a new tab)


conformanceConditions

• Optional conformanceConditions: ConformanceCondition[]

AD4M-specific: Structured conformance conditions (DB-agnostic). Each condition describes a check on the target node (flag match or required property).

Defined in

core/src/shacl/SHACLShape.ts:204 (opens in a new tab)


datatype

• Optional datatype: string

Expected datatype (e.g., xsd:string, xsd:integer)

Defined in

core/src/shacl/SHACLShape.ts:141 (opens in a new tab)


filter

• Optional filter: boolean

AD4M-specific: whether conformance/type filtering is enabled for this relation. false opts out of DB-level type filtering while keeping hydration via include.

Defined in

core/src/shacl/SHACLShape.ts:241 (opens in a new tab)


getter

• Optional getter: string

AD4M-specific: Pre-computed SPARQL getter expression for reading this relation/property. For relations with a target model, this encodes conformance filtering so that Rust/MCP can execute the exact same query as the JS runtime.

Defined in

core/src/shacl/SHACLShape.ts:200 (opens in a new tab)


hasValue

• Optional hasValue: string

Fixed value constraint (for Flag properties)

Defined in

core/src/shacl/SHACLShape.ts:171 (opens in a new tab)


identity

• Optional identity: boolean

AD4M-specific: marks this property as the class's identity (dedup key) for the generic LLM interpreter. Emitted as an ad4m://identity link (literal:string:true) and read back on ShapeProperty.identity.

Defined in

core/src/shacl/SHACLShape.ts:259 (opens in a new tab)


in

• Optional in: { label?: string ; value: string }[]

sh:in — allowed values for this property (enum constraint). Each entry has a value (the RDF term) and an optional label (human-readable name). Standard SHACL sh:in only defines values; labels are an AD4M extension.

Defined in

core/src/shacl/SHACLShape.ts:214 (opens in a new tab)


interpretationHint

• Optional interpretationHint: string

AD4M-specific: Natural-language hint that steers the generic LLM extractor when producing typed instances from a transcript. Emitted as an ad4m://interpretation_hint link on the property shape node and surfaced on ShapeProperty.interpretation_hint by the Rust model query.

Defined in

core/src/shacl/SHACLShape.ts:254 (opens in a new tab)


local

• Optional local: boolean

AD4M-specific: Local-only property

Defined in

core/src/shacl/SHACLShape.ts:174 (opens in a new tab)


maxCount

• Optional maxCount: number

Maximum cardinality (single-valued if 1, omit for collections)

Defined in

core/src/shacl/SHACLShape.ts:159 (opens in a new tab)


maxInclusive

• Optional maxInclusive: number

Maximum value (inclusive) for numeric properties

Defined in

core/src/shacl/SHACLShape.ts:168 (opens in a new tab)


minCount

• Optional minCount: number

Minimum cardinality (required if >= 1)

Defined in

core/src/shacl/SHACLShape.ts:156 (opens in a new tab)


minInclusive

• Optional minInclusive: number

Minimum value (inclusive) for numeric properties

Defined in

core/src/shacl/SHACLShape.ts:165 (opens in a new tab)


name

• Optional name: string

Property name (e.g., "name", "ingredients") - used for generating named URIs

Defined in

core/src/shacl/SHACLShape.ts:135 (opens in a new tab)


nodeKind

• Optional nodeKind: "IRI" | "Literal" | "BlankNode"

Node kind constraint (IRI, Literal, BlankNode)

Defined in

core/src/shacl/SHACLShape.ts:153 (opens in a new tab)


ordering

• Optional ordering: string

CRDT ordering strategy for this collection ("linkedList"), when it has one.

Declared in the shape rather than passed per query so the executor applies it to every writer — the ORM, MCP agents, raw WS-RPC callers, another app on the same neighbourhood.

Defined in

core/src/shacl/SHACLShape.ts:150 (opens in a new tab)


path

• path: string

The property path (predicate URI)

Defined in

core/src/shacl/SHACLShape.ts:138 (opens in a new tab)


pattern

• Optional pattern: string

Regex pattern for string validation

Defined in

core/src/shacl/SHACLShape.ts:162 (opens in a new tab)


relationKind

• Optional relationKind: "hasMany" | "hasOne" | "belongsToOne" | "belongsToMany"

AD4M-specific: kind of relation this property describes. Drives direction (forward/reverse), scalar-vs-collection rendering, and default max-count.

Defined in

core/src/shacl/SHACLShape.ts:223 (opens in a new tab)


remover

• Optional remover: AD4MAction[]

AD4M-specific: Remover action for collection properties

Defined in

core/src/shacl/SHACLShape.ts:195 (opens in a new tab)


resolveLanguage

• Optional resolveLanguage: string

AD4M-specific: sole selector of storage mode:

  • unset → deterministic typed literal (fast POS-index path, the default for a plain @Property()).
  • "literal" → signed envelope on the built-in literal language (per-value provenance, e.g. Flux message bodies).
  • <custom address> → expression_create on that custom language.

Defined in

core/src/shacl/SHACLShape.ts:186 (opens in a new tab)


setter

• Optional setter: AD4MAction[]

AD4M-specific: Setter action for this property

Defined in

core/src/shacl/SHACLShape.ts:189 (opens in a new tab)


targetClassName

• Optional targetClassName: string

AD4M-specific: target class name (local-name) for a relation property. Complements class (the SHACL node-shape URI) by providing the bare model class name used by the executor to look up the target shape through the perspective's shape cache.

Defined in

core/src/shacl/SHACLShape.ts:229 (opens in a new tab)


transform

• Optional transform: NodeExpression

AD4M-specific: Transform expression (SHACL-AF Node Expression). Applied to a property's resolved value in the Rust model query engine — for values resolved through a resolveLanguage ("literal" for a signed envelope, or a custom language) and for any property that declares a transform.

Defined in

core/src/shacl/SHACLShape.ts:248 (opens in a new tab)


whereFilter

• Optional whereFilter: any

AD4M-specific: post-getter where-clause filter for a relation property.

Defined in

core/src/shacl/SHACLShape.ts:232 (opens in a new tab)


wherePredicates

• Optional wherePredicates: Record<string, string>

AD4M-specific: predicate-IRI lookup map for whereFilter keys (property name → predicate URI on the target class).

Defined in

core/src/shacl/SHACLShape.ts:236 (opens in a new tab)


writable

• Optional writable: boolean

AD4M-specific: Writable property

Defined in

core/src/shacl/SHACLShape.ts:177 (opens in a new tab)