Skip to content

Demonstration dictionaries (ScenicSpots, Antiques) + code-allocation convention - #31

Merged
ronaldtse merged 1 commit into
mainfrom
demo-dictionaries
Oct 7, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
demo-dictionaries

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

What

Two new demonstration dictionaries and a code-allocation convention for OpenCDD-authored dictionaries.

ScenicSpots (旅遊景點) — 83 entities. An ontology of scenic spots across Taiwan, Japan, Korea, and Italy plus a registry of twelve real places (facts pulled from each spot's Wikipedia article): three powertype dimensions (spot type, religious tradition, official grade), extended instances owning class-level properties, configured subclasses (Buddhist, Taoist, and Folk Temple), a conditional property firing only on temples, and native multilingual names (zh-Hant, ja, ko, it).

East Asian Antiques (東方古董) — 70 entities. An auction-style cataloguing taxonomy (ceramics, bronzes, jade, painting and calligraphy, furniture, lacquer, cloisonné, Buddhist sculpture, snuff bottles, ukiyo-e) stacked over category x dynasty x culture powertypes, with a Mark-and-Period conditional (reign marks apply only to ceramics) and configured subclasses (Ming blue-and-white, Goryeo celadon).

Code convention — <stem><T><NNN> with a per-dictionary stem and entity-type letter (A class, B property, E value list, I individual, U unit), following the systematic precedent of IEC 61360-7 (CAA/CBA/CEA) rather than mimicking IEC's opaque AAA blocks. Registered stems: OR oceanrunner, SP scenicspots, AN antiques. OceanRunner is renumbered (brand block 3xx, configured 4xx, individual ORI0001) and expanded from 19 to 38 properties.

Library fixes found on the way

  • CDDAL lexer now accepts BCP-47 language subtags in dotted keys (preferred_name.zh-Hant:).
  • JSON exporter emitted data_type twice for properties declaring MDC_P022 (a string key from the field registry plus a symbol key from the node wrapper) — JSON generation rejects the duplicate. Single key now, with a regression spec.

Specs: new scenicspots (13 examples), antiques (15), json_exporter (2); entity-count and code expectations updated across the oceanrunner-loading suites. Full suite green.

- New ScenicSpots and East Asian Antiques worked examples: stacked
  powertypes, extended instances, configured subclasses, conditional
  properties, registered multilingual individuals
- House code convention: per-dictionary stems with entity-type letters
  (oceanrunner ORA/ORB/ORE/ORI, scenicspots SPA/SPB/SPE/SPI,
  antiques ANA/ANB/ANE/ANI); OceanRunner renumbered off the IEC-style
  AAA/BBB blocks and expanded to 38 properties across five domains
- CDDAL lexer accepts BCP-47 language subtags in dotted keys
  (preferred_name.zh-Hant)
- JSON exporter emits a single data_type key per property (was a
  duplicate string+symbol key pair rejected by JSON generation)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant