@coasys/ad4m / Exports / SHACLPropertyShape
Interface: SHACLPropertyShape
SHACL Property Shape Represents constraints on a single property path
Table of contents
Properties
- adder
- class
- collection
- conformanceConditions
- datatype
- filter
- getter
- hasValue
- identity
- in
- interpretationHint
- local
- maxCount
- maxInclusive
- minCount
- minInclusive
- name
- nodeKind
- ordering
- path
- pattern
- relationKind
- remover
- resolveLanguage
- setter
- targetClassName
- transform
- whereFilter
- wherePredicates
- writable
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_createon 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