rdfexport plugin maintenance report (2025-10-24)
Environment prep
Read plugin contributor guidance in
AGENTS.md.Ran setup commands from plugin root:
bun installbun run setup:uvbun run setup:pyodide
Captured baseline failures via
bun run test:log:linux(produced log undertests/demo_logs/test.log).Ran debugger scenario
python -m debug --drawio Class_Diagram_tweaked.drawioto record the existing Turtle output for the class diagram fixture.
Changes implemented
Updated
DrawIOCellClassifier.classifyto treat mxCell nodes whose parent is an edge as arrow labels even when the DrawIO editor omits theedgeLabelstyle. This prevents property labels from being reclassified as standalone individuals and eliminates the spuriousowl:NamedIndividualtyping for properties in the exported Turtle.Added a regression test in
legacy/tests/test_cell_classifier.pythat constructs a minimal diagram containing a property label without theedgeLabelstyle. The test asserts that the property is emitted as anowl:DatatypePropertyand never typed as an individual.Regenerated
legacy/draw_io_parser.pywith the meta builder so the override changes flow into the generated parser bundle used by tests and the Pyodide runtime.Re-ran
python -m debug --drawio Class_Diagram_tweaked.drawioto confirm the TypeScript plugin now exports 25 triples without anowl:NamedIndividualstatement for the property node, updating the debugger result artifacts.
Testing
bun run check./.venv/bin/python -m pytest legacy/tests/test_cell_classifier.py -k edge_style -vvbun run test:log:linux(final log stored intests/demo_logs/test.log).