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
annotations of material or course according to (Bio)schemas specification #118
Comments
@abotzki Thanks a lot, I will try this out and ask my local chat-gpt and @SebastianZug for help and come back to you ... I will try to add basic functionality into our exporter, that shall be afterwards linked to a course document .... my current tool of choice for handling linked data is comunica of would you suggest another one ;-) |
Comunica looks very powerful. I will need to study a little bit more what you could use it for.
From what I understand you could query annotated resources quite easily.
For the time being, we are generating the JSON-LD objects by extracting information from a Drupal CMS which is the technical backend of our course registration system.
Via a sitemap.xml, these JSON-LD objects are provided to a bespoke scraper which consumes the information and puts it into the TeSS database.
Essentially methods which work fine in our small ELIXIR ecosystem. At the same time, we provide annotated data of the courses on our web site so that google etc can pick it up.
|
Hi @abotzki , for testing-purposes I added a new export format to the exporter-tool: https://www.npmjs.com/package/@liascript/exporter#rdf--json-ld It generates a simple jsonld-file based on the LiaScript meta-information ... I used Course instead of EducationalResource, but this can be fixed via At the moment I am not sure how to add additional information, maybe this could be included into the header-comment or by adding a special command-option to the exporter, that reads in a template-jsonld and adds the data from the Readme. What do you think? You can also try out the exporter with URLs as |
Hi @andre-dietrich thanks for all this work. I did not yet run it but I will soon. Just for inspiration how e.g. the Galaxy training network approaches this: Have a look at this training material: In the md file is also a yml header with some of the relevant information. Apart from this, the information for the JSON-LD object for each course or learningResource is extracted and merged from various sources and put into the header of the rendered HTML page. see code here: So, obviously the header-comment is an option as well as the suggestion to merge on export with other information from a template-jsonld file. Importantly, I was wondering whether you could make this JSON-LD object also part of the HTML header of the individual material next to have it separately stored as a file? |
Yes, that could be added to a web and project output generated by the exporter tool ... I will have a look at the example, thank you for that ... The |
@abotzki ... Hi, I just published the update with the --rdf-template option ... with this you can us a file or http-reference of a json-ld file, only fields that are not defined within the template will be added by the exporter. However, I wanted to generate also a more complex json and add this to the project-export https://tubaf-ifi-liascript.github.io You can see the output in action here: https://tubaf-ifi-liascript.github.io/ this will require a grouping of courses on two levels, since it is also possible to generate sub-collections, that are presented their own box with smaller cards. However, I am at the moment not sure, which format fits best. I think of ItemList, which may contain another ItemList for sub-collections of courses... Or, do you know or maybe use another structure? |
@andre-dietrich Thanks a lot for your work. I'll try it out soon. Regarding the overview of the project export an dhow you organise this is an open question in our community as well. We tend to think about learning paths as well as collections/sub-collections. You can imagine that this is not so easy to get the head around it and keep it simple in a presentation format. For the time being, we have the concept of a simple collection which is just a list. But in our future activitites within ELIXIR, we would like to include learning paths as well. This will be more difficult since you are linking "modules" (e.g. items of the list) with each other. |
I just found this tool: https://linkml.io/linkml/ - not sure whether is useful compared to comunica. |
Hello @abotzki ... so far the exporter can do a pretty simple jsonld generation. We added this into the project generation that generates nice little and configurable overview - pages based on a yaml file. You can see an example project here: https://github.com/TUBAF-IfI-LiaScript/TUBAF-IfI-LiaScript.github.io The result is a website: https://tubaf-ifi-liascript.github.io/ In this example only the course-overviews contain json-ld https://tubaf-ifi-liascript.github.io/softwareentwicklung.html It can be checked here ... From your experience, what would be a next step in order to support querying of multiple educational resources (JSONLD) or how do you use your generated data? Kind regards |
@andre-dietrich We did not yet discuss the querying of multiple educational resources. In contrast, I like you using ItemList for the collection of courses. |
@andre-dietrich I see that for collections of learning materials this definition instead of an ItemList will most probably be selected: https://schema.org/Collection - still to be confirmed. Furthermore, discussions about learning paths will be started and this will take time. |
@abotzki thanks for the info, I will have a look at it ... |
Hi,
as discussed some time ago, I send you two example of an annotation of training material (and courses = events) which we use:
example Learning material
Following this specification, the TeSS team extracts relevant data from the registry system that can be transferred to the JSON-LD object in the HTML header of the individual material page.
In an ideal scenario, the original material page has also an annotation.
For events, we use Course/CourseInstance: see example Course/CourseInstance
The doc: https://bioschemas.org/profiles/
Please reach out if you have some question on this matter.
The text was updated successfully, but these errors were encountered: