-
Notifications
You must be signed in to change notification settings - Fork 1
docs(memory + backlog): DBpedia direct dotNetRDF + F# CE — HKT-MDM canonical demo Path B (B-0428) — Path A type provider deferred until F# fork for AI safety with real HKT over Clifford (Aaron 2026-05-13) #2928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
AceHack
merged 7 commits into
main
from
aaron-dbpedia-is-free-master-data-with-human-curation-fsharp-type-provider-archived-resurrect-as-hkt-mdm-canonical-demo-b0428-2026-05-13
May 13, 2026
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
7afe583
docs(memory + backlog): DBpedia is free master data — F# type provide…
AceHack 8d0bcc4
fix(B-0428 + memory): correct Path B vs Path A ordering — Aaron 2026-…
AceHack 20c441c
fix(#2928): markdownlint MD032 + MD018 + MEMORY.md paired entry for D…
AceHack 1695392
fix(#2928): add MEMORY.md paired entry for DBpedia memory file + dedu…
AceHack ddc56b1
Merge remote-tracking branch 'origin/main' into aaron-dbpedia-is-free…
AceHack b2ae7b2
fix(memory): correct Path A/B label ordering in DBpedia memory file
AceHack cffad22
fix(ci): regenerate BACKLOG.md index — add B-0424..B-0428 rows + reso…
AceHack File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
188 changes: 188 additions & 0 deletions
188
...8-dbpedia-direct-dotnetrdf-fsharp-ce-hkt-mdm-canonical-demo-aaron-2026-05-13.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,188 @@ | ||
| --- | ||
| id: B-0428 | ||
| priority: P1 | ||
| status: open | ||
| title: "DBpedia via direct dotNetRDF + F# CE — HKT-MDM canonical demo (Path B, do now)" | ||
| type: feature | ||
| origin: Aaron 2026-05-13 (autonomous-loop substrate cascade) | ||
| created: 2026-05-13 | ||
| last_updated: 2026-05-13 | ||
| composes_with: | ||
| - B-0043 | ||
| - memory/feedback_aaron_dbpedia_is_free_master_data_human_curated_fsharp_type_provider_archived_resurrect_for_hkt_mdm_canonical_demo_fork_fsharp_compiler_for_ai_safety_real_hkt_over_clifford_2026_05_13.md | ||
| - memory/feedback_aaron_ontology_hkt_applies_directly_to_master_data_every_company_has_one_human_lineage_2026_05_13.md | ||
| - memory/feedback_aaron_clifford_hkt_ontology_vocabulary_axis_basis_rudders_rotors_steering_cartographer_navigator_edge_mapper_world_model_civsim_edge_runner_5_control_structures_or_4_plus_meta_2026_05_13.md | ||
| --- | ||
|
|
||
| # DBpedia via direct dotNetRDF + F# CE — HKT-MDM canonical demo (Path B, do now) | ||
|
|
||
|
AceHack marked this conversation as resolved.
|
||
| ## Aaron's directive (with correction) | ||
|
|
||
| Aaron 2026-05-13 (first): *"dude is there still a free f# type | ||
| provider for this? https://www.dbpedia.org/ this is like free | ||
| master data with human curtatino"* | ||
|
|
||
| Aaron 2026-05-13 (correction): *"sorry i said it backwards the | ||
| first one after f# fork"* + *"Build fresh F# type provider on | ||
| dotNetRDF or RDFSharp the hard one we wait and do with fork"*. | ||
|
|
||
| **Corrected ordering**: | ||
|
|
||
| - **Path B (THIS ROW — do NOW)**: Direct dotNetRDF API + F# | ||
| computation expressions | ||
| - **Path A (DEFERRED)**: Build F# type provider — waits for | ||
| F#-compiler-fork-for-AI-safety with real HKT over Clifford | ||
|
|
||
| ## Why Path B now | ||
|
|
||
| - Works on current F# (no compiler fork required) | ||
| - Medium effort (vs High for type provider) | ||
| - Composes with existing F# CE substrate in the codebase | ||
| - Demonstrates HKT-MDM (PR #2913) at internet scale via real | ||
| human-curated master data | ||
| - Unblocks B-0043 (universal-business-templates) canonical | ||
| demo | ||
|
AceHack marked this conversation as resolved.
|
||
| - Aurora pitch (PR #2924) gets a working demonstration | ||
|
|
||
| ## Why Path A is deferred | ||
|
|
||
| Type-provider authoring with current F# requires workarounds | ||
| (SRTPs + functor encodings) for the HKT-like patterns the | ||
| HKT-MDM ontology needs. After the F#-compiler-fork adds real | ||
| HKT over Clifford (per `memory/feedback_aaron_dbpedia_is_free_master_data_*.md`), | ||
| type-provider authoring becomes substantially cleaner. | ||
|
|
||
| ## Implementation outline (Path B) | ||
|
|
||
| ### Foundation library choice | ||
|
|
||
| | Library | Pros | Cons | | ||
| |---|---|---| | ||
| | **dotNetRDF 3.x** (active Feb 2026) | Most mature; RDF-Star + SPARQL-Star; broad RDF feature support | Larger API surface | | ||
| | **RDFSharp 3.23.0** (active March 2026) | Lightweight; clean API; semantic-web focused | Less coverage of RDF-Star | | ||
|
|
||
| ADR-grade choice owed during execution. | ||
|
|
||
| ### F# computation expression layer | ||
|
|
||
| Wrap chosen library with F# CE for SPARQL query authoring: | ||
|
|
||
| ```fsharp | ||
| // Pseudo-substrate — actual API per chosen library | ||
| let query = sparql { | ||
| prefix "dbo" "http://dbpedia.org/ontology/" | ||
| prefix "dbr" "http://dbpedia.org/resource/" | ||
| select ["name"; "birth"; "occupation"] | ||
| where (fun person -> | ||
| person |> isA "dbo:Person" | ||
| person |> hasProp "dbo:birthDate" "birth" | ||
| person |> hasProp "dbo:name" "name" | ||
| ) | ||
| } | ||
|
|
||
| let results = query |> DBpedia.run | ||
| ``` | ||
|
|
||
| ### HKT-MDM ontology binding | ||
|
|
||
| DBpedia entities → factory HKT `M<'T>` substrate (per PR | ||
| \#2913): | ||
|
|
||
| - `M<Person>` parametric over Person entity type | ||
| - `M<Organization>` parametric over Organization | ||
| - `M<Event>` parametric over Event | ||
| - DV2.0 hub-satellite partition (PR #2915): | ||
| - Hubs: stable Wikipedia article IDs | ||
| - Satellites: revision-versioned attributes | ||
|
|
||
| ## Pre-start checklist | ||
|
|
||
| Per `.claude/rules/backlog-item-start-gate.md`: | ||
|
|
||
| 1. **Prior-art search**: | ||
| - Original archived F# DBpedia type provider source (for | ||
| ontology insights, not implementation reuse) | ||
| - dotNetRDF `SparqlQueryClient` API | ||
| - RDFSharp client wrappers | ||
| - Existing F# computation expression patterns in `Zeta.*` | ||
| - Soraya formal-verification portfolio for SPARQL-query | ||
| safety properties | ||
|
|
||
| 2. **Dependency restructure** — walk composes_with chain: | ||
| - B-0043 (universal-business-templates — Path B IS the | ||
| canonical demo for this) | ||
| - PR #2913 (HKT-MDM universality) | ||
| - PR #2924 (Aurora pitch master-data scope) | ||
| - PR #2915 (DV2.0 wake-time rule — partition by change-rate | ||
| informs DBpedia hub-vs-satellite design) | ||
|
|
||
| 3. **Per-task scope decisions**: | ||
| - Read-only first; write-back to DBpedia is out-of-scope | ||
| - SPARQL query construction via F# CE | ||
| - Entity → HKT-MDM ontology binding | ||
| - Optional: result-caching layer for substrate-engineering | ||
| reproducibility | ||
| - Demo project showing master-data querying | ||
|
|
||
| 4. **Soraya consultation** for SPARQL-query type-safety | ||
| properties + formal verification scope | ||
|
|
||
| ## What this row does NOT commit to | ||
|
|
||
| - **NOT Path A** — type provider resurrection is separate | ||
| backlog row (deferred until F# fork) | ||
| - **NOT P0** — backlog priority among other strategic substrate | ||
| work | ||
| - **NOT a write-API to DBpedia** — read-only scope | ||
| - **NOT a F# fork** — Path A's prerequisite is its own multi- | ||
| year undertaking | ||
|
|
||
| ## Definition of done | ||
|
|
||
| - Working F# CE for SPARQL querying DBpedia | ||
| - Demo project showing master-data ontology binding | ||
| - Test coverage at query + HKT-binding scope | ||
| - Composes with B-0043 universal-business-templates substrate | ||
| - ADR recording the dotNetRDF-vs-RDFSharp choice + future-Path-A- | ||
| after-F#-fork transition plan | ||
|
|
||
| ## Why P1 | ||
|
|
||
| - Composes with B-0043 (universal-business-templates already | ||
| backlogged) | ||
| - Strategic-substrate (per PR #2902 Otto strategic encryption | ||
| authority) — DBpedia demo is HIGH-VISIBILITY factory work | ||
| - Composes with Aurora pitch deployment (PR #2924) | ||
| - Aaron has explicitly named the work | ||
| - Unblockable NOW (no compiler fork prerequisite) | ||
|
|
||
| ## Future Path A backlog row (separate) | ||
|
|
||
| When F#-compiler-fork-for-AI-safety substrate matures (real | ||
| HKT over Clifford), open a separate backlog row for: | ||
|
|
||
| - Resurrect F# DBpedia type provider on `FSharp.TypeProviders.SDK` | ||
| - Foundation: Don Syme's | ||
| [`fsprojects/FSharp.TypeProviders.SDK`](https://github.com/fsprojects/FSharp.TypeProviders.SDK) | ||
| - Substrate-fit: BEST after fork — `M<'T>` real-HKT | ||
| parametric over DBpedia entity types with compile-time | ||
| Clifford-grade type-checking | ||
| - Composes with this row's direct-API substrate (transition | ||
| path documented in this row's ADR) | ||
|
|
||
| ## Composes with | ||
|
|
||
| - B-0043 (universal-company-government-information-substrate) | ||
| - B-0427 (Axis 3 — Code/English split; this is Code-side | ||
| substrate) | ||
| - B-0426 (Axis 2 — Mirror/Beacon; this is Beacon-tier as it | ||
| ships) | ||
| - B-0424 (Stage 1 factory split — Path B lives in Forge or | ||
| Zeta?) | ||
| - PR #2913 / PR #2914 / PR #2915 / PR #2917 / PR #2924 | ||
| - PR #2892 (KSK — typed-safety motivation composes) | ||
| - `.claude/rules/fsharp-anchor-dotnet-build-sanity-check.md` | ||
| - `.claude/rules/dv2-data-split-discipline-activated.md` | ||
| (DBpedia satellites change; hubs stable) | ||
| - `algebra-owner` skill (Z-set + Clifford + BP/EP F# substrate) | ||
| - Soraya formal-verification authority | ||
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.