Skip to content

Instantly share code, notes, and snippets.

@sephcoster
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sephcoster/5b1b8228a4d52d8b0428 to your computer and use it in GitHub Desktop.
Save sephcoster/5b1b8228a4d52d8b0428 to your computer and use it in GitHub Desktop.
Relate Parent Job Titles to all Related Titles in an Array using Node.js

Installation and Execution

  • Requires Node.js
  • node install lodash
  • node mergeTitles.js
  • Result is a saved file on your hard drive of O*NET SOC parent codes mapped to Lay Titles in industry

Data comes from http://www.onetcenter.org/developers.html and is available to the public.

Included layTitles.json file is an example of the full dataset.

[{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Aeronautics Commission Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Agricultural Services Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Alcohol and Drug Abuse Assistance Program Administrator"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Arts and Humanities Council Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Bakery Manager"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Bank President"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Book Publisher"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Brokerage Office Manager"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Bureau Chief"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Business Development Executive"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Business Development Officer"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Business Enterprise Officer"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Business Executive"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Cemetery Manager"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chairman"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chancellor"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Administrative Officer"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Diversity Officer (CDO)"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Executive Officer (CEO)"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Financial Officer (CFO)"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Nursing Officer"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Operating Officer (COO)"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Chief Warden"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"City Administrator"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"City Manager"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"City Superintendent"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"City Superintendent of Schools"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"City Supervisor"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Classification and Treatment Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"College President"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Commissioner of Internal Revenue"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Community Services and Health Education Officer"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Compliance Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Conservation of Resources Commissioner"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Consumer Affairs Director"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Corporate Administrator"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Corporate Executive"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Corporate Manager"},
{"O*NET-SOC Code":"11-1011.00","O*NET-SOC Title":"Chief Executives","Lay Title":"Corporate Officer"}
#!/usr/bin/env node
var _ = require('lodash');
var fs = require('fs');
var data = JSON.parse(fs.readFileSync('layTitles.json', 'utf8'));
var combined = { };
_.forEach(data, function(n, key) {
var code = n['O*NET-SOC Code'];
var title = n['O*NET-SOC Title'];
if( typeof combined[title] === 'undefined' ){
combined[title] = {
'code': code,
'title': n['O*NET-SOC Title'],
'related': []
};
}
combined[title].related.push( n['Lay Title'] );
});
fs.writeFile("mergedCompleted.js", JSON.stringify(combined), function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved as mergedCompleted.js");
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment