Reputation: 4603
Let's say you have a profile page that features a mainEntity
that's a Person
. And you'd like to list that person's work and education history, similar to a resume.
Schema.org's Occupation
example 4, illustrates how to use Role
and hasOccupation
to associate an array of work history, like so:
{
"@context": "http://schema.org",
"@type": "Person",
"name": "Jane Smith",
"sameAs": "http://en.wikipedia.org/wiki/Jane_Smith",
"worksFor": {
"@type": "Organization",
"name": "McKinsey & Company",
"url" : "http://www.mckinsey.com"
},
"hasOccupation": [ {
"@type": "Role",
"hasOccupation": {
"@type": "Occupation",
"name": "Management Consultant"
},
"startDate": "2016-04-21"
}, {
"@type": "Role",
"hasOccupation": {
"@type": "Occupation",
"name": "Chief Strategic Officer"
},
"startDate": "2013-11-14",
"endDate": "2016-03-22"
}, {
"@type": "Role",
"hasOccupation": {
"@type": "Occupation",
"name": "Vice President of Sales"
},
"startDate": "2009-09-20",
"endDate": "2013-10-14"
}
]
}
Only the occupation name is included. Not the Organization
associated with that Occupation
.
Is it possible to detail a resume more extensively this way with the Schema.org vocab? (Similar to Microformats hresume
)
Side note: Education history isn't as difficult, because you can include an Organization
object
"alumniOf": [ {
"@type": "OrganizationRole",
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "City University of New York",
"sameAs": "https://en.wikipedia.org/wiki/City_University_of_New_York"
},
"startDate": "1990",
"endDate": "1992",
"roleName": "MBA"
}, {
"@type": "OrganizationRole",
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "University of California, Berkeley",
"sameAs": "https://en.wikipedia.org/wiki/University_of_California,_Berkeley"
},
"startDate": "1983",
"endDate": "1987",
"roleName": "BSc Psychology"
}
]
Upvotes: 7
Views: 1675
Reputation: 91
Ok, I know this hasn't been responded to in a while, but I have been looking at this question a lot because I'm trying to 'JSONize' my resume data :)
Here is the approach that I took for work history. I made my person and all of its attributes, then I have an occupation (my current occupation) and then I have previous occupations (past-selves, if you will). So having said that much, I can tell you that I put my work history in my alumniOf property.
According to schema.org, the alumniOf property is used to illustrate a person-organization relationship that has ended; I don't work at those places anymore.
Then when I 'instantiate' the organization objects, they can have an employee. That employee is 'my past self', who then has an occupation at that time working at xyz corp. That 'past-person' is the same person as my present person, which I then link using a format similar example 5 from https://schema.org/Book.
Take a look at my code below to get some clarification.
I hope this helps - if nothing else someone else can come along and tweak my response so that we could have something that will work for people when they google it.
{
"@context": "http://schema.org",
"@type": "Person",
"@id": "#john",
"name": "John Smith",
"address": {
"@type": "PostalAddress",
"addressCountry": "US",
"addressLocality": "Austin",
"addressRegion": "Florida",
"postalCode": "12345",
"streetAddress": "123 breeze way"
},
"email": "[email protected]",
"telephone": "1234567890",
"image": "",
"jobTitle": "Software Developer",
"description": "Blip about me...",
"contactPoint": [{
"@type": "ContactPoint",
"contactType": "LinkedIn",
"identifier": "johnsmith",
"image": "imageurl",
"url": "profileurl"
},
{
"@type": "ContactPoint",
"contactType": "GitHub",
"identifier": "johnsmith",
"image": "imageurl",
"url": "profileurl"
}
],
"url": "example.org",
"hasCredential": [{
"@type": "EducationalOccupationalCredential",
"aggregateRating": {
"@type": "aggregateRating",
"ratingValue": "3.51",
"name": "GPA"
},
"credentialCategory": "degree",
"educationalLevel": "Bachelors of Science",
"dateCreated": "2015-05",
"about": {
"@type": "EducationalOccupationalProgram",
"name": "Computer Engineering"
},
"recognizedBy": {
"@type": "CollegeOrUniversity",
"name": "Some Awesome University",
"sameAs": "urlgoeshere"
}
}],
"hasOccupation": {
"@type": "EmployeeRole",
"roleName": "role title goes here",
"startDate": "2015-06"
},
"worksFor": {
"@type": "Organization",
"name": "big company",
"sameAs": "urlgoeshere"
},
"award": [
"Organizational Achievement Awards Q3'17, Q2'19, Q3'19",
"Divisional Recognition Award Q1'19",
"Dean's List: Spring '12,'14; Fall '13",
"President's List: Spring '13; Fall '14",
"Eagle Scout Leadership Service Award 2011"
],
"alumniOf": [{
"@type": "Organization",
"name": "old workplace",
"sameAs": "urlgoeshere",
"employee": {
"@type": "Person",
"hasOccupation": {
"@type": "EmployeeRole",
"roleName": "Computer Consultant",
"startDate": "2012-08",
"endDate": "2015-05"
},
"sameAs": "#john"
}
},
{
"@type": "Organization",
"name": "another company",
"sameAs": "urlgoeshere",
"employee": {
"@type": "Person",
"hasOccupation": {
"@type": "EmployeeRole",
"roleName": "internship",
"startDate": "2014-05",
"endDate": "2014-08"
},
"sameAs": "#john"
}
}
]
}
Upvotes: 8
Reputation: 21
The below for is for the exact same goal. Here you can find a standard for creating resume with json-ld standards. You can use the lab-web to create a sample resume, get output and then compare the jsonld fields.
Here is the link to github https://github.com/Jsonldresume/
Lab-web is for creating the resume and you can export it in jsonld format. You can run the app demo to see it in action.
Skill is the schema and context definition for a resume
Resume repository is for sharing your resume with others.
Upvotes: 1