-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Enrich/Improve JSON-LD metadata for chapters and lesson #481
Comments
This looks very cool - as a metadata wonk myself, I really like the idea of enriching the lesson metadata! |
Thank you for opening this @bencomp, I apologise that I have been under the weather and handling many urgent tasks lately and knew that I wanted to spend some time with this issue, which is why my reply is late. That being said, I echo @froggleston in that I'm excited about the prospect of improving the metadata in the lessons. I absolutely agree that the metadata could be improved by a lot and there are so many more things that we could include. I will note that @tobyhodges was also instrumental in communicating with TeSS about what was needed for the metadata. Point-by-point responseWRT to your specific points:
Funny enough, that was the exact opposite of the recommendation from TeSS: #236, so I'm at a loss on this one
This makes sense. I've been uncomfortable with this duplication. Apparently the URL is needed for bioschemas if it's known?
I think this makes sense. At the moment Lines 46 to 47 in cde8907
I believe
I would be very interested to figure out how to achieve this!
💯
Absolutely. I think solving #239 will help with this. Sources of MetadataThe metadata as we have it now comes from the One of the challenges here is to implement this in a way that minimizes work for the lesson authors/contributors. The An alternative would be to have people write metadata in JSON format, but while many consider JSON to be "human readable", I have seen evidence otherwise. I have seen the panic in the eyes of someone who is new to coding looking at a JSON file with lists and a small bit of nesting. Thus, #238 and #239 come in to play. Since we have the ability to parse Markdown via {pegboard}, this would be a way to extract paragraphs and lists for which to populate metadata. The last thing to consider is how to provide the authorship metadata. The repositories have all done this differently and it's a bit of a sticky problem (and I've highlighted some of my concerns in #238 (comment)) |
No worries and please do not apologise for being under the weather. Life happens.
That was probably a mistake. I looked at their TrainingMaterial profile 1.0-RELEASE, which uses
You are correct here. The examples in the profile suggest to me that
I'm happy to leave that for another issue. I think the code you reference may not run on every build, because I saw different dates for my lesson. Navigating the {sandpaper} codebase still isn't natural to me, so I may be wrong.
I suppose keywords could go within an episode's YAML header, where the code finds it.
Maybe a concatenation of chapter/episode questions would be a simpler (temporary) alternative?
I totally agree with your goal to keep metadata entry/management simple. (I think YAML is fine, especially with clear comments to explain values.) Authorship (and other contribution roles) is indeed tough to keep track of, at least automatically. I would say we could add a static "The Carpentries and lesson contributors" to the JSON-LD, but that doesn't feel satisfactory either. |
After discovering TeSS (found through Taxila, which uses the TeSS platform) and their recommendation for using Bioschemas, I wanted to suggest to include such metadata in Carpentries lessons. Then I discovered that metadata is already included in each page! 🙌
I do have a few ideas about potentially improving the (richness of the) metadata:
LearningResource
as@type
–TrainingMaterial
is not defined in schema.orgurl
andidentifier
, as the page URL is also used in the@id
propertydatePublished
– schema.org defines this as "Date of first broadcast/publication." (It is debatable whether we are doing it 'wrong', so this is not a big deal to meisPartOf
; keywords that apply to chapters overwriting lesson keywords; etc.creativeWorkStatus
(or a mapping like stable -> active)initialise_metadata
function inutils-metadata.R
)There is much more we could add, like maintainers and maybe even objectives (using
teaches
, I think). (Lesson objectives are also mentioned in #375 )I can help with at least some of these items, so no rush at all.
The text was updated successfully, but these errors were encountered: