A model/ontology of a professional knowledge graph that allows users to capture detailed information about their professional experience. It can be used to generate tailored resumes and power professional digital twins.
The model is defined as an Eclipse Modeling Framework (EMF) Ecore metamodel at model/model/professional-knowledge-graph.ecore.
The root container of the model. Holds the catalogue of:
- People - persons in the graph
- Skills - the skill catalogue (hierarchical)
- Organizations - employers, clients, institutions
- Locations - geographic locations
A person in the knowledge graph. Captures:
name,summary- basic identitycontactMethods- email, phone, web addressesnetwork- professional network (references to other persons)personSkills- skills with mastery levelscredentials- education, certifications, training, endorsements, awards, patentsefforts- work history (positions, activities, publications)locations- where the person has lived/worked
A capability or ability. Skills form a hierarchy (sub-skills via skills containment) and a graph (via relatedSkills and prerequisites cross-references). Skills may have associated resources (tools).
Levels of mastery: HEARD_OF → AWARE → FAMILIAR → PROFICIENT → EXPERT
Associates a skill with a person, recording:
masteryleveldesiredflag — whether the person wants to improve (false = no plans to improve)notes— additional context
Abstract base: Credential (with name, description, date, url, status, skills)
Concrete types:
| Type | Description |
|---|---|
Education |
Degree from an institution (institution, degree, fieldOfStudy, startDate, location) |
Certification |
Professional certification (issuer, credentialId, expires) |
TrainingCourse |
Online or in-person course (provider, courseUrl, certificateUrl) |
Endorsement |
Skill endorsement by another person (endorsedBy, text) |
Award |
Award or recognition (issuer) |
Patent |
Invention/patent (patentNumber, inventors) |
PLANNED → IN_PROGRESS → OBTAINED / ACTIVE / EXPIRED
Abstract base: Effort (with name, description, startDate, endDate, status, skills, collaborators, plannedRoles)
Concrete types:
| Type | Description |
|---|---|
Position |
A job/role at an organization (title, organization, location, activities) |
Activity |
A project/assignment within a position or standalone (outcomes) |
Publication |
An article, paper, book, blog post (publisher, publicationUrl, isbn, doi) |
Planned efforts can list PlannedRole entries (title, description, required skills, count) for collaboration.
IDEA → PLANNED → IN_PROGRESS → COMPLETED / ABANDONED
An employer, client, or institution: name, description, industry, url, location.
A geographic location: country, state, city.
Abstract interface with concrete types:
Email— email addressPhone— phone number with country code and extensionWebAddress— URL with platform name (LinkedIn, GitHub, etc.)
mvn clean install