Version: Next

Content & Structure

Themes - Knowledge Graphs

The theme must be created first because it will gather the skills to master. In the API, it is called a Knowledge Graph:

Method : POST​
URL : HOST_URL/instances/{instance_id}/knowledge_graphs

Json input example:

{​
"name" : "Theme title",​
"uid": "your_theme_id"
}
info

A more detailed documentation on how to setup Knowledge Graphs can be found here - Link


Skills to Master - Knowledge Nodes

A skill to master is called a Knowledge Node by the API.

Method : POST​
URL : HOST_URL/instances/{instance_id}/knowledge_nodes

They must be related to an existing theme (i.e. a knowledge graph). Here is a json input example:

{​
"name": "Skill 1",
"knowledge_graph_id": 1 , ​
"uid": "your_skill_id"
}
info

A more detailed documentation on how to setup Knowledge Nodes can be found here - Link


Questions – Content with Evaluation Type

A question is a content with the type « Evaluation ». To create a question you can use the following route:

Method : POST​
URL : HOST_URL/instances/{instance_id}/contents

​ JSON input example:

{​
"name": "My First Question",
"uid": "your_question_id",
"content_url": "https://your_url/contents/1",
"type": "Evaluation",
}
info

A more detailed documentation on how to setup Contents can be found here - Link


Learning Resources – Content with Learning Type

A learning ressource is a content with the type « Learning ». To create a learning ressource you can use the following route:

Method : POST​
URL : HOST_URL/instances/{instance_id}/contents

​ JSON input example:

{​
"name": "My First Learning Ressource",
"uid": "your_learning_ressource_id",
"content_url": "https://your_url/contents/2",
"type": "Learning",
}
info

A more detailed documentation on how to setup Contents can be found here - Link


Tagging Contents

Each content can be tagged with a specific filter of your choice. To do so, you will need to create a TagSet and Tag objects:

Method : POST​
URL : HOST_URL/instances/{instance_id}/tag_sets
Method : POST​
URL : HOST_URL/instances/{instance_id}/tags

You will then be able to tag your contents when creating them :

JSON input example:

{​
"name": "My new content",
"uid": "your_question_id",
"tag_set_uid": "your_tag_set_uid"
}
info

A more detailed documentation on how to setup Tags & TagSets can be found here - Link


Link Contents to Skills

A content can be related to a skill to master (i.e the KnowledgeNode), you will need to specify this relation by creating a linking object called a KnowledgeNodeContent. Additionally to the link, you will also need to specify a difficulty level of the specific content for that skill to master.

info

One content can be linked to multiple skills with different difficulties as the mastery levels expectations can be different for each job position.

There are two ways for linking a content to a specific skill :

Option 1 : Automatic Trigger (When creating the content)

To link a content to a skill when creating it, you will need to specify the KnowledgeNode it is associated with and the difficulty. The KnowledgeNodeContent creation will be triggered automatically in this case and the request would be as follow :

{​
"name": "My First Learning Ressource",
"uid": "your_learning_ressource_id",
"content_url": "https://your_url/contents/2",
"type": "Learning",
"knowledge_node_id": 1,
"difficulty": 3,
}

Option 2 : Manual Trigger (After creating the content)

The link between a content and a skill can also be made manually by creating the KnowledgeNodeContent using the following route:

Method : POST​
URL : HOST_URL/instances/{instance_id}/knowledge_node_contents

Json input example:

{​
"content_id": 1,​
"knowledge_node_id": 1,
"difficulty": 3​
}​
info

A more detailed documentation on how to setup Knowledge Node Contents can be found here - Link