Defining a vocabulary and using it to create a dataset
Describo is built around RO-Crate which primarily uses schema.org. But what do you do if you need to describe things that are not defined by schema.org? And how can you stand on the shoulders of the many Ontologies that came before?
This article will show you, step by step, how to:
- create a Vocabulary for describing Traditional Knowledge Labels;
- use the Vocabulary to create the dataset of
TKLabel
entity definitions; - use the Generative AI Assistant to verify the data you created against the RO-Crate spec;
And when you’re done, you can load the dataset into your personal knowledgebase in Describo for use in your other projects.
info
You will need access to the Vocabulary tool in Describo so be sure to register which will give you two months of free access to the tool.
In order to perform the verification steps you will need to purchase credits to use the Assistant.
Detailed documentation for the Vocabulary tool is available here..
info
Tradtional Knowledge Labels should only be applied by Indigenous knowledge holders. This article and dataset is to show how one can use Describo to do their work. It is the responsibility of the user to ensure that they have the appropriate permissions to use the dataset, and any data that they describe with it.
info
This article does not go into detail about every little feature. It is designed as a step by step how to that is supposed to be read in conjunction with the detailed documentation for the Vocabulary tool.
Get this dataset
Although this article steps you through creating this dataset, feel free to download it from https://github.com/describo/dataset-TKLabels/archive/refs/tags/v1.0.zip and get started using it! As the Vocabulary is distributed with the dataset, you'll get that too.
Definitions
- A
class
defines a type ofentity
. For example, defining a classTKLabel
will enable you to create entities whose type isTKLabel
.
Licensing your work
Too often, licensing your work is an afterthought. With Describo, licensing your data and metadata is a first class action with an easy to use interface.
After we've created the licenses we see that the root dataset has the CC-BY-SA license whilst the root descriptor has the CC0 license.
Creating the Vocabulary
Setup
Navigate to the vocabulary tool. On this page you can define the Vocabulary metadata like name, description and version.
Classes
Navigate to the classes tab.
To create a new class, type the name into the input next to Add a class to your vocabulary
. As you type, Describo will lookup the Ontologies known to it. If you find a definition that matches what you want to describe, select it. Otherwise, type in the class name you want and press enter to select it.
In this case, create the class TKLabel
(remember to press enter). Note that it's capitalised and singular. Also note that we've set the definition to override
. This means that the class definition will define the properties so Describo will not traverse the inheritance hierarchy to determine which properties to show.
Also note that the class hierarchy can be changed here. By default, any class added (from either an Ontology or invented by you) will be subclassed to Thing. You can change that here and the class can have multiple parent classes.
Properties - TKLabel class
Navigate to the properties tab and select the TKLabel
class.
Upon selection you will see the properties from the hierarchy (inherited from the default parent Thing). This happens when the class definition is first created even though you set the definition to override.
Go ahead and delete all of those properties. In this example, we just need to define the @id
and name
properties which Describo always makes available.
Properties - Dataset
In order to use the TKLabel class, we need to say where
it can be used. In this Vocabulary we'll edit the hasPart
property on Dataset to specify that we can add TKLabel entities at that point. In the following image we've loaded the Dataset class on the properties tab and expanded the hasPart property.
Notice the select where we can see TKLabel as an option? Describo allows you to associate anything you've defined at any point in the hierarchy. By Selecting TKLabel in the select box we see that the hasPart property on Dataset will now allow TKLabel entities to be created and associated.
Using your Vocabulary
Navigate from the Vocabulary section back to the Describe section.
The Describo metadata editor will show in the middle pane. Go to the Content
tab.
In the following image we can see the hasPart
property and the ability to add entities of type CreativeWork, URL, File, Dataset and our new class TKLabel
. By pressing the TKLabel button we can start creating the TKLabel definitions.
However, since there are 20 of them, let's use the Bulk Add control. In the next image we see a dropdown where we've set the @type to TKLabel and defined 6 of the labels using the URL as the value of the @id property and the name as the value of the name property.
And so we can continue to create all of the other TK Labels.
Don't forget to add the other metadata like a description and define yourself as an author!
Verifying your work
info
You will need credits to use the Assistant for this part.
Using your dataset
Notice the highlighted section in the following screenshot. That's where we manage our saved templates (which are like our very own personal knowledge base). In the screenshot you can see that there are two templates: one describing the Describo organisation and one describing me as a Person.
When it's done, those entities will now be loaded into your personal datastore.
Next Steps
If you've made it here then you've created your own TKLabels dataset and loaded it into Describo for future use. In your next project, you can create a Vocabulary where you might define a property on File entities called hasTkLabel
and specify that it should have a TKLabel associated. Then, Describo will offer these as lookups for you to use when describing your files!