Skip to content

Add first version of enhanced mapping metadata#81

Merged
amc-corey-cox merged 3 commits intomainfrom
linkml-map-metadata
Mar 27, 2026
Merged

Add first version of enhanced mapping metadata#81
amc-corey-cox merged 3 commits intomainfrom
linkml-map-metadata

Conversation

@matentzn
Copy link
Copy Markdown
Contributor

@matentzn matentzn commented Aug 14, 2025

LinkML-Map transformation specifications previously had minimal metadata — just id, title, and schema references. This made it difficult to track provenance, authorship, licensing, and versioning of mapping specifications.

The FAIR Mappings Schema defines a minimal metadata standard for mapping specifications. By aligning LinkML-Map's TransformationSpecification with this schema (at least a little closer), we enable:

  • Provenance tracking: who created, authored, and reviewed a mapping specification
  • FAIR compliance: publication date, license, version, and documentation URLs
  • Interoperability: metadata can be transformed to/from FAIR Mappings Schema format using LinkML-Map itself

Summary of changes

Schema (transformer_model.yaml):

  • Added metadata fields to TransformationSpecification: publication_date, license, version, creator, author, reviewer, mapping_method, documentation, content_url
  • Added Agent class hierarchy (Agent, Person, Organization, Software) aligned with FAIR Mappings Schema, supporting polymorphic contributor modeling via designates_type

Examples:

  • Enriched the personinfo-to-agent example with real metadata (ORCIDs, license, publication date)
  • Added FAIR Mappings metadata example with sample data, transform specs, and expected output demonstrating linkml-map-to-FAIR and SSSOM-to-FAIR transformations

Tests:

  • Updated existing tests to reflect enriched example metadata

What's not included (future work)

Comment thread src/linkml_map/datamodel/transformer_model.yaml Outdated
Comment thread src/linkml_map/datamodel/transformer_model.py Outdated
@amc-corey-cox
Copy link
Copy Markdown
Contributor

The description field you added to TransformationSpecification is actually already inherited from SpecificationComponent (the parent class), so that addition can be removed. The other new fields (publication_date, license, version, creator_id, author_id, mapping_method) are the actual new additions.

I'll fix up the conflicts with main and update the tests so this is ready to go.

@amc-corey-cox
Copy link
Copy Markdown
Contributor

@matentzn I fixed the conflicts you were running into and I think this could be ready to merge in. If you're happy with what we have here just click the "Ready for review" button to take this off of draft mode. I'll review it and merge it in.

@matentzn
Copy link
Copy Markdown
Contributor Author

matentzn commented Jan 7, 2026

@amc-corey-cox Thank you for looking into this! I still need to review some of these changes with my collaborators; I will let you know when I am happy with it!

PS: I will join you soon in your LinkML-map efforts - my funds where approved (yay)

@matentzn matentzn force-pushed the linkml-map-metadata branch from 4f729ab to 3083582 Compare March 23, 2026 17:36
@matentzn matentzn marked this pull request as ready for review March 23, 2026 17:41
@matentzn matentzn requested a review from amc-corey-cox March 23, 2026 17:42
@matentzn
Copy link
Copy Markdown
Contributor Author

@amc-corey-cox there is no huge rush here, but I think this is in a good enough stage now to merge. Let me know if you have any feedback!

@amc-corey-cox
Copy link
Copy Markdown
Contributor

@matentzn I'm working on this one. I had Claude Code help me review it and came up with a bunch of things, some I don't agree with. I'm working through it and trying to get a reasonable review for you.

amc-corey-cox added a commit that referenced this pull request Mar 27, 2026
Add metadata fields (publication_date, license, version, creator, author,
reviewer, mapping_method, documentation, content_url) and Agent class
hierarchy (Person, Organization, Software). Enrich personinfo example
with metadata fields and update test assertions.

Rescued from PR #81 (matentzn), cleaned of unrelated changes that
merged independently via #156 and #158.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
amc-corey-cox added a commit that referenced this pull request Mar 27, 2026
Add metadata fields (publication_date, license, version, creator, author,
reviewer, mapping_method, documentation, content_url) and Agent class
hierarchy (Person, Organization, Software). Enrich personinfo example
with metadata fields and update test assertions.

Rescued from PR #81 (matentzn), cleaned of unrelated changes that
merged independently via #156 and #158.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@amc-corey-cox amc-corey-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matentzn - I just have a couple comments here. I don't think any of this needs to be blocking. I would prefer if we get the tests in before the merge but feel free to merge if you just want to get it in. This was sitting a while and took a fair bit of effort to get ready to merge again so we may just want to merge and avoid that happening again.

Comment thread src/linkml_map/datamodel/transformer_model.yaml Outdated
Comment thread tests/test_datamodel.py
matentzn and others added 2 commits March 27, 2026 20:28
Add metadata fields to TransformationSpecification aligned with the
FAIR Mappings Schema: publication_date, license, version, creator,
author, reviewer, mapping_method, documentation, and content_url.

Add Agent class hierarchy (Agent, Person, Organization, Software)
for structured contributor modeling with type discrimination.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add example demonstrating transformation of LinkML-Map
TransformationSpecification metadata to FAIR Mappings Schema format,
with sample data, transform spec, and expected output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@amc-corey-cox amc-corey-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good! I'm going to merge.

@amc-corey-cox amc-corey-cox merged commit dd6291c into main Mar 27, 2026
8 checks passed
@amc-corey-cox amc-corey-cox deleted the linkml-map-metadata branch March 27, 2026 20:10
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.

2 participants