Need help? Check our guides or contact support.
Entity Connections
Every platform entity can be linked to the graph. Once mapped, the entity participates in recommendations, search, and cross-entity discovery. Connections fall into three relationship types, depending on the entity’s role.
The Three Connection Types
Learning Graph
Topics & Skills
DEVELOPS— content that teaches this topicFOCUSES_ON— community specialised in this areaINTERESTED_IN— learner expressed interestWhat Each Relationship Means
Content entities (Courses, Modules, Sessions, Tasks, Resources) declare what they teach via DEVELOPS. A single course might develop Machine Learning, Python, and Data Visualisation — and a learner searching for any of those topics will find it. DEVELOPS is the primary driver of resource matching and curriculum intelligence.
Community entities (Campuses, Organisations) use FOCUSES_ON to express their specialisation. A campus focused on Sustainable Energy can automatically surface all platform resources related to that domain, even ones added long after the campus was created. FOCUSES_ON shapes library views and discovery at the campus and organisation level.
Learner profiles use INTERESTED_IN to track expressed and inferred interests. This powers personalised recommendations, matchmaking between learners, and helps the platform suggest the next relevant content. Interests can be set manually or inferred from activity (e.g. saving a resource, completing a course).
A user can have more than one kind of link to the same topic — for example, both a manual interest and an inferred one from a completed course. Each link carries its own source and strength; see Signals & Sources.
Containment in the Graph
Platform entities also have containment relationships in the graph: Organisation → Campus → Course → Module / Session / Task / Resource. These CONTAINS edges mirror the hierarchy in Supabase (e.g. campus_courses, course_outline_blocks). Containment is used for:
- Structural rollup — when a child entity’s topic mappings change, parents can inherit inferred topic signals (e.g. a course inheriting from its modules and resources).
- Member activity rollup — when a learner completes a resource or attends a session, the course, campus, and organisation can accumulate member_activity topic signals for analytics and discovery.
Containment is synced from the platform when admins add or remove entities from parents (e.g. adding a course to a campus). It is the backbone for entity-level signal propagation.
Next Steps
- Signals & Sources — source labels, strength, and behavioral edges
- Recommendations — how DEVELOPS and FOCUSES_ON drive resource matching
- AI Cataloging — how the Librarian creates and updates entity mappings