-
Notifications
You must be signed in to change notification settings - Fork 93
Add swMATH crosswalk #361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add swMATH crosswalk #361
Conversation
|
You'll need to change the file to have the same properties as https://github.com/codemeta/codemeta/blob/master/properties_description.csv |
.gitignore
Outdated
| codemeta.Rproj | ||
| .DS_Store | ||
| .Rhistory | ||
| .idea |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be moved to your local ignore file
| @@ -0,0 +1,75 @@ | |||
| Property,swMATH | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can debug locally with https://github.com/codemeta/codemeta/blob/714e4f873b01ebf89dafbb02cca8bacb30c8a605/scripts/aggregate.py to see what's wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this test pass now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this seems hard, please ignore the comment. I don't want to hold things back.
@moranegg has informed us that we could use any property of Schema.org we want with CodeMeta if some properties in CodeMeta are missing(https://codemeta.github.io/terms/) to describe our metadata. @moranegg could you bring up some recommendations? Should we remove data we can not map or another way around must be found? |
|
Hi @Mazztok45 ,
As @progval says, the order here is important for the aggregation of all the .csv files.
You can use other schema.org properties in the instance file (codemeta.json) when declaring the schema.org context, so having both CodeMeta and schema.org in the context.
For the crosswalks, there is the ASCL example where other properties that aren't mapped to CodeMeta properties are added at the bottom: |
crosswalks/swMATH.csv
Outdated
| readme, | ||
| hasSourceCode, | ||
| isSourceCodeOf, | ||
| collectionSize,articles_count |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest at this moment to list the added properties that are mapped with schema.org with only the SwMath column and without the schema.org column:
,articles_count
,classification
physikerwelt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pull request adds a file swMATH.csv. My feeling is that some documentation what swMATH is etc should be added at the same time. You can reference our latest article about zbMATH
|
Swmath2codemeta is not a good title for a PR / commit message. You can look at https://github.com/codemeta/codemeta/commits/master/ for examples previously used in this repository. ChatGPT can assist you, or you can search for The commit message
is better but still not optimal. After describing what you did in the commit message following the advice above, you can explain that this is the copy-and-paste template for the codemeta website. Suggestion: The table below provides the crosswalk mapping between the swMATH-specific terms and the CodeMeta properties. |
|
@Mazztok45 is this PR ready? |
|
I still need to align this work with the ongoing work in development to map swMATH to CodeMeta: MaRDI4NFDI/python-zbMathRest2Oai@3e21287 There are still details we need to handle before processing with an update of the mapping. |
|
Hi @Mazztok45 , Can you finalize before Dec. 10th? Thanks! |
|
@Mazztok45 your last commit replaced LF with CRLF as the line terminator, could you undo that change? |
physikerwelt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have reviewed the line endings. They seem to be correct to me now. However, some else needs to check the contents.
|
The Codemeta side looks fine to me, but I don't see definitions of swMath's terms that I can check against. |
|
Documentation_of_swMath_Database.md Here is a prototype of a documentation of the swMATH SQL database. Most of the terms are close to the ones you can find in the API: From the API, the swMATH looks like this for the software 4532: The Codemeta mapped metadata of this software: I hope you find it helpful. |
crosswalks/swMATH.csv
Outdated
| softwareRequirements,dependencies | ||
| softwareVersion, | ||
| storageRequirements, | ||
| supportingData,related_software |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see related_software in the .md, and the examples don't match https://schema.org/supportingData
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding this example, do you mean we should have on line 21, supportingData,id ?
If no what are we missing about exposing the related_software information?
<related_software>
<id>11008</id>
<name>BayesDA</name>
</related_software>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding this example, do you mean we should have on line 21,
supportingData,id?
Sorry, I missed the notification and the link doesn't work anymore. Is it this BayesDA? https://cran.r-project.org/web/packages/BayesDA/index.html
If yes, then it is software and not data.
If no what are we missing about exposing the
related_softwareinformation?<related_software> <id>11008</id> <name>BayesDA</name> </related_software>
You currently can't express that information in CodeMeta.
However, you can produce codemeta.json document with a property you would define yourself, eg.
{
"@context": "https://w3id.org/codemeta/3.0",
"@type": "SoftwareSourceCode",
"identifier": "rms",
"name": "rms",
"description": "blah blah blah",
"https://zbmath.org/relatedSoftware": [
"https://zbmath.org/software/11008",
"https://zbmath.org/software/4515",
// ...
],
}There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it is BayesDA.
I believe data can be an acceptable compromise regarding no supportingSoftware term is available.
These software with data:
<codemeta:supportingData> <codemeta:name>MUMPS</codemeta:name> <codemeta:id>https://swmath.org/software/4013</codemeta:id> </codemeta:supportingData>
have been successfully deposited in SWH and can still in my opinion be understand by a reader and we would avoid creating extra term that are not standardized in Codemeta.
What is your opinion on it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
have been successfully deposited in SWH
because SWH does not check it
can still in my opinion be understand by a reader
but not by a machine because it would have different meaning than one it expects.
Plus, https://schema.org/supportingData states that values must have type http://schema.org/DataFeed, so in order to make it valid you need to add "@type": "schema:DataFeed"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologize for delayed reply. I just added a new term realtedSoftware to map related_software:
Mazztok45@1077530
Is it okay with you?
crosswalks/swMATH.csv
Outdated
| name,name | ||
| sameAs,homepage | ||
| url,zbmath_url | ||
| relatedLink,orms_id |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The .md says:
orms_id : an important id for every software could be (Runtime platform or script interpreter dependencies(Example - Java v1, Python2.3, .Net Framework 3.0). Supersedes runtime.)
I don't understand the definition grammatically, but it sounds like it would be a better match for runtimePlatform
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
orms_id
is the identifier of another software registry indexing this software, thus I believe relatedLink is relevant. What do you think about it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is is the identifier of a registry, or the identifier of this software in an other registry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
identifier of this software in another registry
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then orms_id should be mapped to sameAs or identifier. relatedLink would be for a web page that talks about the software.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved the orms_id term to align with sameAs, grouping it with zbmath_url under an or condition.
This change logically groups these properties, as they all serve the same purpose: providing alternative identifiers for the same object.
See:
Mazztok45@3e0a41a
| embargoEndDate, | ||
| funding, | ||
| issueTracker, | ||
| referencePublication,standard_articles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have an example or documentation for this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This example contains an example at the bottom:
<standard_articles>
<authors></authors>
<id>5380273</id>
<source>zbMATH Open Web Interface contents unavailable due to conflicting licenses.</source>
<title>zbMATH Open Web Interface contents unavailable due to conflicting licenses.</title>
<year>2008</year>
</standard_articles>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
referencePublication in Codemeta must be a URI, and I don't see a way to turn this data into a URI. However, your example is Sage which has a 2008 publication: https://zbmath.org/1168.20004 that URL would be suitable as a referencePublication.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In https://codemeta.github.io/terms/ it says that the range for referencePublication is a ScholarlyArticle. This may be a URI, but may also be a ScholarlyArticle object, right? You can maybe do something like:
"codemeta:referencePublication": {
"@id": "https://zbmath.org/1168.20004",
"identifier": "5380273",
"@type": "ScholarlyArticle",
"title":"zbMATH Open Web Interface contents unavailable due to conflicting licenses."
},
Having a URI would be ideal though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, indeed. I thought "@type": "@id" disallowed objects but I was wrong. (And it makes sense, in retrospect.)
Co-authored-by: Val Lorentz <[email protected]>
|
just for context, we have been discussing a revision of the mapping here (with Maxence): https://github.com/Mazztok45/codemeta/blob/sssom-methodology/crosswalks-sssom/swmath/swmath-codemeta-mapping.csv I think @Mazztok45 has now improved the documentation of the original specification in https://github.com/MaRDI4NFDI/swMATH4EOSC/tree/main/developer_documentation/Documentation_swMATH.md. While it's not completely done, maybe this helps shedding some light into the remaining questions. |
Co-authored-by: Val Lorentz <[email protected]>
Copy-pasted from the Codemeta website and adapted, the mappings could be described as follows:
The table below provides the crosswalk mapping between the swMATH-specific terms and the CodeMeta properties.
swMATH is an aggregator for research software in mathematics and related fields doi:10.4171/mag/118.