trustgraph/trustgraph-flow/trustgraph
Wei Xu f106ae2103
fix: preserve non-ASCII entity names in ontology URI normalization (#1036)
The entity URI normalizer stripped every non-ASCII character via the
ASCII-only patterns `[^a-z0-9\-.]` and `[^a-z0-9\-]`. For non-Latin
entity names (e.g. Chinese), this deleted the entire name, so distinct
entities collapsed onto the same URI (".../<ontology>/-"), silently
merging unrelated nodes and breaking OntoRAG for non-English content.

Switch both filters to `[^\w\-.]` / `[^\w\-]`. In Python 3, `\w` is
Unicode-aware for str patterns, so non-ASCII letters (CJK, etc.) are
preserved while punctuation and symbols are still removed. ASCII
behaviour is unchanged: names are lowercased and underscores converted
to hyphens before the filter runs, so for ASCII input the patterns are
equivalent to the originals.

Adds tests covering ASCII regression guards and non-ASCII names/types,
including the core case that two distinct Chinese entities must not
collapse onto the same URI.

Co-authored-by: arthurxuwei <5179840+arthurxuwei@users.noreply.github.com>
2026-07-09 00:05:35 +01:00
..
agent Per-flow librarian clients and per-workspace response queues (#865) 2026-05-06 12:01:01 +01:00
bootstrap feat: make bootstrapper initialiser timeouts configurable (#999) 2026-06-30 09:37:22 +01:00
chunking Per-flow librarian clients and per-workspace response queues (#865) 2026-05-06 12:01:01 +01:00
config/service fix: wire replication params through YAML/params path for Cassandra and Qdrant (#976) 2026-06-04 12:36:36 +01:00
cores fix: wire replication params through YAML/params path for Cassandra and Qdrant (#976) 2026-06-04 12:36:36 +01:00
decoding fix: reject invalid PDF decoder input (#977) 2026-06-09 16:37:39 +01:00
direct feat: data store replication configuration and TLS upgrade (#975) 2026-06-04 11:49:29 +01:00
embeddings Fix Ollama async issue (#854) 2026-04-28 15:43:04 +01:00
external Implement logging strategy (#444) 2025-07-30 23:18:38 +01:00
extract fix: preserve non-ASCII entity names in ontology URI normalization (#1036) 2026-07-09 00:05:35 +01:00
flow Per-flow librarian clients and per-workspace response queues (#865) 2026-05-06 12:01:01 +01:00
gateway fix: lazily retry signing key fetch on JWT authentication (#1032) 2026-07-07 16:00:34 +01:00
iam feat: add structured audit event system (#1027) 2026-07-06 10:47:49 +01:00
librarian fix: wire replication params through YAML/params path for Cassandra and Qdrant (#976) 2026-06-04 12:36:36 +01:00
metering feat: workspace-based multi-tenancy, replacing user as tenancy axis (#840) 2026-04-21 23:23:01 +01:00
model fix: simplify dashscope variant and route API calls through variants (#1012) 2026-07-02 09:12:55 +01:00
processing Fix/startup failure (#445) 2025-07-30 23:42:11 +01:00
prompt feat: workspace-based multi-tenancy, replacing user as tenancy axis (#840) 2026-04-21 23:23:01 +01:00
query fix: structured data query and auth fixes (#978) 2026-06-08 15:22:11 +01:00
reranker feat: replace LLM edge scoring with cross-encoder reranker in GraphRAG (#1005) 2026-06-30 14:36:37 +01:00
retrieval feat: structured source document references in graph-rag responses (#1035) 2026-07-08 23:59:56 +01:00
rev_gateway Update rev-gateway for IAM integration (#940) 2026-05-19 21:45:43 +01:00
storage feat: hybrid retrieval (BM25 + vector RRF fusion) for document-RAG (#875) (#1030) 2026-07-07 12:54:02 +01:00
tables feat: global usernames and rename workspace to default_workspace (#1001) 2026-06-25 16:34:31 +01:00
template fix: avoid swallowing prompt manager interrupts 2026-05-26 10:37:21 -04:00
tool_service feat: workspace-based multi-tenancy, replacing user as tenancy axis (#840) 2026-04-21 23:23:01 +01:00
__init__.py Feature/pkgsplit (#83) 2024-09-30 19:36:09 +01:00