You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e44511c
Browse filesBrowse the repository at this point in the historyBrowse files
structural-ontology: mirror XML structure in term names
Two naming fixes so generated term names reflect the full XML structure
rather than the (flatter) F# property path.
1. Entity-qualify every non-root term name. The name was just the dotted
property path, dropping the entity root (the first XPath segment), so the
Webin-wrapped copy of a field (/WEBIN/EXPERIMENT/...) and the standalone
Experiment record (/EXPERIMENT/...) collapsed to the same name. Names are
now <Entity>.<dotted path> and globally unique.
2. Restore the wrapped-collection item level. xscgen collapses an [XmlArray]
wrapper+item pair (<PROJECT_ATTRIBUTES><PROJECT_ATTRIBUTE>) into a single
collection property, so the property path is ProjectAttributes.Tag while the
XPath keeps both levels. A reflection step re-derives the element type name
and splices it back in (ProjectAttributes.Tag -> ProjectAttributes.Attribute.Tag),
synthesizing the matching container term. Unwrapped repeated elements
(SecondaryId) are left as-is.
FragmentSelectors / xpathEntries / xpathOf are untouched: there the key is a
valid F# property path. Term names are labels only and the insdc_xpath join key
is unchanged, so decompile is unaffected.
- build/StructuralOntologyTasks.fs: entity-qualified name; wrappedItemLevels +
spliceItemLevels reflection helpers.
- src/BioFSharp.IO.INSDC/StructuralOntology.obo: regenerated.
- tests: regression tests for entity-qualified names, global uniqueness, and
wrapped vs unwrapped collection levels.
0 commit comments