protege-mcp v0.3.3
Ontology-development hardening: project-governance validation, high-level curation macros, broader
reasoner explanations, and a headless end-to-end smoke test. 50 → 55 tools.
New tools
validate_governance— audit the active ontology against project policy (complementsvalidate_ontology's generic quality checks andrun_reasoner's logic checks). Each rule is opt-in: OWL 2 profile conformance (owl_profile= DL (default) / EL / QL / RL — reports the axioms that leave the profile), an IRI policy (required_namespaces/iri_pattern— every owned entity's IRI must conform), a required annotation suite (required_annotations, incl. the specialslabelanddefinition— every owned class/property must carry each), and module ownership / import layering (check_ownership, default on — the active module must not assert logical axioms about imported terms — including via a property chain that re-axiomatises an imported super-property). The expensive profile computation runs off the UI thread (on a snapshot taken on it), so conformance-checking a large ontology does not block Protégé for the analysis.create_term— create a class with its curation suite in one undoable step: label, a definition (definition, defaultrdfs:comment), an arbitrary annotation suite, parent(s) (named or a Manchester restriction such ashasPart some Cell), and optionalequivalent_toclass expressions for a defined class.create_property— create an object/data property with its axioms in one step: label, definition,domain,range(a class expression for object; a datatype / Manchester data range for data),super_properties,characteristics(functional, transitive, symmetric, …), and aninverse_of.deprecate_entity— the standard obsolescence pattern in one step:owl:deprecated trueplus an optional "term replaced by" pointer (IAO_0100001by default) and any extra curation annotations. Idempotent (re-deprecating is a no-op).move_class— reparent a class (its subtree follows): replace the class's asserted named superclasses with a new parent, preserving anonymous restriction superclasses;keep_other_parentsadds without removing, and omittingnew_parentdetaches the class to a root.
Improved
get_explanationsnow handles anyaxiom_type: for a kind the justification generator cannot minimally explain (e.g. a property-hierarchy or property-characteristic entailment), it falls back to confirming whether the axiom is entailed and returning the asserted axioms that mention the same entities as structural context (clearly labelled not a minimal justification) instead of rejecting the request.validate_ontologygains atimeout_msbudget — the structural checks run on the model thread and are not interrupted mid-run, so this bounds how long the call waits before returning a timeout error, not the on-thread work itself.preview_changesdescription now points atapply_changes(apply the whole batch in one undoable call) alongside the single-axiom edit tools, matching the README workflow.
Notes
- New: a headless, CI-runnable pipeline smoke test (
ToolPipelineTest) that drives the tool cores end-to-end — load → edit → validate → govern → diff → SPARQL — plus a manual live-Protégé checklist indocs/smoke-test.mdfor the GUI/reasoner/transport legs the unit tests cannot reach. Test count 84 → 97. - Requires a Java 17+ JVM (unchanged). The OWL 2 profile checker is the OWL API's own (
org.semanticweb.owlapi.profiles), already on the Protégé platform.
Install: download protege-mcp-0.3.3.jar below, or use Protégé ▸ File ▸ Check for plugins.