-
Notifications
You must be signed in to change notification settings - Fork 1
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
ruuts-c04-metadata #57
Conversation
@wgwz @blushi this PR contains (or will contain) all the metadata for the Ruuts credit class, pilot project, and credit batch. So far I've only finished the Credit Class metadata, so a JSON-LD template, a JSON-LD ops file filled out with the appropriate info, and a new SHACL schema. If you can review what I have so far that would be great! In creating all of this I had a few questions / comments:
rather than just doing something like this:
Is there a reason for this? Is it just because we just want to know what type of element to put there?
|
This is needed so we don't need to write in the actual JSON-LD data
If you put in the
Yeah I guess we could make sure that the shapes that are being used in different classes are being put in |
Awesome, thanks so much @blushi ! That's super helpful context on why we are including things and makes sense to me now. I was just a bit confused earlier and wanted to understand why we used the |
I'm open to ideas about how to restructure things because it is easy to do but I wouldn't want to do too much of this. I think the suggestion of moving |
Is it worth reconsidering our use of SHACL schemas for credit class metadata? As @blushi indicated in her earlier comment, SHACL schemas are primarily about dataset validation. I don't think we ever actually will need to validate that a given dataset is a valid "C04-CreditClass" shape, as there will only ever be one instance of such a dataset (the one dictated here in this PR). And if we ever are making upgrades to the C04-CreditClass JSON-LD, then it will likely be in a way that our previous SHACL schema for C04-CreditClass isn't accounting for (e.g. adding a new field to the JSON-LD). I think a more appropriate use of SHACL in the context of registry standards would be:
Some docs / references for what I'm talking about w/ inheritance: If we do want to make this change across all credit classes, then that probably warrants a separate PR. But if we are aligned with this approach, then I think we can probably strip the SHACL schema from this Ruuts specific PR (unless @S4mmyb you want to draft a proposed set of updates to the regen:CreditClassVersionShape SHACL schema (as a sidenote- I'd be curious to understand why we call this |
Indeed this is one thing that I was proposing in my PR: #56 (comment) because right now, we are just repeating more or less the same constraints in all credit classes SHACL schemas.
👍
The |
"Biodiversity" | ||
], | ||
"regen:geographicApplicability": "Global", | ||
"regen:eligibleActivities": [ |
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.
@S4mmyb why not using regen:projectActivities
as in existing credit classes metadata?
or should we use regen:eligibleActivities
everywhere instead ?
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 was trying to separate out from the set of activities a credit class allows for and the specific activities a project actually engages in (which could be a subset). Right now we use regen:projectActivity
in the project metadata to indicate the list of activities a project is implementing. I was thinking we could use regen:eligibleActivities
to indicate the list of activities approved by that credit class a project could choose from. Open to other terms, but I think distinguishing the could be nice?
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.
"regen:creditingTerm": { | ||
"@type": "schema:activityDuration" | ||
}, | ||
"regen:lookbackPeriod": { | ||
"@type": "schema:activityDuration" | ||
}, | ||
"regen:permanencePeriod": { | ||
"@type": "schema:activityDuration" | ||
}, |
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.
those should be of type schema:Duration
https://schema.org/Duration (and not schema:activityDuration
which is not a type but a property that such a schema:Duration
can take: https://schema.org/activityDuration)
"regen:creditingTerm": { | |
"@type": "schema:activityDuration" | |
}, | |
"regen:lookbackPeriod": { | |
"@type": "schema:activityDuration" | |
}, | |
"regen:permanencePeriod": { | |
"@type": "schema:activityDuration" | |
}, | |
"regen:creditingTerm": { | |
"@type": "schema:Duration" | |
}, | |
"regen:lookbackPeriod": { | |
"@type": "schema:Duration" | |
}, | |
"regen:permanencePeriod": { | |
"@type": "schema:Duration" | |
}, | |
"regen:monitoringFrequency": { | ||
"@type": "schema:frequency" | ||
}, | ||
"regen:verificationFrequency": { | ||
"@type": "schema:frequency" | ||
} |
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.
schema:frequency
is not a type but a property: https://schema.org/frequency
there's no such thing as a frequency type in schema.org it seems...
"regen:monitoringFrequency": { | |
"@type": "schema:frequency" | |
}, | |
"regen:verificationFrequency": { | |
"@type": "schema:frequency" | |
} |
While working on regen-network/rnd-dev-team#1756, I've realized there are a few issues in the C04 metadata, see my comments above |
"regen:bufferPoolAccounts": { | ||
"@type": "schema:ItemList", | ||
"schema:itemListElement": [ | ||
{ | ||
"schema:name": "Credit Class (Pooled) Buffer Pool", | ||
"regen:walletAddress": "regen17pmq7hp4upvmmveqexzuhzu64v36re3w3447n7dt46uwp594wtpsuuh7f6", | ||
"regen:poolAllocation": "5%" | ||
} | ||
] | ||
}, |
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.
why not just using a @list
here? are we expecting regen:bufferPoolAccounts
to have other properties than schema:itemListElement
like schema:url
or schema:name
for instance?
"schema:itemListElement": [ | ||
{ | ||
"schema:name": "Credit Class (Pooled) Buffer Pool", | ||
"regen:walletAddress": "regen17pmq7hp4upvmmveqexzuhzu64v36re3w3447n7dt46uwp594wtpsuuh7f6", |
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 is what we've been using so far
"regen:walletAddress": "regen17pmq7hp4upvmmveqexzuhzu64v36re3w3447n7dt46uwp594wtpsuuh7f6", | |
"regen:address": "regen17pmq7hp4upvmmveqexzuhzu64v36re3w3447n7dt46uwp594wtpsuuh7f6", | |
c24aa77
to
b282ed6
Compare
Making this PR ready for review. |
Description
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...