Skip to content

[Ontology] Reconcile lowercase and repository-case public namespace IRIs #372

Description

@seonghobae

Buyer-visible problem

LineageWeave currently has two case-distinct public namespace forms in committed artifacts:

  • the knowledge-graph ontology and runtime lookup predicate use https://contextualwisdomlab.github.io/lineageweave/ontology#
  • the PROV-O support profile and its contract test use https://contextualwisdomlab.github.io/LineageWeave/ontology#

GitHub Pages project paths are case-sensitive. PR #371 intentionally publishes the requested repository-case documentation endpoint without silently changing the existing semantic identifiers. That is a deployment repair, not a namespace migration.

Leaving the split undocumented long term creates a buyer-facing interoperability risk: RDF consumers may treat the two IRIs as unrelated resources even when labels and local fragments match.

Required outcome

Produce a versioned, evidence-backed namespace migration decision rather than a search-and-replace.

Inventory

  • Locate every persisted, serialized, API, frontend, test, migration, example, and external-consumer use of both namespace forms.
  • Include docs/ontology/lineageweave-kg.ttl, docs/ontology/prov-o-support-profile.ttl, lineageweave/ontology.py, PROV-O tests, PR feat: add bounded ontology and provenance explorer (v2.13.0) #349's ontology UI, database rows, exports, and generated Pages artifacts.
  • Identify which IRIs may already exist in customer or downstream graph stores.

ADR and compatibility contract

  • Choose one canonical future namespace and document why.
  • Preserve the old namespace during a defined deprecation window.
  • Publish a compatibility vocabulary or explicit OWL/SKOS mappings where semantically valid; do not claim owl:equivalentClass or owl:equivalentProperty without matching term kind and meaning.
  • Define HTTP behavior for both old and new documentation/namespace URLs.
  • Do not silently rewrite historical evidence or provenance bundles.

Migration

  • Add deterministic migration tooling for stored RDF and relational identifiers.
  • Keep source, generated JSON-LD/N-Triples, runtime constants, support profiles, frontend links, tests, docs, and database seeds synchronized.
  • Provide rollback and idempotency evidence.
  • Version public artifacts and update CHANGELOG.md/fragments.

Verification

  • Exact dereference tests for both namespace forms and representative fragments.
  • RDF isomorphism and term-kind tests for compatibility artifacts.
  • Consumer fixtures proving old graphs still resolve and new graphs use the canonical namespace.
  • No ambiguous duplicate local fragments.
  • Production statement/branch coverage and public docstrings remain 100% for owned migration code.

Non-goals

  • Do not block PR ci: publish the ontology through GitHub Pages #371's public documentation deployment.
  • Do not rename the GitHub repository merely to avoid the semantic migration.
  • Do not treat a redirect alone as proof that two RDF resources are semantically equivalent.

Dependencies

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