Skip to content

Sync: align ncbo/ontologies_api with the AgroPortal codebase#205

Draft
mdorf wants to merge 79 commits intodevelopfrom
chore/ontoportal-lirmm-goo-compat
Draft

Sync: align ncbo/ontologies_api with the AgroPortal codebase#205
mdorf wants to merge 79 commits intodevelopfrom
chore/ontoportal-lirmm-goo-compat

Conversation

@mdorf
Copy link
Member

@mdorf mdorf commented Mar 17, 2026

Overview

This PR aligns ncbo/ontologies_api more closely with the implementation maintained by the AgroPortal team.

The changes are based on the AgroPortal ontologies_api repository (development branch) and selectively incorporate its functionality while preserving NCBO-specific behavior where required.

Unlike the migrations performed for goo and sparql-client, this PR does not replace the existing codebase. Instead, it incrementally aligns the implementation while maintaining compatibility with the NCBO stack.

Prerequisites

This PR is part of a broader effort to align NCBO repositories with the AgroPortal codebase. It depends on the following related PRs:

These PRs introduce foundational changes and shared functionality that are required for the updates in ontologies_api.

Major changes

Search functionality

  • New endpoints for ontology search and ontology content search
  • Enhancements to search_helper, including:
    • improved language handling
    • support for metadata-based ontology search
    • improved query construction and filtering

These changes expand the flexibility and consistency of the API search layer.

NCBO-specific search behavior

  • Restoration of functionality previously supported by NCBO’s static Solr schema
  • Fixes for oboId and notation search behavior
  • Adjustments to query handling for NCBO’s Solr configuration

These updates preserve expected BioPortal behavior while incorporating upstream improvements.

New API capabilities

  • Resource dereferencing endpoint with content negotiation support
  • User OAuth authentication support integrated into the API layer

API and controller updates

  • Improvements to ontology submission handling
  • Pagination and filtering refinements
  • Enhanced property serialization, including support for unmapped attributes

Runtime and framework compatibility

  • Ruby 3.2 compatibility updates
  • Sinatra 4 routing fixes and related request handling adjustments

Test infrastructure

  • Integration with the OntoPortal testkit
  • CI workflow updates and supporting test configuration changes
  • Test stabilization and alignment with updated dependencies

Additional fixes

  • NCBO-specific fixes not present in the AgroPortal implementation
  • Search robustness improvements and dependency updates

Notable features

  • Ontology and ontology content search endpoints
  • Improved search helper with language and metadata support
  • Restoration of NCBO-specific Solr-based search behavior
  • Dereferencing controller with content negotiation
  • OAuth support in the API layer
  • OntoPortal testkit integration
  • Runtime upgrades for Ruby and Sinatra

PR impact

Reviewers may want to focus on:

  • Search behavior
    Changes to endpoints and query construction may affect results and filtering.
  • NCBO-specific search restoration
    Reintroduced Solr-related behavior may impact existing expectations.
  • New API surface
    Dereferencing and OAuth introduce new functionality and flows.
  • Routing and runtime updates
    Sinatra and Ruby upgrades affect request handling.
  • Testing and CI
    Testkit integration changes how tests are executed.

Summary

This PR aligns ncbo/ontologies_api more closely with the AgroPortal implementation while preserving NCBO-specific functionality. It expands search capabilities, introduces new API features, updates runtime compatibility, and integrates the repository into the shared OntoPortal testing infrastructure.

mdorf added 30 commits January 22, 2026 22:48
mdorf and others added 30 commits February 26, 2026 14:33
…ntologies_api into chore/ontoportal-lirmm-goo-compat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants