Skip to content

Modeling patterns

Modeling patterns help teams decide what should become an object type and what should remain a property, interface, or linked entity.

PatternUse it whenExample
Primary operational objectthe thing has its own lifecycle, permissions, or workflowscase, work order, supplier, incident
Supporting entitythe thing should be reusable across many objectsanalyst, facility, asset
Link-backed relationshipthe connection itself mattersassigned-to, depends-on, delivered-by
Interface reusemultiple types share the same semantic contractreviewable, geo-locatable, schedulable

Anti-patterns to avoid

  • using one object type per source table without semantic consolidation
  • storing relationship meaning inside free-form string properties
  • creating giant object types that mix unrelated operational concerns
  • using properties where linked entities should exist

OpenFoundry current vs target

TopicCurrent signalsTarget maturity
object typesroute and model support existsricher design-time governance
interfacesalready first-class in ontology-servicebroader reuse across many apps
shared semanticsshared property types already existcatalogued ontology design patterns

Released under the Apache 2.0 License.