Skip to content

Add explicit validation for unsupported or incomplete SKOS submissions #275

@alexskr

Description

@alexskr

Summary

We should add an explicit validation step during SKOS submission processing to detect ontologies that do not conform to BioPortal requirements for SKOS support.

Today, some invalid or incomplete SKOS inputs fall through into downstream processing and fail later in misleading ways, for example during missing-label generation. This makes the failure mode harder to understand and can incorrectly look like a transient backend or retry issue.

Problem

Some ontologies are submitted as SKOS, but do not include the constructs BioPortal expects in order to process them as SKOS ontologies.

Examples of problematic cases:

  • ontology has a skos:ConceptScheme but no skos:Concept
  • ontology is structurally SKOS-like but does not contain the resources needed for class extraction
  • ontology is labeled or uploaded as SKOS, but does not meet the minimum requirements for SKOS-based traversal and indexing

In these cases, the current pipeline may:

  • parse RDF successfully
  • proceed into downstream processing
  • fail later in a less clear stage
  • produce confusing retry/error behavior instead of a clear validation result

User-Facing Side Effect

A major side effect is that these invalid SKOS submissions can still end up with RDF status.

That status is enough for the UI to expose term-browsing links. Users can then click into term browsing, but the ontology has no valid extracted terms/classes to browse, so the request errors out.

So the current behavior is misleading in two ways:

  • processing looks more successful than it really is
  • the UI advertises functionality that does not actually work for that submission

Proposed Enhancement

Add a dedicated SKOS validation step during submission processing.

Suggested behavior:

  1. Detect that the submission is being processed as SKOS.
  2. Validate that the ontology contains the minimum required SKOS constructs for BioPortal support.
  3. If validation fails:
    • stop further SKOS-specific processing early
    • set an appropriate submission error status
    • record a clear, user-facing error message explaining what is missing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions