ro-crate
ro-crate copied to clipboard
Add Codemeta terms
See namespace considerations in #275 before merging.
Not sure if we should add this for 1.2 when we don't have a corresponding section explaining when to use embargoEndDate etc. Suggest to delay this for 2.0.
@dgarijo to double-check the PIDs
I added a few comments @stain. In Codemeta we resolved the resolution and content negotiation of w3id.org/codemeta, but at this time, the id is still https://codemeta.github.io/terms/. I followed with another comment to see if we can push forward changing the id of the vocabulary. That may lead to incompatibility changes, so I am not sure how reluctant will people be.
I suggest using for now the current Codemeta id, even if it's not machine readable
It's OK, better remain compatible for now and use codemeta.github.io namespace.
I can add the machine readable definitions to our core Profile Crate for 1.2-DRAFT, but we would need to add also human-readable text to explain also why these URLs are 404 Not Found.
As shown in https://github.com/codemeta/codemeta/discussions/360 my proposal is to move it to https://w3id.org/codemeta/terms/
It would be great if you drop a +1 to show your support to this change
Hopefully by June 20th we'll get it solved. But community standards are slow sometimes.
I've added machine readable version in https://github.com/ResearchObject/ro-crate/blob/codemeta/docs/1.2-DRAFT/ro-crate-metadata.json#L736 , which you are free to adapt/correct. Unsure about if domainIncludes should always be SoftwareApplication
Edit: Most of them say SoftwareSourceCode in https://github.com/codemeta/codemeta/blob/master/crosswalk.csv#L63
I will review when time allows. Thanks!
Ideally from https://www.researchobject.org/ro-crate/specification/1.2-DRAFT/appendix/jsonld.html#extending-ro-crate we should have a sameAs link for these term so that RO-Crate previewer has something to link to instead of the 404 Not Found pages https://codemeta.github.io/terms/developmentStatus
However, while each term is defined on https://codemeta.github.io/terms/ textually, there are no HTML anchors there, so https://codemeta.github.io/terms/#developmentStatus for instance would not help much and would still have that dangerous github.io in its non-persistent URL:.
And we can't have multiple DefinedTerm entities with the same "sameAs": "https://codemeta.github.io/terms/" as that would semantically link them all together to the same term.
@dgarijo Could we use the https://w3id.org/codemeta# prefix in sameAs?
{
"@id": "https://codemeta.github.io/terms/developmentStatus",
"@type": ["DefinedTerm", "rdf:Property"],
"name": "developmentStatus",
"termCode": "developmentStatus",
"description": "Description of development status, e.g. Active, inactive, suspended. See repostatus.org",
"domainIncludes": {"@id": "http://schema.org/SoftwareSourceCode"},
"rangeIncludes": {"@id": "http://schema.org/Text"}
"sameAs": "https://w3id.org/codemeta#developmentStatus"
}
While https://w3id.org/codemeta#developmentStatus does resolve to a HTML page you still have to scroll down and look for "developmentStatus" but at least it's a persistent URL for each term, and also in the promised namespace-to-come.
Related question is if sameAs should rather be as an object reference to match with schema.org JSON-LD mapping as an object property:
"sameAs": { "@id": "https://w3id.org/codemeta#developmentStatus" }
@dgarijo could you also check if I got the domainIncludes and rangeIncludes correct? https://github.com/ResearchObject/ro-crate/pull/276/files#diff-391353380a9c2b594e12f6735db992305846175ab2c59389fc314ee9c5aafa37R767
I got it wrong above, I see https://github.com/codemeta/codemeta/discussions/360#discussioncomment-9519453 suggests https://w3id.org/codemeta/terms/ as namespace, so I've added that, e.g.
{
"@id": "https://codemeta.github.io/terms/buildInstructions",
"@type": ["DefinedTerm", "rdf:Property"],
"sameAs": "https://w3id.org/codemeta/terms/buildInstructions"
}
@dgarijo Can you confirm I got this right now..?
Will complete a review by the end of the week.