Sync: align ncbo/ontologies_linked_data with the AgroPortal codebase#266
Draft
Sync: align ncbo/ontologies_linked_data with the AgroPortal codebase#266
Conversation
…onger occur, removed test
…attributes 5 by 5
…copy the portal language label into the generic one
…copy the portal language label into the generic one
…n that caused intermittent errors
…264) CI: refactor docker-based test runner and add linux container tests see ncbo/goo#173
…ntologies_linked_data into chore/ontoportal-lirmm-goo-compat
…e raptor_free_world is bound with zero args, but its finalizer calls it with one pointer arg
…TestSearch#test_search_ontology_data [test/models/test_search.rb:135]
…ntologySubmissionArchiver instead of LinkedData::Models::OntologySubmission
Infra/ontoportal testkit integration
…ntologies_linked_data into chore/ontoportal-lirmm-goo-compat
This was referenced Mar 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a large set of refactors and features that bring ncbo/ontologies_linked_data (OLD) significantly closer to the
developmentbranch maintained by the AgroPortal team.This work is part of a broader effort to align several BioPortal components with the implementations maintained by the AgroPortal team. As part of this effort, other repositories in the stack have been updated to adopt their AgroPortal counterparts. Because the BioPortal and AgroPortal versions of
ontologies_linked_datahave diverged significantly over time, a full replacement was not feasible here. Instead, this PR performs a substantial synchronization effort that incorporates key improvements from AgroPortal while preserving BioPortal-specific functionality.The primary goals of this effort are:
Prerequisites
This PR depends on the AgroPortal-based replacements of the following repositories:
These PRs should be merged prior to this one, as
ontologies_linked_datarelies on the updated GOO indexing model and SPARQL client behavior introduced there.Major changes
Alignment with AgroPortal implementation
This PR incorporates a significant amount of refactoring and functionality developed in the AgroPortal version of OLD. The goal is to bring the two implementations back into closer alignment, while retaining BioPortal-specific features where full convergence is not desirable.
Key areas affected include:
Search and indexing improvements
Schemaless Solr support
This PR updates OLD to work with the schemaless Solr architecture enabled by the new GOO indexing model.
Key changes include:
Models can now enable indexing with a simple declaration such as:
enable_indexing(:ontology_metadata)where the symbol corresponds to the Solr core name.
Expanded indexing coverage
In addition to ontology terms, the updated system now supports indexing of ontology metadata.
Multi triple-store backend support
Historically, OLD supported only:
The AgroPortal implementation introduces support for additional triple stores, and this PR brings that capability into BioPortal. Supported triple stores now also include:
Supporting changes were made across backend integration layers and mappings logic.
Ontology submission processing refactor
A major internal refactor restructures the ontology submission processing workflow.
Previously, much of the logic was implemented through large concerns and tightly coupled service logic. This PR introduces a modular processing pipeline composed of discrete operations responsible for tasks such as:
This architecture improves maintainability and aligns the processing pipeline with the AgroPortal implementation.
Authentication and authorization updates
This PR includes improvements to the authentication and authorization subsystems:
Infrastructure and dependency modernization
Several updates modernize the project and align it with the current stack used across the OntoPortal ecosystem:
Testing infrastructure updates
This PR integrates the OntoPortal testkit, which is being adopted across the BioPortal/OntoPortal stack.
Changes include:
BioPortal-specific improvements
In addition to the AgroPortal-derived work, this PR includes several improvements authored specifically for the BioPortal implementation.
Improved label generation logic
Several commits improve the logic used to generate labels for ontology classes when explicit labels are not present. These changes enhance the reliability and consistency of label generation during ontology processing and indexing.
Improved search and indexing
The AgroPortal schemaless Solr implementation failed to bring in some more fine-grained functionality that separated the NCBO search from AgroPortal's, such as search on OBO IDs and short IDs. That functionality has now been re-implemented using the schemaless Solr.
Summary
This PR represents a substantial update to ontologies_linked_data, bringing the BioPortal implementation closer to the AgroPortal codebase while preserving BioPortal-specific functionality.
Key outcomes include:
While not a full codebase replacement like the
gooandsparql-clientmigrations, this PR performs a significant synchronization effort and prepares OLD to operate correctly with the updated stack.