Skip to content

Conversation

@namedgraph
Copy link
Member

@namedgraph namedgraph commented Dec 10, 2025

Introduce first-class package support in LinkedDataHub

This PR adds first-class support for packages in LinkedDataHub, including server-side implementation, admin tooling, and HTTP-level test coverage for install/uninstall workflows.

Summary of changes

  • Package install / uninstall

    • Implements package installation and removal at the dataset level.
    • Uses Graph Store Protocol PATCH to add and remove owl:imports, allowing package ontologies, stylesheets, and related assets to be cleanly composed and detached.
  • Admin tooling

    • Adds and refactors admin scripts for package installation.
    • Fixes ontology import handling during install/uninstall.
  • HTTP test coverage

    • Introduces a dedicated set of HTTP tests covering:

      • Successful package install and uninstall
      • Install → uninstall sequences
      • Failure and edge cases
  • Refactoring and cleanup

    • Replaces LinkedDataClient usage with GraphStoreClient.
    • Refactors XSLTMasterUpdater.
    • Improves resource handling and response lifecycle management.
  • Ontology and security adjustments

    • Updates the SKOS package ontology (imports and URI fixes).
    • Removes unused VIVO ontology.
    • Restricts public access by removing /transform from allowed endpoints.
  • Build / infra

    • Updates dependencies and snapshot versions.
    • Fixes Varnish BAN handling in ontology cache clearing.

Impact

This change establishes a modular, composable packaging mechanism for LinkedDataHub, enabling reusable ontologies, layouts, and functionality to be installed and removed declaratively, with proper HTTP semantics and test coverage.

Testing

  • New HTTP tests under http-tests/admin/packages/ cover install and uninstall scenarios.

@namedgraph namedgraph merged commit 7b58db2 into develop Jan 2, 2026
1 check failed
@namedgraph namedgraph deleted the feat-ldh-packages branch January 2, 2026 22:27
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