How to create a new Bioschemas Type with the Data Discovery Engine (DDE) Schema Playground
In this how-to, we will guide you through the necessary steps in order to create a new Bioschemas type
Previous tutorial:
Type Update
|
Next tutorial:
Review a pull request on a Bioschemas Specification
Create a new Type on the Bioschemas site
You have come to a community consensus on creating a new type. Congratulations! Now you have to add the new type on the Bioschemas website. Note, if you are comfortable with JSON schema and JSON-LD, you are welcome to copy, paste, and edit the JSON-LD files in the Bioschemas Specifications repository
Step 1 - Log in
- Open the DDE schema registry and Login to the DDE update tool via your GitHub account
- The DDE requires read access to find your repositories (so you can save to them) and write access in order for you to be able to export your updated profile (specification in JSON-LD format) to GitHub
- You should be at the registry page
Step 2 - Creating the type
2.1 Find the parent type/class of the new type in the Registry
- DDE classes are commonly known as ‘types’ in schema.org and ‘specifications’ in Bioschemas
- If the parent type/class is from schema.org, search for it in the search bar in the ‘Search By Class Name’ tab
- If the parent type/class is from bioschemas:
- On the Registry page, select “Browse By Namespace”
- Select ‘bioschemastypes’ or ‘bioschemastypesdraft’ depending on whether the parent class is a released or draft type.
- Search for the name of the parent class (ie- the parent type) using the search box
- Click ‘extend’ (icon on the right at the end of the row corresponding to the parent class)
2.2 Follow the prompts to create your new type
- Create a temporary namespace that will help us identify your working space
- Fill in the form to create the new type including the name of the type and a description. The description should include:
- The description of the type as determined by the community
- The version of the type
- The name of the person who prepared the type
You will not be able to change this information on the next steps so make sure it is correct before moving on.
2.3 Create any new properties needed for your type
- All properties from all parent classes (note: classes are commonly known as ‘types’ in schema.org and Bioschemas) are automatically inherited. Each parent class is displayed in a blue box.
- To create an entirely new property
- Any schema.org properties that are not available in a parent class will need to be created.
- Click on the (+) icon
- Enter the name and description of your property into the form (see screenshot of property creation form)
- The Domain will automatically be populated from the class
- Specifying the expected (range) input type
- Enter/search for the expected type of your property into the (range) input type(s) of the form. (see screenshot of setting an expected range type or input)
- Clicking on a class will usually be sufficient to add it as an expected type; HOWEVER, for schema:URL or schema:Text, you will need to click on the Add button.
- To specify a bioschemas type as the expected (range) input type
- Enter it manually into the expected (range) input type box as “namespace:class”
- Eg- bioschemastypes:BioSample
- Eg2- bioschemastypesdrafts:Phenotype
- Enter it manually into the expected (range) input type box as “namespace:class”
- Saving, restoring and submitting work on a property
- Save your work locally regularly (it will be saved to your browser’s data so clearing your browser’s data may cause your files to be lost)
- Click on “save/load progress” on the top dark gray bar
- Use the “Select Action” drop down menu to ‘save’ your work
- Save your work locally regularly (it will be saved to your browser’s data so clearing your browser’s data may cause your files to be lost)
2.4 Download / Save your JSON-LD schema
- Downloading your DDE-generated schema
- Click the download button
- Name your DDE-generated file, and click download
- Your JSON-LD file should follow the appropriate naming convention
(Type Name)_v(version)-(DRAFT|RELEASE).(json|jsonld)
- example 1 - LabProtocol_v0.3-DRAFT.json
- example 2 - Gene_v0.3-RELEASE.json (note, you cannot create a new type RELEASE without approval from the Steering Council)
- Interpreting the validation warnings
- The DDE will automatically check your schema for JSON validation rules and give warnings if they are missing
- Revisit the DDE validation editor and add JSON Schema validation rules to the properties that lack them
Step 3 - Save your JSON-LD to the Bioschemas Specification Repository and create a pull request
- Go to the Bioschemas Specification repository
- Create a new branch or fork the repository
- In your branch or fork, and find your specification
- Add your JSON-LD to the
jsonld
directory for your specification - Create a pull request for your fork or branch
- Include any issues you encountered from your test that you were unable to address
Keywords: schemaorg, markup, structured data, bioschemas
Topics:
Audience:
- People interested in creating a new Bioschemas type
Authors:
License: CC-BY 4.0
Version: 0.2
Last Modified: 25 October 2022
Previous tutorial:
Type Update
|
Next tutorial:
Review a pull request on a Bioschemas Specification