Add QuickStatements JSON output for software records#190
Conversation
Co-authored-by: physikerwelt <2777736+physikerwelt@users.noreply.github.com>
|
@copilot the result of the zbMATH API for sage is that Can you use that as example data for the unit test and describe which data would be inserted to which fields in https://portal.mardi4nfdi.de/wiki/Item:Q13572 double check if the syntax for linking items based on external identifiers is P$xq$y or P$xqP$y based on the code in the mathsearch extension. Also check based on MaRDI4NFDI/mediawiki-extensions-MathSearch#2 if the rows key is needed in the result |
…d outputs Co-authored-by: physikerwelt <2777736+physikerwelt@users.noreply.github.com>
... Updated in commit Fixture updated ( Field mapping to https://portal.mardi4nfdi.de/wiki/Item:Q13572:
For references (
On On the |
Co-authored-by: physikerwelt <2777736+physikerwelt@users.noreply.github.com>
E501 violations fixed in commit On whether this belongs here or in a separate repo: Arguments for keeping it here (current approach):
Arguments for a separate repo:
My recommendation: keep it here for now since the data coupling is tight, but if the QuickStatements exporter grows significantly (e.g. adds wikibase write-back, article exports, or its own test fixtures) it would be worth extracting into a dedicated |
src/zbmath_rest2oai/software_quickstatements.pywith core logic to convert software result dicts to QuickStatements JSON rowstest/data/software/sagemath_825_raw.jsonfixture (real zbMATH API data for SageMath id=825)test/data/software/sagemath_825_metadata.jsonexpected QuickStatements metadata JSONtest/data/software/sagemath_825_references.jsonexpected QuickStatements references JSONtest/test_software_quickstatements.pywith 22 unit + integration tests (all passing)src/zbmath_rest2oai/run_software_quickstatements.pyto produce JSON files from the zbMath APIP$xq$y,rowskey is requiredOriginal prompt
This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.