Skip to content

A FARS Shape is a SHACL shape file encoding a RelationalSystemShape: one .ttl file per predicate at shacl/{predicate-id}.ttl, targeting every entity that carries that predicate.

FARS Shape

What it is

A FARS Shape is the encoding of a RelationalSystemShape in the FlatfileAgentialResourceSystem. It is a SHACL shape file at shacl/{predicate-id}.ttl.

One file per predicate. The shape uses sh:targetSubjectsOf :{predicate-id} to target every entity that carries that predicate. Constraints are expressed as sh:property or sh:node rules on the shape node.

A FARS Shape is itself a RelationalEntity: it has id and description and is in R. It MUST live at shacl/{predicate-id}.ttl. It MUST use sh:targetSubjectsOf :{predicate-id} โ€” never rdf:type or class membership. It MUST cover exactly one predicate.

The universal shape

shacl/id.ttl is the universal shape: since every entity has id, it targets every entity. It states: description is required, id is a kebab-case string, and the filename matches {id}.md.

Open questions

See also

Relations

Ast
Constraint
Relational universe
Output
Relational universe morphism
Predicate
Relational universe