Skip to content

Commit def7e7e

Browse files
committed
chore: rebuild blog data, KB, sitemap, RSS, audio manifests
1 parent 30ff92e commit def7e7e

8 files changed

Lines changed: 963 additions & 429 deletions

File tree

front/public/blog/audio-es/manifest-es.json

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"lang": "es",
33
"voice": "es-CO-GonzaloNeural",
4-
"generatedAt": 1776374234,
4+
"generatedAt": 1777681101,
55
"posts": {
66
"curiosities/algebraic-number-theory-when-factorization-breaks": {
77
"slug": "algebraic-number-theory-when-factorization-breaks",
@@ -185,6 +185,19 @@
185185
"audioUrl": "/blog/audio-es/curiosities/tetris-np-complete.mp3",
186186
"translationModel": "gemma4:latest"
187187
},
188+
"field-notes/agent-guardrails-field-guide": {
189+
"slug": "agent-guardrails-field-guide",
190+
"category": "field-notes",
191+
"lang": "es",
192+
"voice": "es-CO-GonzaloNeural",
193+
"hash": "1cf226a1c1d53508997bd600599125ce66a81fb8db044e5256d2f7a2101716d5",
194+
"sourceHash": "ac523e684519b6a27647e9138b81f19ca08ff4053a819b42a25ad27d82f6f387",
195+
"durationSec": 2297.952,
196+
"byteSize": 13787712,
197+
"narrationWordCount": 6338,
198+
"audioUrl": "/blog/audio-es/field-notes/agent-guardrails-field-guide.mp3",
199+
"translationModel": "gemma4:latest"
200+
},
188201
"field-notes/ai-poc-enterprise-evaluation": {
189202
"slug": "ai-poc-enterprise-evaluation",
190203
"category": "field-notes",
@@ -497,6 +510,19 @@
497510
"audioUrl": "/blog/audio-es/field-notes/gcp-ai-stack-vertex-alloydb-knowledge-pipeline.mp3",
498511
"translationModel": "gemma4:latest"
499512
},
513+
"field-notes/gemini-enterprise-knowledge-catalog-deep-dive": {
514+
"slug": "gemini-enterprise-knowledge-catalog-deep-dive",
515+
"category": "field-notes",
516+
"lang": "es",
517+
"voice": "es-CO-GonzaloNeural",
518+
"hash": "77164fa475f1860197e2662e0fc75984320fb85c933e29d40f100e778d928424",
519+
"sourceHash": "82f0e862083677b20ad035258aacf21a03ab7376d415d49b627adf8beb038cdb",
520+
"durationSec": 2146.704,
521+
"byteSize": 12880224,
522+
"narrationWordCount": 6392,
523+
"audioUrl": "/blog/audio-es/field-notes/gemini-enterprise-knowledge-catalog-deep-dive.mp3",
524+
"translationModel": "gemma4:latest"
525+
},
500526
"field-notes/git-and-github-complete-guide": {
501527
"slug": "git-and-github-complete-guide",
502528
"category": "field-notes",
@@ -510,6 +536,19 @@
510536
"audioUrl": "/blog/audio-es/field-notes/git-and-github-complete-guide.mp3",
511537
"translationModel": "gemma4:latest"
512538
},
539+
"field-notes/google-cloud-next-2026-agent-native-stack": {
540+
"slug": "google-cloud-next-2026-agent-native-stack",
541+
"category": "field-notes",
542+
"lang": "es",
543+
"voice": "es-CO-GonzaloNeural",
544+
"hash": "4d764ddfb9ff2e748462ee1faa78e246bfd237b00b100a76390a6de96f2aff40",
545+
"sourceHash": "8557120880f6511b1b34ae767846290d66333f1fb096a6b4d61812cbc595e5a1",
546+
"durationSec": 2341.656,
547+
"byteSize": 14049936,
548+
"narrationWordCount": 6281,
549+
"audioUrl": "/blog/audio-es/field-notes/google-cloud-next-2026-agent-native-stack.mp3",
550+
"translationModel": "gemma4:latest"
551+
},
513552
"field-notes/graph-neural-networks-learning-structured-data": {
514553
"slug": "graph-neural-networks-learning-structured-data",
515554
"category": "field-notes",
@@ -536,6 +575,19 @@
536575
"audioUrl": "/blog/audio-es/field-notes/knowledge-base-curation.mp3",
537576
"translationModel": "gemma4:latest"
538577
},
578+
"field-notes/knowledge-catalog-vs-ontologies": {
579+
"slug": "knowledge-catalog-vs-ontologies",
580+
"category": "field-notes",
581+
"lang": "es",
582+
"voice": "es-CO-GonzaloNeural",
583+
"hash": "f32aea7559372d68a22c0d44adead68bbff2cdd21f63ca755b77e1320f70e734",
584+
"sourceHash": "9d7ac6fcdebfd8a40f32a620a979eef5ce9269818346a221c9a170b87ce14551",
585+
"durationSec": 1855.68,
586+
"byteSize": 11134080,
587+
"narrationWordCount": 5241,
588+
"audioUrl": "/blog/audio-es/field-notes/knowledge-catalog-vs-ontologies.mp3",
589+
"translationModel": "gemma4:latest"
590+
},
539591
"field-notes/knowledge-graphs-practice": {
540592
"slug": "knowledge-graphs-practice",
541593
"category": "field-notes",
@@ -718,6 +770,19 @@
718770
"audioUrl": "/blog/audio-es/field-notes/model-context-protocol.mp3",
719771
"translationModel": "gemma4:latest"
720772
},
773+
"field-notes/modular-ontologies-core-domains-pattern": {
774+
"slug": "modular-ontologies-core-domains-pattern",
775+
"category": "field-notes",
776+
"lang": "es",
777+
"voice": "es-CO-GonzaloNeural",
778+
"hash": "3362a343587a2d676b078c51a73fdf54455aadf464adbb4984b4c6cfd0e822d7",
779+
"sourceHash": "63ac54637be2c867466e7ba5caf150d912bb5bf66a3d0cfa4418306032b02b97",
780+
"durationSec": 1757.712,
781+
"byteSize": 10546272,
782+
"narrationWordCount": 4569,
783+
"audioUrl": "/blog/audio-es/field-notes/modular-ontologies-core-domains-pattern.mp3",
784+
"translationModel": "gemma4:latest"
785+
},
721786
"field-notes/mteb-embedding-benchmarks": {
722787
"slug": "mteb-embedding-benchmarks",
723788
"category": "field-notes",
@@ -770,6 +835,19 @@
770835
"audioUrl": "/blog/audio-es/field-notes/ontologies-building-knowledge-bases.mp3",
771836
"translationModel": "gemma4:latest"
772837
},
838+
"field-notes/ontology-production-pipeline-gcp": {
839+
"slug": "ontology-production-pipeline-gcp",
840+
"category": "field-notes",
841+
"lang": "es",
842+
"voice": "es-CO-GonzaloNeural",
843+
"hash": "33e55372f12dd3c246a40952b75d36d131c2b3ac7afa651e875d3f16331e5187",
844+
"sourceHash": "45a25f50eb11b2a3dd116db2fb6478048bab4d28ab708cafac840c59e7bba5c8",
845+
"durationSec": 1471.896,
846+
"byteSize": 8831376,
847+
"narrationWordCount": 3961,
848+
"audioUrl": "/blog/audio-es/field-notes/ontology-production-pipeline-gcp.mp3",
849+
"translationModel": "gemma4:latest"
850+
},
773851
"field-notes/ontology-to-agent-toolbox": {
774852
"slug": "ontology-to-agent-toolbox",
775853
"category": "field-notes",
@@ -783,6 +861,19 @@
783861
"audioUrl": "/blog/audio-es/field-notes/ontology-to-agent-toolbox.mp3",
784862
"translationModel": "gemma4:latest"
785863
},
864+
"field-notes/populating-knowledge-graph-llms-banking": {
865+
"slug": "populating-knowledge-graph-llms-banking",
866+
"category": "field-notes",
867+
"lang": "es",
868+
"voice": "es-CO-GonzaloNeural",
869+
"hash": "298ef76b736f78ddad36e11167e1a0846791052adc933cb2dbdd13cc532a7b1e",
870+
"sourceHash": "7118caf3e19c5be8ddfb8601f5d905b63a46b871679835e0ebd3f780ea1472d8",
871+
"durationSec": 1652.64,
872+
"byteSize": 9915840,
873+
"narrationWordCount": 4295,
874+
"audioUrl": "/blog/audio-es/field-notes/populating-knowledge-graph-llms-banking.mp3",
875+
"translationModel": "aya-expanse:8b"
876+
},
786877
"field-notes/production-llm-agents-patterns": {
787878
"slug": "production-llm-agents-patterns",
788879
"category": "field-notes",
@@ -952,6 +1043,19 @@
9521043
"audioUrl": "/blog/audio-es/field-notes/structuring-ml-projects.mp3",
9531044
"translationModel": "gemma4:latest"
9541045
},
1046+
"field-notes/tbox-abox-schema-facts-distinction": {
1047+
"slug": "tbox-abox-schema-facts-distinction",
1048+
"category": "field-notes",
1049+
"lang": "es",
1050+
"voice": "es-CO-GonzaloNeural",
1051+
"hash": "249ccad9a42850afe406ad151beb3622106237aa594dcb9b0c23f82a55605050",
1052+
"sourceHash": "13c3a1c441947472a4ab2c678877007a42bee3d0b7b85ea7bfcfc6f1712ed2aa",
1053+
"durationSec": 1540.536,
1054+
"byteSize": 9243216,
1055+
"narrationWordCount": 4135,
1056+
"audioUrl": "/blog/audio-es/field-notes/tbox-abox-schema-facts-distinction.mp3",
1057+
"translationModel": "gemma4:latest"
1058+
},
9551059
"field-notes/terraform-infrastructure-as-code": {
9561060
"slug": "terraform-infrastructure-as-code",
9571061
"category": "field-notes",

front/public/blog/audio/manifest.json

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"lang": "en",
33
"voice": "en-US-AndrewMultilingualNeural",
4-
"generatedAt": 1777673811,
4+
"generatedAt": 1777677498,
55
"posts": {
66
"curiosities/algebraic-number-theory-when-factorization-breaks": {
77
"slug": "algebraic-number-theory-when-factorization-breaks",
@@ -510,6 +510,19 @@
510510
"audioUrl": "/blog/audio/field-notes/gcp-ai-stack-vertex-alloydb-knowledge-pipeline.mp3",
511511
"translationModel": ""
512512
},
513+
"field-notes/gemini-enterprise-knowledge-catalog-deep-dive": {
514+
"slug": "gemini-enterprise-knowledge-catalog-deep-dive",
515+
"category": "field-notes",
516+
"lang": "en",
517+
"voice": "en-US-AndrewMultilingualNeural",
518+
"hash": "82f0e862083677b20ad035258aacf21a03ab7376d415d49b627adf8beb038cdb",
519+
"sourceHash": "82f0e862083677b20ad035258aacf21a03ab7376d415d49b627adf8beb038cdb",
520+
"durationSec": 1696.248,
521+
"byteSize": 10177488,
522+
"narrationWordCount": 5552,
523+
"audioUrl": "/blog/audio/field-notes/gemini-enterprise-knowledge-catalog-deep-dive.mp3",
524+
"translationModel": ""
525+
},
513526
"field-notes/git-and-github-complete-guide": {
514527
"slug": "git-and-github-complete-guide",
515528
"category": "field-notes",
@@ -562,6 +575,19 @@
562575
"audioUrl": "/blog/audio/field-notes/knowledge-base-curation.mp3",
563576
"translationModel": ""
564577
},
578+
"field-notes/knowledge-catalog-vs-ontologies": {
579+
"slug": "knowledge-catalog-vs-ontologies",
580+
"category": "field-notes",
581+
"lang": "en",
582+
"voice": "en-US-AndrewMultilingualNeural",
583+
"hash": "9d7ac6fcdebfd8a40f32a620a979eef5ce9269818346a221c9a170b87ce14551",
584+
"sourceHash": "9d7ac6fcdebfd8a40f32a620a979eef5ce9269818346a221c9a170b87ce14551",
585+
"durationSec": 1675.392,
586+
"byteSize": 10052352,
587+
"narrationWordCount": 4813,
588+
"audioUrl": "/blog/audio/field-notes/knowledge-catalog-vs-ontologies.mp3",
589+
"translationModel": ""
590+
},
565591
"field-notes/knowledge-graphs-practice": {
566592
"slug": "knowledge-graphs-practice",
567593
"category": "field-notes",

front/public/blog/headers/ATTRIBUTIONS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,5 @@ Photographic headers used in blog posts. Sources credited below per license term
3131
- `bee-pollinating-flower-header.jpg` — Photo by Nirajan pant, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Honey_bee_pollinating_Daisy_Flower.jpg) (CC BY-SA 4.0)
3232
- `mountain-road-guardrail-header.jpg` — Photo by Ximonic (Simo Räsänen), [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Estrada_Regional_105_mountain_road_in_Ribeira_Brava,_Madeira,_2023_May_-_2.jpg) (CC BY-SA 4.0)
3333
- `las-vegas-convention-center-header.jpg` — Photo by Steve Jurvetson, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Las_Vegas_Convention_Center_Loop.jpeg) (CC BY 2.0)
34+
- `card-catalog-drawers-header.jpg` — Photo by MarkBuckawicki, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Wooden_Card_Catalog_Furniture.jpg) (CC0)
35+
- `rivers-confluence-header.jpg` — Photo by Timothy A. Gonsalves, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Confluence_Tsarap_Purne_Lungnak_Zanskar_Oct22_A7C_03655.jpg) (CC BY-SA 4.0)

front/public/rss.xml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,52 @@
99
<atom:link href="https://juanlara18.github.io/portfolio/rss.xml" rel="self" type="application/rss+xml" />
1010
<description>Technical writing on machine learning, AI agents, NLP, and data engineering — research notes, field notes, and curiosities.</description>
1111
<language>en-us</language>
12-
<lastBuildDate>Thu, 15 Jul 2027 00:00:00 GMT</lastBuildDate>
12+
<lastBuildDate>Thu, 29 Jul 2027 00:00:00 GMT</lastBuildDate>
1313
<generator>build-rss.js</generator>
14+
<item>
15+
<title>Knowledge Catalog vs Ontologies: A Confluence, Not a Replacement</title>
16+
<link>https://juanlara18.github.io/portfolio/blog/field-notes/knowledge-catalog-vs-ontologies</link>
17+
<guid isPermaLink="true">https://juanlara18.github.io/portfolio/blog/field-notes/knowledge-catalog-vs-ontologies</guid>
18+
<pubDate>Thu, 29 Jul 2027 00:00:00 GMT</pubDate>
19+
<description><![CDATA[Google's Knowledge Catalog and a domain ontology look like they answer the same question. They do not. One is an asset registry with governance and lineage; the other is a formal model of meaning with inferential reasoning. A mature knowledge layer almost always needs both, with a clear arrow of dependency between them. This post is the four-part arc's closing piece, naming the substitutions, the anti-patterns, and the honest hybrid architecture.]]></description>
20+
<category>field-notes</category>
21+
<category>Knowledge Graphs</category>
22+
<category>Ontologies</category>
23+
<category>Ontology Engineering</category>
24+
<category>GCP</category>
25+
<category>Data Architecture</category>
26+
<category>Agents</category>
27+
<category>Agentic AI</category>
28+
<category>RAG</category>
29+
<category>Best Practices</category>
30+
<category>Knowledge Bases</category>
31+
<category>OWL</category>
32+
<category>Semantic Web</category>
33+
<enclosure url="https://pub-00d57ee081654fe389ef2660b8f38f69.r2.dev/audio/field-notes/knowledge-catalog-vs-ontologies.mp3" length="10052352" type="audio/mpeg" />
34+
<dc:creator>Juan Lara</dc:creator>
35+
</item>
36+
<item>
37+
<title>Gemini Enterprise and the Knowledge Catalog: Two Buildings, Room by Room</title>
38+
<link>https://juanlara18.github.io/portfolio/blog/field-notes/gemini-enterprise-knowledge-catalog-deep-dive</link>
39+
<guid isPermaLink="true">https://juanlara18.github.io/portfolio/blog/field-notes/gemini-enterprise-knowledge-catalog-deep-dive</guid>
40+
<pubDate>Thu, 22 Jul 2027 00:00:00 GMT</pubDate>
41+
<description><![CDATA[The Cloud Next 26 overview gave you the map. This post zooms in on the two pieces that will reshape a Knowledge Data Engineer's day-to-day in the next twelve months: the Gemini Enterprise Agent Platform as a control plane, and the Knowledge Catalog as the semantic spine that grounds every agent answer in audited enterprise truth.]]></description>
42+
<category>field-notes</category>
43+
<category>Google Cloud</category>
44+
<category>Vertex AI</category>
45+
<category>Agents</category>
46+
<category>Agentic AI</category>
47+
<category>Knowledge Graphs</category>
48+
<category>Data Architecture</category>
49+
<category>Production ML</category>
50+
<category>Infrastructure</category>
51+
<category>RAG</category>
52+
<category>MLOps</category>
53+
<category>MCP</category>
54+
<category>Knowledge Engineering</category>
55+
<enclosure url="https://pub-00d57ee081654fe389ef2660b8f38f69.r2.dev/audio/field-notes/gemini-enterprise-knowledge-catalog-deep-dive.mp3" length="10177488" type="audio/mpeg" />
56+
<dc:creator>Juan Lara</dc:creator>
57+
</item>
1458
<item>
1559
<title>Google Cloud Next 2026: The Agent-Native Stack, Decoded</title>
1660
<link>https://juanlara18.github.io/portfolio/blog/field-notes/google-cloud-next-2026-agent-native-stack</link>

front/public/sitemap.xml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,58 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://juanlara18.github.io/portfolio/</loc>
5-
<lastmod>2026-05-01</lastmod>
5+
<lastmod>2026-05-02</lastmod>
66
<changefreq>monthly</changefreq>
77
<priority>1.0</priority>
88
</url>
99
<url>
1010
<loc>https://juanlara18.github.io/portfolio/about</loc>
11-
<lastmod>2026-05-01</lastmod>
11+
<lastmod>2026-05-02</lastmod>
1212
<changefreq>monthly</changefreq>
1313
<priority>0.8</priority>
1414
</url>
1515
<url>
1616
<loc>https://juanlara18.github.io/portfolio/projects</loc>
17-
<lastmod>2026-05-01</lastmod>
17+
<lastmod>2026-05-02</lastmod>
1818
<changefreq>monthly</changefreq>
1919
<priority>0.8</priority>
2020
</url>
2121
<url>
2222
<loc>https://juanlara18.github.io/portfolio/blog</loc>
23-
<lastmod>2026-05-01</lastmod>
23+
<lastmod>2026-05-02</lastmod>
2424
<changefreq>weekly</changefreq>
2525
<priority>0.9</priority>
2626
</url>
2727
<url>
2828
<loc>https://juanlara18.github.io/portfolio/blog/category/field-notes</loc>
29-
<lastmod>2026-05-01</lastmod>
29+
<lastmod>2026-05-02</lastmod>
3030
<changefreq>weekly</changefreq>
3131
<priority>0.7</priority>
3232
</url>
3333
<url>
3434
<loc>https://juanlara18.github.io/portfolio/blog/category/research</loc>
35-
<lastmod>2026-05-01</lastmod>
35+
<lastmod>2026-05-02</lastmod>
3636
<changefreq>weekly</changefreq>
3737
<priority>0.7</priority>
3838
</url>
3939
<url>
4040
<loc>https://juanlara18.github.io/portfolio/blog/category/curiosities</loc>
41-
<lastmod>2026-05-01</lastmod>
41+
<lastmod>2026-05-02</lastmod>
4242
<changefreq>weekly</changefreq>
4343
<priority>0.7</priority>
4444
</url>
45+
<url>
46+
<loc>https://juanlara18.github.io/portfolio/blog/field-notes/knowledge-catalog-vs-ontologies</loc>
47+
<lastmod>2027-07-29</lastmod>
48+
<changefreq>monthly</changefreq>
49+
<priority>0.7</priority>
50+
</url>
51+
<url>
52+
<loc>https://juanlara18.github.io/portfolio/blog/field-notes/gemini-enterprise-knowledge-catalog-deep-dive</loc>
53+
<lastmod>2027-07-22</lastmod>
54+
<changefreq>monthly</changefreq>
55+
<priority>0.7</priority>
56+
</url>
4557
<url>
4658
<loc>https://juanlara18.github.io/portfolio/blog/field-notes/google-cloud-next-2026-agent-native-stack</loc>
4759
<lastmod>2027-07-15</lastmod>

front/src/data/blogData.json

Lines changed: 119 additions & 3 deletions
Large diffs are not rendered by default.

knowledge-base/KNOWLEDGE_BASE.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,10 @@ pagerank-eigenvectors:
269269
270270
Auto-generated index of every post by category, sorted most recent first. Use this when you need a complete inventory of what the blog covers — for example, when loaded as Claude Project knowledge and you cannot query `posts.json`.
271271

272-
### field-notes (70 posts)
272+
### field-notes (72 posts)
273273

274+
- **`knowledge-catalog-vs-ontologies`** *(deep)* — Knowledge Catalog vs Ontologies: A Confluence, Not a Replacement. Google's Knowledge Catalog and a domain ontology look like they answer the same question. They do not. One is an asset registry with governance and lineage; the other is a formal model of meaning with inferential reasoning. A mature knowledge layer almost always needs both, with a clear arrow of dependency between them. This post is the four-part arc's closing piece, naming the substitutions, the anti-patterns, and the honest hybrid architecture. Concepts: knowledge graphs, ontologies, ontology engineering, gcp, data architecture, agents.
275+
- **`gemini-enterprise-knowledge-catalog-deep-dive`** *(deep)* — Gemini Enterprise and the Knowledge Catalog: Two Buildings, Room by Room. The Cloud Next 26 overview gave you the map. This post zooms in on the two pieces that will reshape a Knowledge Data Engineer's day-to-day in the next twelve months: the Gemini Enterprise Agent Platform as a control plane, and the Knowledge Catalog as the semantic spine that grounds every agent answer in audited enterprise truth. Concepts: google cloud, vertex ai, agents, agentic ai, knowledge graphs, data architecture.
274276
- **`google-cloud-next-2026-agent-native-stack`** *(deep)* — Google Cloud Next 2026: The Agent-Native Stack, Decoded. On April 22, 2026, Sundar Pichai walked onstage at Mandalay Bay and quietly renamed Vertex AI. The new label, Gemini Enterprise Agent Platform, sounds like marketing. It is not. It is the most aggressive cloud reorganization since the original Compute Engine launch. This is the practitioner's deep dive into every announcement that matters, what it replaces, and what to actually adopt. Concepts: gcp, vertex ai, cloud computing, agents, agentic ai, llms.
275277
- **`agent-guardrails-field-guide`** *(deep)* — Guardrails for Agent Systems: A Field Guide. What goes wrong when an agent gets loose in production, and the layered defenses that actually keep it from doing damage. A practitioner's mental model: threat taxonomy, five guardrail layers with code, blast radius reasoning, the tooling landscape, evaluation, and the anti-patterns that defeat the whole effort. Concepts: agents, agentic ai, llms, production ml, best practices, evaluation.
276278
- **`populating-knowledge-graph-llms-banking`** *(deep)* — Populating a Knowledge Graph with LLMs: A Banking Case Study. There is an abyss between the GraphRAG paper and a pipeline that runs reliably in production. This post crosses that gap with a worked banking case — ingesting mortgage-loan documents into Neo4j with a schema-embedded extraction prompt, Pydantic repair, pySHACL validation, entity resolution, and idempotent MERGE Cypher. Concepts: knowledge graphs, llms, ontologies, information extraction, neo4j, entity resolution.

0 commit comments

Comments
 (0)