Add 1:N entity views (ldh:inverseView) + LinkedDataHub-Apps-style make install#6
Open
namedgraph wants to merge 3 commits into
Open
Add 1:N entity views (ldh:inverseView) + LinkedDataHub-Apps-style make install#6namedgraph wants to merge 3 commits into
namedgraph wants to merge 3 commits into
Conversation
New app/ns.ttl (LDH app ontology served at {base}ns, northwind-traders
style) defines five query-backed views: admin unit sub-units (inverse
dct:isPartOf), current/former members (inverse org:organization through
org:Membership), Seimas units (inverse org:unitOf) and party nominees
(inverse ltlod:nominatedBy). app/import-ns.sh (chained into
app/install.sh) resets and POSTs the ontology into the admin
ontologies/namespace/ document and evicts the server-side cache.
LDH matches views by exact rdf:type against the property's declared
rdfs:range, so parties gain schema:PoliticalParty and the Seimas
cv:PublicOrganisation (CPOV) in the seimas mappings; seimas datasets
regenerated with the prod base (type triples are the only semantic diff).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Prompts for Base URL / certificate / password / proxy like the LinkedDataHub-Apps demo Makefiles, with defaults from the local docker-compose stack (.env, ssl/, secrets/) — Enter×4 installs locally, another Base URL + owner cert installs the app structure (containers + namespace ontology with views) onto any LDH instance. The docker health-wait now only runs when targeting the local stack. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
app/install.sh now starts with the LDH CLI make-public.sh (northwind position), granting the same class-based read access as `make public` but through LDH's HTTP API, so it also works against remote instances. `make load` still ends with `make public` — both are idempotent. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
app/ns.ttl— new LDH namespace ontology (served at{base}ns, northwind-traders pattern) defining fiveldh:inverseView1:N views, each aldh:View+spin:query→sp:Selectwith$about:dct:isPartOforg:organizationorg:unitOfltlod:nominatedByDiscriminating types — LDH matches views by exact
rdf:typeagainst the property's declaredrdfs:range, so parties gainschema:PoliticalPartyand the Seimascv:PublicOrganisation(EU CPOV) in the seimas mappings; seimas datasets regenerated (prod base, type triples are the only semantic diff). Legal-entity pages match no views — no empty blocks.app/import-ns.sh+app/patch-ontology.ru— reset + POST the ontology into the adminontologies/namespace/document (with@base <{base}ns>) and evict the server-side ontology cache; chained intoapp/install.sh, idempotent.Interactive
make install— LinkedDataHub-Apps-style prompts (Base URL / cert / password / proxy) with defaults from the local stack; Enter×4 = local install, another Base URL installs the app onto any LDH instance.Public dataspace on install —
app/install.shstarts with the LDH CLImake-public.sh(northwind position), granting the same class-based read access asmake publicbut through LDH's HTTP API, so it also works against remote instances; both remain idempotent.Test plan
riot --validateon ns.ttl (with install-time@base),qparseon all five embedded queriesmake -C etl/seimas BASE=https://linkeddata.lt/— SHACL conforms, graph counts unchanged (148 persons / 137 org units / 11 parties)make installagainst the local stack: all documents PUT,/nsserves exactly 5 views; re-run confirms idempotence🤖 Generated with Claude Code