Skip to content

Localise namespace ontology: Lithuanian property + class labels - #21

Merged
namedgraph merged 1 commit into
masterfrom
feat/lithuanian-ontology-labels
Aug 13, 2026
Merged

Localise namespace ontology: Lithuanian property + class labels#21
namedgraph merged 1 commit into
masterfrom
feat/lithuanian-ontology-labels

Conversation

@namedgraph

Copy link
Copy Markdown
Member

Makes the end-user app render in Lithuanian by localising the namespace ontology (app/ns.ttl) rather than the data or XSLT — the vocabulary terms become the single source of truth, content-negotiated (Lithuanian to lt clients, English to en).

What changed

app/ns.ttl

  • Property labels — bilingual (@lt/@en) rdfs:label on the standard predicates that had none: foaf:depiction/mbox/phone/name/givenName/familyName/gender, dct:identifier/title/type, geo:lat/long, cv:level, schema:foundingDate/dissolutionDate/validFrom/validThrough, rov:companyType/orgStatus/legalName, skos:prefLabel/altLabel/notation/exactMatch/scopeNote/inScheme/topConceptOf, locn:postCode, org:hasRegisteredSite/siteAddress, owl:sameAs, foaf:img/…. LDH resolves predicate labels by DESCRIBE-ing them against {base}ns, so these now drive the property-table column labels.
  • Class labelsrdfs:label on the remaining classes used as rdf:type (org:FormalOrganization, rov:RegisteredOrganization, org:Site, locn:Address, dct:Location, skos:Concept/ConceptScheme, dh:Item/Container), so the rdf:type badges localise (Asmuo, Administracinis vienetas, Sąvokų schema, …).

files/overrides.xsl

  • A skos:altLabel ac:label fallback (the base stylesheets negotiate rdfs:label/dc:title/skos:prefLabel but not altLabel). Minor/defensive.

Dependency

Class-badge localisation relies on LDH merging /ns labels into $object-metadataatomgraph/linkeddatahub 6d120d5 (client) + fd5593b5 (server initial paint). The image pin that ships those (in docker-compose.override.yml) is intentionally not in this PR; land it alongside. Property labels work independently of that change. Earlier this was bridged with an inline class-label vocabulary in overrides.xsl; the LDH merge made it unnecessary, so it was removed and the ontology is now the only source.

Verification

Browsed the running app under both locales (Playwright, CSR): ltAsmuo / Administracinis vienetas / Formalioji organizacija+Registruotas juridinis asmuo / property labels Atvaizdas, Identifikatorius, Teisinė forma, …; enPerson / Administrative unit / Depiction, … — negotiation intact.

🤖 Generated with Claude Code

app/ns.ttl — add bilingual (@lt/@en) rdfs:label to the standard predicates
that had none (foaf:depiction/mbox/phone/name/givenName/familyName/gender,
dct:identifier/title/type, geo:lat/long, cv:level, schema:foundingDate/
dissolutionDate/validFrom/validThrough, rov:companyType/orgStatus/legalName,
skos:prefLabel/altLabel/notation/exactMatch/scopeNote/inScheme/topConceptOf,
locn:postCode, org:hasRegisteredSite/siteAddress, owl:sameAs, foaf:img/…).
LDH resolves predicate labels by DESCRIBE-ing them against {base}ns, so these
now render Lithuanian column labels (English to en clients — all bilingual,
content-negotiated).

Also label the remaining classes used as rdf:type (org:FormalOrganization,
rov:RegisteredOrganization, org:Site, locn:Address, dct:Location,
skos:Concept/ConceptScheme, dh:Item/Container) so the type badges localise.
Class badges only surface these once /ns labels are merged into LDH's
object-metadata — atomgraph/linkeddatahub 6d120d5 (client) + fd5593b5
(server initial paint) — so no XSLT bridge is needed; the ontology is the
single source of truth.

files/overrides.xsl — add a skos:altLabel ac:label fallback (the base client
stylesheets negotiate rdfs:label/dc:title/skos:prefLabel but not altLabel).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@namedgraph
namedgraph merged commit aaf7747 into master Aug 13, 2026
2 checks passed
@namedgraph
namedgraph deleted the feat/lithuanian-ontology-labels branch August 13, 2026 21:25
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.

1 participant