Ontology Maturity is a composite score that measures the design quality of an OWL ontology across four independent dimensions. It answers the question: "How expressive, well-structured, and well-documented is this ontology?"
The score is computed automatically from the ontology's TTL files — no database connection required. Each time you open Model ▸ Ontologies, maturity badges are refreshed instantly.
A Basic-rated ontology is a starting point. A Mature-rated ontology is a production-quality knowledge artifact that:
The calibration for the default scoring was done against 38 real-world published ontologies — from W3C standards (PROV-O, OWL-Time, DCAT) to financial ontologies (FIBO) to biomedical vocabularies (BioPAX, UniProt). This gives the scores a concrete, practical reference point.
Measures how many semantically rich axiom types the ontology uses beyond a basic rdfs:subClassOf hierarchy.
rdfs:subClassOf
owl:disjointWith
owl:equivalentClass
owl:intersectionOf
owl:unionOf
owl:someValuesFrom
owl:allValuesFrom
owl:cardinality
owl:minCardinality
owl:propertyChainAxiom
rdfs:domain
rdfs:range
A score near 100 means the ontology uses virtually all rich axiom types with high density. A score near 0 means it is just a pure label taxonomy with no semantic constraints.
Example: SKOS-Core is the top scorer on this dimension in the calibration set (99.0), combining several rich axiom types beyond a plain subClassOf hierarchy.
subClassOf
Measures how many OWL property characteristics are declared, and what fraction of properties have at least one.
owl:FunctionalProperty
owl:InverseFunctionalProperty
owl:TransitiveProperty
a R b
b R c
a R c
owl:SymmetricProperty
b R a
owl:AsymmetricProperty
owl:inverseOf
Why it matters: Without property characteristics, a reasoner can infer nothing from property usage. With them, SPARQL queries can be shorter and inference engines can populate derived relationships automatically.
Example: SKOS-Core scores 86.1 here because most of its properties have inverseOf and the Core scheme uses subPropertyOf hierarchies.
inverseOf
subPropertyOf
Measures how many classes and properties have human-readable annotations, across a two-tier hierarchy:
rdfs:label
rdfs:comment
skos:prefLabel
foaf:name
dc:title
schema:name
skos:definition
dcterms:description
dc:description
The "or any equivalent" rule for descriptions is important: many ontologies use skos:definition instead of rdfs:comment. Both count equally — the score is not biased toward a single vocabulary.
Example: GeoSPARQL scores 100.0 here because every class and property has both rdfs:label and rdfs:comment, plus extended labels and definitions.
Measures how many ontology classes and properties have actual instance data in the connected database. This dimension is not included in the overall score — it reflects deployment state, not ontology design quality.
An ontology under active development, or one used as a pure vocabulary in a different system, should not be penalised for lacking local instance data.
Data Binding is shown in the detailed view as a separate card for informational context only.
SHACL shapes are scored separately from OWL ontologies. The SHACL score measures the quality of your data validation rules, not your ontology design.
NodeShape
sh:targetClass
sh:property
sh:severity
sh:message
The SHACL score uses stricter thresholds by default (Mature ≥ 80, Developing ≥ 40) because a well-engineered SHACL graph should cover essentially all classes with multiple constraint types.
These scores were computed against the default weights. Use them as a benchmark when assessing your own ontology.
Note on GeoSPARQL and ODRL: GeoSPARQL scores 0 on Property Characteristics because its properties declare no OWL property characteristics (functional, transitive, symmetric, inverse) — yet it has near-perfect annotations. ODRL similarly lacks property characteristics. Both score well on Axiom Richness but differently on the overall badge depending on weight emphasis.
These ontologies score Basic not because they are poorly designed — they serve different purposes. OMG LCC is a pure data registry; QUDT is a unit library. The scoring system is designed for OWL class-oriented ontologies, not data registries.
Looking at the calibration data, a few patterns emerge:
FIBO (Financial Industry Business Ontology):
GLEIF (Global Legal Entity Identifier):
FIBO AnnotationVocab:
Every organisation has different priorities. If your team cares more about documentation than axiom density (e.g., building an enterprise taxonomy for business users), increase the Annotation weight and reduce Axiom Richness.
Go to Configure ▸ Scoring to adjust weights using interactive sliders. The live preview table shows immediately how the calibration set would be re-scored under your weights.
Annotation-heavy (documentation-first):
Axiom Richness: 15 Property Characteristics: 15 Annotations: 70
Axiom-heavy (inference-first):
Axiom Richness: 50 Property Characteristics: 40 Annotations: 10
Balanced (default):
Axiom Richness: 30 Property Characteristics: 30 Annotations: 20
Add owl:disjointWith between mutually exclusive classes:
:Person owl:disjointWith :Organization .
Use owl:someValuesFrom to express class constraints:
:Employee rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :worksFor ; owl:someValuesFrom :Organization ] .
Add property chains for derived relationships:
:hasBuyer owl:propertyChainAxiom ( :hasOrder :placedBy ) .
Mark single-valued properties as functional:
:dateOfBirth a owl:FunctionalProperty .
Add inverses for navigability:
:manages owl:inverseOf :managedBy .
Declare transitivity for hierarchical relationships:
:isPartOf a owl:TransitiveProperty .
Every class needs a label and comment:
:Order rdfs:label "Order" ; rdfs:comment "A commercial transaction between a customer and a supplier." .
Add skos:prefLabel and skos:definition for richer vocabulary:
:Order skos:prefLabel "Purchase Order" ; skos:definition "A binding commitment by a buyer to purchase goods or services at specified terms." .
Generate SHACL shapes from your ontology using the built-in SHACL generator (Model ▸ Shapes ▸ GENERATE FROM OWL). This creates a NodeShape for every OWL class.
For each shape, add typed constraints:
:CustomerShape a sh:NodeShape ; sh:targetClass :Customer ; sh:property [ sh:path :email ; sh:datatype xsd:string ; sh:pattern "^[^@]+@[^@]+\\.[^@]+ RDF Studio – SPARQL Editor, Ontology Manager & Knowledge Graph Explorer RDF Studio is a free semantic web IDE and training platform for browsing, querying, and editing RDF knowledge graphs. Home of the Northwind RDF use case with 80+ executable SPARQL competency questions (use case stories) and query templates. Key Features Northwind RDF Use Case – A curated training dataset with full OWL ontology, sample data, and 80+ executable SPARQL competency questions with business use case stories following EKGF methodology. Query Library – 80+ categorized queries spanning data exploration, CRUD operations, OWL axioms, taxonomy navigation, federated queries, and graph analytics — each with descriptions and use case context. Query Templates – Reusable SPARQL patterns for basic exploration, data quality checks, and graph analytics that work across any dataset. SPARQL Editor – Full SPARQL 1.1 query editor with syntax highlighting, autocomplete, PREFIX folding, query library, and execution history. Visual Ontology Editor – Create and edit OWL/RDFS classes, properties, and restrictions in an interactive graph editor with draft workflow and layout persistence. SHACL Shapes Editor & Validator – Browse, edit, auto-generate, and validate SHACL shapes with a validation dashboard and maturity scoring. Knowledge Graph Visualization – Interactive graph visualization with multiple layout engines, node expansion, search, and export. Faceted Search – Auto-generated faceted search interfaces from RDF/OWL ontologies with filters, sorting, and pagination. Traversal Query Builder – Cross-class query builder for navigating complex knowledge graph relationships. Taxonomy & Vocabulary Management – SKOS taxonomy browser, vocabulary import (FOAF, Dublin Core, RDFS), and hierarchical tree editing. Multi-Database Support – Connect to external SPARQL endpoints (GraphDB, Virtuoso, Stardog, Neptune, Fuseki). RDF Instance CRUD – Create, read, update, and delete RDF instances with SHACL validation and named graph targeting. Ontology Maturity Scoring – 5-dimension assessment of ontology quality with schema-data drift detection. Supported Standards RDF, RDFS, OWL, OWL 2, SPARQL 1.1, SHACL, SKOS, Turtle, N-Triples, JSON-LD, Dublin Core, FOAF, Schema.org Supported Triple Stores Oxigraph, GraphDB, Virtuoso, Stardog, Amazon Neptune, Apache Jena Fuseki, and any SPARQL 1.1 compatible endpoint. Technology Built with Python, React, and TypeScript. Created by M Barbieri quot; ; sh:minCount 1 ; sh:maxCount 1 ; sh:message "Email must be a valid address." ; sh:severity sh:Warning ; ] .
RDF Studio is a free semantic web IDE and training platform for browsing, querying, and editing RDF knowledge graphs. Home of the Northwind RDF use case with 80+ executable SPARQL competency questions (use case stories) and query templates.
RDF, RDFS, OWL, OWL 2, SPARQL 1.1, SHACL, SKOS, Turtle, N-Triples, JSON-LD, Dublin Core, FOAF, Schema.org
Oxigraph, GraphDB, Virtuoso, Stardog, Amazon Neptune, Apache Jena Fuseki, and any SPARQL 1.1 compatible endpoint.
Built with Python, React, and TypeScript.
Created by M Barbieri
The Severity & Messages dimension scores 0 unless at least one shape uses sh:severity. Add it to business-critical constraints:
sh:severity sh:Violation ; sh:message "Customer must have a valid email address." ;
Why does DCTerms score Basic? DCTerms is a pure metadata vocabulary — it defines properties like dcterms:title and dcterms:creator but has no OWL classes, no property characteristics, and no annotations on its terms (the annotations are the terms). It scores 0 on Property Characteristics and 0 on Annotations because it has no entities to annotate.
dcterms:title
dcterms:creator
Why does SHACL Vocab itself score Basic on SHACL? SHACL Vocab defines the SHACL vocabulary (sh:NodeShape, sh:property, etc.) as an OWL ontology. It has no SHACL shapes of its own — it would be circular for the SHACL vocabulary to validate itself using SHACL. Score: Basic by design.
Why do pure data registries like QUDT score 0? QUDT contains tens of thousands of unit instances (qudt:KiloGRAM, qudt:MetrePerSecond, etc.) but few OWL classes and zero class axioms. The scoring system targets OWL ontology design quality. For data registries, the Data Binding dimension (informational only) is more meaningful.
qudt:KiloGRAM
qudt:MetrePerSecond
Can I use a score below 65 and still have a good ontology? Absolutely. The badge thresholds are configurable. An ontology scoring 55 might be excellent for its purpose — a pure annotation vocabulary like FIBO AnnotationVocab (40.0) or a geospatial ontology like GeoSPARQL (62.1) are both carefully designed, widely adopted ontologies that score below the default Mature threshold. Adjust the thresholds to match your organisation's definition of "production quality."