rdfexport plugin maintenance report (2025-10-24)

Environment prep

  • Read plugin contributor guidance in AGENTS.md.

  • Ran setup commands from plugin root:

    • bun install

    • bun run setup:uv

    • bun run setup:pyodide

  • Captured baseline failures via bun run test:log:linux (produced log under tests/demo_logs/test.log).

  • Ran debugger scenario python -m debug --drawio Class_Diagram_tweaked.drawio to record the existing Turtle output for the class diagram fixture.

Changes implemented

  • Updated DrawIOCellClassifier.classify to treat mxCell nodes whose parent is an edge as arrow labels even when the DrawIO editor omits the edgeLabel style. This prevents property labels from being reclassified as standalone individuals and eliminates the spurious owl:NamedIndividual typing for properties in the exported Turtle.

  • Added a regression test in legacy/tests/test_cell_classifier.py that constructs a minimal diagram containing a property label without the edgeLabel style. The test asserts that the property is emitted as an owl:DatatypeProperty and never typed as an individual.

  • Regenerated legacy/draw_io_parser.py with 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.drawio to confirm the TypeScript plugin now exports 25 triples without an owl:NamedIndividual statement 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 -vv

  • bun run test:log:linux (final log stored in tests/demo_logs/test.log).