Extending FOAF with Resume Information

Uldis Bojars

University of Latvia, IMCS
29 Raina boulevard, Riga, Latvia
uldis.bojars at gmx.net


This paper describes extending FOAF profiles to describe the information contained in resume documents using the Resume ontology [1].

1. Introduction

A resume or Curriculum Vitae (abbr. CV) is a written record of person's education and employment, that is sent when applying for a job. It also means a record of a university/college teacher's education and employment, also including a list of books and articles that they have published and courses that they have taught, used when they are applying for a job. In the scope of this paper we are using this term in a broad sense of this word, including both academic and business resumes.

FOAF (Friend-Of-A-Friend) [2] is an RDFS/OWL ontology for expressing information about persons and their relationships. It is a collaborative project that has evolved into a flexible and practically used ontology. We believe that person's FOAF profile can be extended with additional information to express person's resume in a machine-readable form understandable to the Semantic Web applications.

2. Resume information

Resume ontology [1] has been created to express the information about business and academic experience, skills, publications, etc. contained in a resume.
This information is expressed using 2 namespaces:
The cv namespace is used to express the Resume ontology.
The base namespace is used as a taxonomy of property value for this ontology.

The taxonomy contains a list of property values that can be controlled within a Resume ontology.
There are other objects outside the ontology that need to be identified in the scope of a resume document.
These include the identifiers for persons, companies, skills and other objects.

Resume consists of the information about the person, its work and academic experience (education), skills, courses and certification, publications, references and other information.

2.1. Information About a Person

Resume starts with the information about a person - name, surname, address, e-mail addresses, etc.
There are 2 main candidates for describing this information:
Resume ontology relies on existing schemas to describe the information about a person. Both of these schemas are useful for describing personal information. FOAF ontology has been widely accepted and used while vCard is not. We propose to use the FOAF profile as a basis for resume, extending it with the additional information contained in a resume.

However, FOAF ontology is not sufficient for resumes - it needs to be extended with the missing fields and designators [4] or some fields from vCard RDF schema need to be used.

2.2. Work and Academic Experience

Work experience and education history both have similar properties - the organization, start date and end date. Both types of experience also have specific properties of their own:
The property values for cv:carrerLevel, cv:jobType and cv:degreeType are defined in the base taxonomy. The property cv:isCurrent is used to indicate if the given work history record describes a position currently held by a person. This information could be inferred automatically based on the absence of the end date for work history entry, but stating it explicitly enables easy selection of the current work place by applications which are not able to infer this information from the end date and also to distinguish current work entry from the work entry where end date is unknown.

2.3. Skills

Skills in are described with cv:skillName, cv:skillLevel (0-5), cv:skillLastUsed and cv:skillYearsExperience.

Although initial design of the Resume ontology has cv:skillName property as a literal, using URIs to identify skills is suggested for avoiding ambiguity of skill identification and enabling automatical skill matching. FOAF profiles already provide a similar property foaf:interest to express person's interest in a certain subject area. However, the most important question is about the taxonomy for values for skill identification. Current practice is using a distributed list of URLs of actual web sites describing theses skills or programming languages. This approach is not practical if we look at the implementation of the resume information system - to provide a list of all possible property values developers would need to search whole World Wide Web and identify all possible URLs which might be used to describe skills. We propose to create a hierarchical skill taxonomy similar to WordNet [5] used for describing nouns.

2.4. Courses and Certification

Courses, similar to work history, also have start and end date, a company (cv:organizedBy), cv:courseTitle, cv:courseDescription, cv:courseURL and an indicator cv:isCertification indicating if the current record indicates that a person has received a certificate.

2.5. Publications

Publications may be described using foaf:publications and Dublin Core [6] metadata.

2.6. References

References are divided into 2 subclasses by the reference type - cv:ProfessionalReference and cv:PersonalReference. Both reference types have a property cv:referenceBy pointing to the information about a person who has provided a reference.

2.7. Other information

Resumes may be designed for a specific purpose and contain some information not described above - like information about a target job profile (mostly used in online resume database rather than in job applications), specific conditions (cv:conditionWillRelocate, cv:conditionWillTravel, cv:weeksNoticePeriod) and other information (described by class cv:OtherInfo and properties cv:otherInfoType and cv:otherInfoDescription) as well as special information about this resume – date of update, title, description, copyrights, etc.

3. Use cases

Resume ontology may be used in all applications where it is necessary to record and locate information about persons' work experience, skills and abilities. Some of these use cases are listed below.

3.1. Resume data base

A resume data base or portal may use FOAF along with Resume ontology to collect information about persons and use skill matching to find best matches of personal profiles and potential vacancies. Benefits of using Semantic Web and the Resume ontology become clear if we consider that syntactical matching of skill titles may not be enough. If the skills are described using URIs from a skill taxonomy and this taxonomy has a hierarchical structure (i.e., skill in HTML markup language infers some knowledge in web page design), the application may make inferences on generic skills up the skill hierarchy, based on the knowledge of specific skills further down this hierarchy.

In order to implement a resume data base, new taxonomies and URI assignment schemes are needed for skills and real-world objects used in resumes. Real-world objects concerned are persons and organizations which may act as employers for work history or educational institutions for academic history. The question of identifying these real-world objects is open because it is unlikely that a centralized registry will be created for this kind of information.

3.2. Exporting Resume Information

The purpose of a resume is to act as a description of a person when applying for a job. However, resumes and job applications are usually tailored for a specific company and job type. Therefore, for resume information described in FOAF and Resume ontologies to be useful, another layer of information is required specifying what parts of the resume information should be used to create a specific type of resume. Types of resumes may differ by their application areas (academic vs. business), region (Europe / USA) and other criteria. Another ontology on top of the Resume ontology may be necessary for customizing the resume information to a specific purpose.

3.3. Social Networks

The emergence of social networking sites creates a question about personal profile information. Many sites require person to enter some basic information (covered with a FOAF profile) along with interest, work history, etc. (covered with Resume ontology). Describing this information in a machine-readable form would allow to describe this information once and re-use it as many times as necessary. A prerequisite for this use case is the adoption of the FOAF and Resume ontologies by the social network sites like Orkut and LinkedIn.

4. Summary

FOAF ontology is useable for describing the basic information about persons and their relations. Resume ontology allows to amend this profile with the information contained in person's resume. This information may be useable to many businesses, including human resources management and social networks. Next steps in the evolution of ontologies for representing resume information on the Semantic Web will be determined by the practical usage of these ontologies and implementation the resume information systems using these ontologies.


  1. Uldis Bojars. Resume ontology. Available at: http://purl.org/captsolo/semweb
  2. Dan Brickley, Libby Miller. FOAF Vocabulary Specification. Available at: http://xmlns.com/foaf/0.1/
  3. Renato Ianella. Representing vCard Objects in RDF/XML. W3C Note 22 February 2001. Available at: http://www.w3.org/TR/vcard-rdf
  4. B.K. DeLong. [rdfweb-dev] More FOAF fleshing out - phone, email, vcard, trust, spam and beyond. Available at: http://rdfweb.org/pipermail/rdfweb-dev/2004-April/013040.html
  5. RDFWeb: xmlns.com Wordnet Vocabulary. Available at: http://xmlns.com/2001/08/wordnet/
  6. Expressing Qualified Dublin Core in RDF / XML. A DCMI Proposed Recommendation. Available at: http://dublincore.org/documents/dcq-rdf-xml/