SIGN IN SIGN UP

fix(ontology): silence CodeQL false-positive + showcase grounded method

CodeQL flagged two test assertions in TestSchemaOrgCatalog as
"Incomplete URL substring sanitization" because they checked whether
the literal substring ``"schema.org"`` appeared in catalog-emitted
descriptions. The intent was to verify provenance, not validate a URL,
but the loose substring match looks like the unsafe URL-host check
CodeQL is built to catch.

Tightened both assertions to the exact emitted format
(``"Schema.org: https://schema.org/Person"`` for the type description,
``"Schema.org "`` as the per-attribute prefix), and added a comment
explaining the choice. The assertions remain meaningful — they still
fail if the catalog stops emitting Schema.org provenance — but
CodeQL's URL-host pattern matcher no longer fires.

Also extends ``examples/10_ontology_discovery.py`` so the walkthrough
now demonstrates BOTH discovery methods side by side:

  - 1a. method='llm' — LLM proposes types from text (existing)
  - 1b. method='grounded' with SchemaOrgCatalog + LLM trim (new)

Readers can see both code shapes without leaving the example.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
G
Gal Shubeli committed
4a7aa62bfbcfc89532ae8424adaaceeffb3baa13
Parent: d5a688e