|
1 | 1 | # Markdown-LD Knowledge Bank |
2 | 2 |
|
| 3 | +[](https://github.com/managedcode/markdown-ld-kb/actions/workflows/validation.yml) |
| 4 | +[](https://github.com/managedcode/markdown-ld-kb/actions/workflows/release.yml) |
| 5 | +[](https://github.com/managedcode/markdown-ld-kb/actions/workflows/codeql-analysis.yml) |
| 6 | +[](https://www.nuget.org/packages/ManagedCode.MarkdownLd.Kb) |
| 7 | +[](https://www.nuget.org/packages/ManagedCode.MarkdownLd.Kb) |
| 8 | +[](https://github.com/managedcode/markdown-ld-kb/releases) |
| 9 | +[](https://dotnet.microsoft.com/) |
| 10 | +[](https://opensource.org/licenses/MIT) |
| 11 | + |
3 | 12 | Markdown-LD Knowledge Bank is a .NET 10 library for turning Markdown knowledge-base files into an in-memory RDF graph that can be searched, queried with read-only SPARQL, exported as RDF, and rendered as a diagram. |
4 | 13 |
|
5 | 14 | It ports the core idea from [lqdev/markdown-ld-kb](https://github.com/lqdev/markdown-ld-kb) into a C# library package. The runtime is local and in-memory: no localhost server, no Azure Functions host, no database server, and no hosted graph service are required. |
@@ -148,7 +157,7 @@ You do not need to pass a base URI for normal use. Document identity is resolved |
148 | 157 | - the file path, normalized the same way as the upstream project: `content/notes/rdf.md` becomes a stable document IRI |
149 | 158 | - the generated inline document path when `BuildFromMarkdownAsync` is called without a path |
150 | 159 |
|
151 | | -The library uses `urn:managedcode:markdown-ld-kb:/` as an internal default base URI only to create valid RDF IRIs when the Markdown does not provide a canonical URL. Pass `new MarkdownKnowledgePipeline(new Uri("https://your-domain/"))` only when you want generated document/entity IRIs to live under your own domain. |
| 160 | +The library uses `urn:managedcode:markdown-ld-kb:/` as an internal default base URI only to create valid RDF IRIs when the source does not provide `KnowledgeDocumentConversionOptions.CanonicalUri`. Pass `new MarkdownKnowledgePipeline(new Uri("https://your-domain/"))` only when you want generated document/entity IRIs to live under your own domain. |
152 | 161 |
|
153 | 162 | ## Optional AI Extraction |
154 | 163 |
|
@@ -307,7 +316,7 @@ var rows = await shared.Graph.SearchAsync("rdf"); |
307 | 316 | | `KnowledgeGraph` | In-memory dotNetRDF graph with query, search, export, and merge. | |
308 | 317 | | `KnowledgeGraphSnapshot` | Immutable view with `Nodes` (`KnowledgeGraphNode`) and `Edges` (`KnowledgeGraphEdge`). | |
309 | 318 | | `MarkdownDocument` | Pipeline parsed document: `FrontMatter`, `Body`, and `Sections`. | |
310 | | -| `MarkdownFrontMatter` | Typed access to YAML front matter fields. | |
| 319 | +| `MarkdownFrontMatter` | Typed front matter model used by the low-level Markdown parser. | |
311 | 320 | | `KnowledgeExtractionResult` | Merged collection of `KnowledgeEntityFact` and `KnowledgeAssertionFact`. | |
312 | 321 | | `SparqlQueryResult` | Query result with `Variables` and `Rows` of `SparqlRow`. | |
313 | 322 | | `KnowledgeSourceDocumentConverter` | Converts files and directories into pipeline-ready source documents. | |
@@ -344,7 +353,7 @@ Recognized front matter keys: |
344 | 353 | | `author` | `schema:author` | string or list | |
345 | 354 | | `tags` / `keywords` | `schema:keywords` | list | |
346 | 355 | | `about` | `schema:about` | list | |
347 | | -| `canonicalUrl` / `canonical_url` | root parser document identity; use `KnowledgeDocumentConversionOptions.CanonicalUri` for pipeline identity | string (URL) | |
| 356 | +| `canonicalUrl` / `canonical_url` | low-level Markdown parser document identity; use `KnowledgeDocumentConversionOptions.CanonicalUri` for pipeline identity | string (URL) | |
348 | 357 | | `entity_hints` / `entityHints` | entity hints | list of `{label, type, sameAs}` | |
349 | 358 |
|
350 | 359 | Optional advanced predicate forms: |
|
0 commit comments