Generator Feature Dashboard

This dashboard shows which LinkML metamodel features each generator supports. The compliance test suite (tests/linkml/test_compliance/) is the source of truth — every cell below is derived from actual test results.

Regenerate with: uv run pytest tests/linkml/test_compliance/ --with-output && uv run python scripts/generate_dashboard.py

Legend

Icon

Meaning

✅

Fully supported

⚠️

Partial / incomplete / mixed

❌

Not implemented

⚪

Not applicable

❓

Not yet tested

Summary by Category

Each cell shows the aggregate result across all tests in that category. Scroll down for per-test details.

Category

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Arrays

✅

❓

⚠️

⚠️

❓

⚠️

❓

⚠️

❓

⚠️

⚠️

⚠️

⚠️

Boolean Expressions

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Cardinality & Presence

⚠️

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Core Structure

⚠️

⚠️

⚠️

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

✅

❓

Defaults & Computed

✅

✅

⚠️

❓

✅

❓

❓

✅

⚠️

❓

✅

✅

❓

Enumerations

⚠️

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Identity & Keys

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Inheritance & Refinement

✅

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Inlining & References

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Metadata

⚠️

⚠️

⚠️

❓

⚠️

❓

❓

⚠️

⚠️

❓

⚠️

⚠️

❓

Other

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Rules & Classification

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Schema-Level

✅

✅

✅

❓

⚠️

❓

❓

✅

✅

❓

⚠️

✅

❓

Slot Typing & Ranges

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

✅

⚠️

❓

⚠️

⚠️

❓

Value Constraints

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Uncategorized

⚠️

⚠️

✅

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Coverage Scores

Percentage of tests where the generator fully implements the feature (excluding not-applicable).

Generator

Implements

Partial

Ignores

N/A

Total

Score

Pydantic

31

34

1

0

66

47%

Python DC

18

38

10

0

66

27%

JSON Schema

41

23

2

0

66

62%

Java

0

24

42

0

66

0%

SHACL

21

25

20

0

66

32%

ShEx

0

24

42

0

66

0%

OWL

0

26

40

0

66

0%

JSON-LD Ctx

36

24

6

0

66

55%

SQLite DDL

13

41

12

0

66

20%

Postgres DDL

0

23

43

0

66

0%

Pandera

16

28

22

0

66

24%

Polars Schema

30

23

13

0

66

45%

sql_ddl_bigquery

0

24

42

0

66

0%

Details by Category

Arrays

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

N-dimensional arrays

✅

❓

⚠️

⚠️

❓

⚠️

❓

⚠️

❓

⚠️

⚠️

⚠️

⚠️

Boolean Expressions

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Cardinality in exactly_one_of

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Class any_of

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Class boolean constraints with required

⚠️

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Class boolean with expressions

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Slot all_of

⚠️

⚠️

✅

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Slot any_of

✅

✅

⚠️

❓

❓

❓

❓

✅

⚠️

❓

❓

❓

❓

Slot boolean with expressions

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Slot exactly_one_of

⚠️

⚠️

✅

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Slot none_of

⚠️

⚠️

✅

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Cardinality & Presence

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Identifier implies required

✅

✅

✅

❓

❓

❓

❓

✅

✅

❓

✅

✅

❓

Membership constraints

⚠️

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Min/max cardinality

✅

⚠️

✅

❓

✅

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Required / multivalued

⚠️

⚠️

✅

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

✅

❓

Core Structure

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Abstract classes

⚠️

⚠️

⚠️

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

✅

❓

Attribute refinement

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

⚠️

✅

❓

Attributes

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Class inheritance (is_a)

⚠️

⚠️

⚠️

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

✅

❓

Mixins

⚠️

⚠️

⚠️

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

✅

❓

Slot inheritance

✅

⚠️

✅

❓

⚠️

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Slot usage

✅

⚠️

✅

❓

⚠️

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Defaults & Computed

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

If-absent defaults

✅

✅

⚠️

❓

✅

❓

❓

✅

⚠️

❓

✅

✅

❓

Enumerations

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Enum aliases

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Enum hierarchy

✅

✅

✅

❓

✅

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Non-standard enum names

⚠️

⚠️

✅

❓

⚠️

❓

⚠️

✅

⚠️

❓

⚠️

❓

❓

Optional enum nullability

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Static enums

⚠️

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Typed permissible values

✅

✅

✅

❓

✅

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Identity & Keys

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Identifier

⚠️

✅

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Nested keys

⚠️

⚠️

⚠️

❓

✅

❓

❓

✅

✅

❓

❓

❓

❓

Type designator

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Unique keys

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Inheritance & Refinement

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Subproperty class range

✅

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

Subproperty deep hierarchy

✅

❓

✅

❓

✅

❓

❓

❓

❓

❓

❓

❓

❓

Subproperty multivalued

✅

❓

✅

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

Subproperty range formatting

✅

❓

✅

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

Subproperty slot_usage narrowing

✅

❓

✅

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

Subproperty value constraint

✅

⚠️

✅

⚠️

✅

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Inlining & References

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Inlined as simple dict

⚠️

⚠️

✅

❓

⚠️

❓

⚠️

✅

❓

❓

✅

✅

❓

Inlined objects

✅

⚠️

✅

❓

❓

❓

❓

✅

⚠️

❓

✅

✅

❓

Inlined with unique keys

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

❓

❓

⚠️

Metadata

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Aliasing

✅

✅

✅

❓

⚠️

❓

❓

✅

✅

❓

✅

✅

❓

Annotations

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Common metadata

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

❓

Descriptions

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Element URIs

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Other

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

JSON Pointer

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Rules & Classification

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Classification rules

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Precondition combos

⚠️

⚠️

✅

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Precondition rules

⚠️

⚠️

✅

⚠️

❓

⚠️

❓

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Value presence in rules

⚠️

⚠️

✅

⚠️

❓

⚠️

⚠️

⚠️

⚠️

⚠️

❓

⚠️

⚠️

Schema-Level

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Instantiates

✅

✅

✅

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Schema imports

✅

✅

✅

❓

❓

❓

❓

✅

✅

❓

⚠️

✅

❓

Slot Typing & Ranges

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Any type

✅

✅

✅

❓

❓

❓

❓

✅

❓

❓

❓

✅

❓

Custom types (typeof)

⚠️

⚠️

⚠️

❓

❓

❓

⚠️

✅

⚠️

❓

❓

✅

❓

Date/datetime types

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

✅

⚠️

❓

⚠️

❓

❓

Primitive type ranges

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

✅

⚠️

❓

✅

✅

❓

URI types

⚠️

✅

⚠️

❓

✅

❓

❓

✅

✅

❓

✅

✅

❓

Value Constraints

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

Equals string

✅

❓

✅

❓

✅

❓

❓

✅

❓

❓

❓

❓

❓

Equals string in

✅

❓

✅

❓

✅

❓

⚠️

✅

❓

❓

❓

❓

❓

ID prefix

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

⚠️

Min/max value

✅

⚠️

✅

❓

✅

❓

❓

✅

⚠️

❓

✅

✅

❓

Regex pattern

⚠️

⚠️

⚠️

❓

✅

❓

❓

✅

⚠️

❓

⚠️

✅

❓

Structured pattern

✅

⚠️

✅

❓

✅

❓

❓

✅

⚠️

❓

✅

✅

❓

Uncategorized

Test

Pydantic

Python DC

JSON Schema

Java

SHACL

ShEx

OWL

JSON-LD Ctx

SQLite DDL

Postgres DDL

Pandera

Polars Schema

sql_ddl_bigquery

range expression booleans

⚠️

❓

✅

⚠️

❓

❓

❓

⚠️

❓

❓

❓

⚠️

⚠️

range expression nesting

⚠️

⚠️

✅

⚠️

⚠️

⚠️

❓

⚠️

⚠️

⚠️

❓

⚠️

⚠️


This dashboard is auto-generated from compliance test results. To update: run the compliance tests with --with-output, then run uv run python scripts/generate_dashboard.py. To add features, write a new compliance test and decorate it with @feature_category("Category Name", "Display Name").