Bug: Property URIs do not resolve / List of properties seems incomplete
If I look here: https://bioschemas.org/profiles/ChemicalSubstance/0.4-RELEASE
And click on a property definition like chemicalComposition it goes to a page which is not found: https://bioschemas.org/properties/chemicalComposition
Possibly related to this, the list of properties page for bioschemas only shows four entries. https://bioschemas.org/properties/
Maybe this is a duplicate of #653
Hi @ptsefton thanks for reporting. The issue is different (but maybe related) to #653. It is a "green" Bioschemas property because it originated in Bioschemas, but, in this case, the type and property have been already adopted by schema.org, see https://schema.org/ChemicalSubstance and https://schema.org/chemicalComposition so we should actually point to schema.org.
We are planning a Bioschemas hackathon in February 2025 to sort out pressing issues. We will add this one to the list.
Thanks for reporting.
Hi @ljgarcia I'm happy to fix this now, I just need to understand the process. I believe that the /properties/ pages are here in the Jekyll site: https://github.com/BioSchemas/bioschemas.github.io/tree/master/pages/_properties. Do you have a script that generates this from the specifications, or is it done manually?
@multimeric thanks for the offer. We worked this week on some changes for the webpage, this one is not yet tackle but we hope that some other recent changes will make this one easier. I will add more information when available.
@multimeric I have an idea. Right now, we have a new file https://bioschemas.org/types/bioschemas_types.jsonld (also in ttl). In the notebooks folder, I think we can create a notebook that uses this file to identify all the properties under the Bioschemas namespace and create the HTML (YAML-based) pages for each. Those pages would go to the folder for the properties, i.e., https://github.com/BioSchemas/bioschemas.github.io/tree/master/pages/_properties. Do you want to give it a go? Thanks.
PR in progress is anyone wants to comment https://github.com/BioSchemas/bioschemas.github.io/pull/843
If you're interested, I think this could be simplified by using Jekyll's capabilities. For example, you could add the JSON-LD as a data file, then make a page for each class and property which get automatically populated using the JSON-LD. This doesn't work much differently from your Jupyter notebook, but because it's built into Jekyll it will automatically get run by GitHub pages instead of manually.
I think you could also get terms.jsonld working using some Jekyll tricks too.
Let me know if you'd like me to add any of this as a PR.
Hi @@multimeric simplification would be nice. Yes, please go ahead and give a try. Please add a comment to the current PR so we know if you suggest that one to be processed first and they you go for another PR or if you want to modify that one. Thanks!
Hmm, there are a few challenges with my approach. I still like the idea of using Jekyll to do the automation, because you're already using it pretty substantially, and adding Python on top of that makes this a more complex codebase.
However, base Jekyll doesn't let you create a collection of HTML pages from a data file. There are plugins that do, or some custom Ruby would do it, but then you lose the automatic GitHub builds because GitHub doesn't support custom plugins.
@ptsefton @multimeric could you please have a look at the technical corner at https://bioschemas.org/types/ and https://bioschemas.org/profiles/? Does it sort the issue of canonical URIs and properties resolving to the corresponding page? Thanks
What do you mean by technical corner? I'm not sure what you want us to look at.
Sorry, it is a new sub-section at the beginning of the types and profiles page. It links to the TTL files.