Add CXSMILES string slot
## Summary
Fixes #64.
This adds a precise CHEMROF slot for CXSMILES using `cxsmiles_string` as the primary name while preserving the older `extended_smiles_string` slot as deprecated metadata.
Changes in this PR:
- add `cxsmiles_string` for CXSMILES values
- expose `cxsmiles_string` on `ChemicalEntity` for concrete chemical records
- expose `cxsmiles_string` on `ChemicalGroupingClass` for generalized/R-group structures like the example in issue #64
- keep `extended_smiles_string` as a deprecated slot and declare `cxsmiles_string` as its exact replacement with `deprecated_element_has_exact_replacement`
- document CXSMILES with aliases, Wikidata `wd:P10718`, and the ChemAxon format reference
- add the issue #64 R1/R2 CXSMILES example as a valid `MoleculeGroupingClass` example
## Rationale
The previous primary name, `extended_smiles_string`, was too broad: several tools and conventions could reasonably be described as extended SMILES. The issue is specifically about CXSMILES, so this PR uses `cxsmiles_string` as the schema-facing name while retaining the previous slot as deprecated for compatibility.
The example in the issue uses R-group placeholders, so it is modeled as a grouping class rather than a concrete fully specified molecule.
## Validation
- `make test-examples`
- `git diff --check`
Generated schema artifacts and generated example-output files are intentionally not committed in this PR.
Some AI assistance was used in preparing this PR (Codex/GPT-5.5).
@dragon-ai-agent
合并状态:未合并 3 条评论