mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
* refactor(export): consolidate duplicate Turtle/N-Triples literal escapers _escape_literal (module-level) and RDFSerializer._escape_turtle_literal did identical work in the same order (backslash, double-quote, newline, CR, tab). Drop the newer static helper added in #1148 and route all call sites through _escape_literal instead. Behaviour no-op. Closes #1218. * fix(export): handle datetime/None temporal bounds safely in OWL-Time _escape_literal is str-only, so routing datetime or None temporal bounds through it raised AttributeError during Turtle export. Stringify non-str bounds (plain f-string semantics) before escaping, and render None as an empty bound. Add regression tests for datetime bounds and end-only intervals. Addresses Qodo high-priority finding #2 on #1221. * fix(export): use isoformat for datetime temporal bounds str() on a datetime drops the ISO-8601 T separator, producing a lexically invalid xsd:dateTimeStamp. Use isoformat() when available; strengthen the test to assert the exact T-separated form. ---------