An organization ontology

W3C Working Draft 05 April 2012

This version:
Latest published version:
Latest editor's draft:
Dave Reynolds, Epimorphics Ltd.


This document describes a core ontology for organizational structures, aimed at supporting linked-data publishing of organizational information across a number of domains. It is designed to allow domain-specific extensions to add classification of organzations and roles, as well as extensions to support neighbouring information such as organizational activities.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This ontology was originally developed and published outside of W3C, but with this publication is now on the Recommendation Track, being further developed as necessary by the GLD Working Group.

This document was published by the Government Linked Data (GLD) Working Group as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to public-gld-comments@w3.org (subscribe, archives). All feedback is welcome.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents


This document is aimed at assisting government IT managers, procurement officers, Web developers, vendors, and researchers who are interested in publishing open government data using W3C standards. The benefits of using international standards for data exchange is to significantly increase interoperability of data.

Readers of this document are expected to be familiar with delivery of content via the Web, and to have a general familiarity with the technologies involved, but are not required to have a background in semantic technologies or previous experience with Linked Data. Data stewards, curators, database administrators and other personnel involved in Open Government initiatives are encouraged to read this Linked Open Data Best Practices document.

1. Introduction

This section is non-normative.

This document does not prescribe any particular method of deploying data expressed in ORG. ORG is applicable in many contexts including RDF accessible via SPARQL endpoints, embedded in HTML pages as RDFa, or serialized as e.g. RDF/XML or Turtle. The examples in this document use Turtle simply because of Turtle's readability.

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words must, must not, required, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC2119].

3. Namespaces

The namespace for ORG is http://www.w3.org/ns/org#. However, it should be noted that ORG extends and uses terms from other vocabularies. A full set of alphabetically ordered namespaces and prefixes used in this document is shown in the table below.


4. Overview of ontology

This section is non-normative.

This ontology was original motivated by a need to publish information relating to government organizational structure as part of the data.gov.uk initiative. We felt that the best approach was to develop a small, generic, reusable core ontology for organizational information and then let developers extend and specialize it to particular domains.

The ontology gives minimal basic terms to support representation of:

This coverage corresponds to the type of information typically found in organizational charts. As such it does not offer a complete representation for all the nuances of organizational control structures and flows of accountability and empowerment. Developers are encouraged to create extension vocabularies for such purposes, building upon this generic foundation.

The ontology does not provide category structures for organization type, organization purpose or roles. Different domains will have different requirements for classification of such concepts. Instead the ontology provides just the core base concepts needed to allow extensions to add specific sub-class structures or classification schemes as required.

Diagram dipicting core classes and relationships


This example provides a quick overview of how dcat might be used to an organization

@@@ TODO.jse: Actually provide an example @@@

5. Design notes

This section is non-normative.

For background to the approach taken in developing the ontology see: blog notes

6. Notes on style

This section is non-normative.

Use of inverses: authorities differ on whether providing pairs of inverse relationships between concepts is good practice compared to declaring each relationship in just one direction. In this design we provide inverses for most relations (omitting attribute-like relations). This makes it easier to query the data in linked-data settings where a (non-symmetric) closed bounded description is often the default description of each resource. This does incur a cost in terms of storage or use of run-time inference. Particular applications of the ontology may adopt a profile in which only certain directions are asserted in the data and leave it up to clients to apply any inverseOf reasoning they require.

Naming: some designers prefer to name properties by nouns which describe the object of the property, others prefer to treat property names as names of the link and use a pattern to indicate the direction of the link. Here we adopt the latter approach for those properties which are relational and especially when the direction is ambiguous. We use the URI pattern org:hasFoo/org:fooOf for this but simplify the labels to "foo" and "foo of" to improve readability in linked data viewers.

7. Organizational structure

7.1 Class: Organization

Represents a collection of people organized together into a community or other social, commercial or political structure. The group has some common purpose or reason for existence which goes beyond the set of people belonging to it and can act as an Agent. Organizations are often decomposable into hierarchical structures.

RDF class:org:Organization
subClassOf: foaf:Agent
Usage note: It is recommended that SKOS lexical labels should be used to label the Organization. In particular skos:prefLabel for the primary (e.g. legally recognized name), skos:altLabel for alternative names (trading names, colloquial names) and skos:notation to denote codes from a code list. Alternative names: Collective Body Org Group.

7.1.1 Property: subOrganizationOf

Represents hierarchical containment of Organizations or Organizational Units; indicates an organization which is a sub-part or child of this organization.

RDF Property:org:subOrganizationOf
Domain and Range:org:Organization
Usage note: Inverse of org:hasSubOrganization. Alternative names: subOrgOf.

7.1.2 Property: transitiveSubOrganizationOf

Represents hierarchical containment of Organizations or Organizational Units; indicates an organization which is a sub-part or child of this organization.

RDF Property:org:transitiveSubOrganizationOf
Domain and Range:org:Organization
Transitive super property of:org:subOrganizationOf
Usage note: The transitive closure of subOrganizationOf, giving a representation of all organizations that contain this one. Note that technically this is a super property of the transitive closure so it could contain additional assertions but such usage is discouraged.

7.1.3 Property: hasSubOrganization

Represents hierarchical containment of Organizations or OrganizationalUnits; indicates an Organization which contains this Organization.

RDF Property:org:hasSubOrganization
Domain and Range:org:Organization
Usage note: Inverse of org:subOrganizationOf. Alternative names: hasSubOrg.

7.1.4 Property: purpose

Indicates the purpose of this Organization. There can be many purposes at different levels of abstraction but the nature of an organization is to have a reason for existence and this property is a means to document that reason. An Organization may have multiple purposes.

RDF Property:org:purpose
Usage note: It is recommended that the purpose be denoted by a controlled term or code list, ideally a skos:Concept. However, the range is left open to allow for other types of descriptive schemes. It is expected that specializations or application profiles of this vocabulary will constrain the range of the purpose. Alternative names: remit responsibility (esp. if applied to OrganizationalUnits such as Government Departments).

7.1.5 Property: hasUnit

Indicates a unit which is part of this Organization, e.g. a Department within a larger FormalOrganization.

RDF Property:org:hasUnit
subPropertyOf: org:hasSubOrganization
Usage note: Inverse of org:unitOf.

7.1.6 Property: unitOf

Indicates an Organization of which this Unit is a part, e.g. a Department within a larger FormalOrganization.

RDF Property:org:unitOf
subPropertyOf: org:subOrganizationOf
Usage note: This is the inverse of org:hasUnit.

7.1.7 Property: classification

Indicates a classification for this Organization within some classification scheme.

@@TODO: Make clear what is the status of this property

This property is under discussion and may be revised or removed - in many cases organizations are best categorized by defining a sub-class hierarchy in an extension vocabulary.

RDF Property:org:classification
Usage note: Extension vocabularies may wish to specialize this property to have a range corresponding to a specific skos:ConceptScheme

7.1.8 Property: identifier

Gives an identifier, such as a company registration number, that can be used to used to uniquely identify the organization. Many different national and international identier schemes are available.

RDF Property:org:identifier
subPropertyOf: skos:notation
Usage note: The org ontology is neutral to which schemes are used. The particular identifier scheme should be indicated by the datatype of the identifier value. Using datatypes to distinguish the notation scheme used is consistent with recommended best practice for skos:notation of which this property is a specialization.

7.1.9 Property: linkedTo

Indicates an arbitrary relationship between two organizations.

RDF Property:org:linkedTo
Domain and Range:org:Organization
Usage note: Specializations of this can be used to, for example, denote funding or supply chain relationships.

7.2 Class: FormalOrganization

An Organization which is recognized in the world at large, in particular in legal jurisdictions, with associated rights and responsibilities. Examples include a Corporation, Charity, Government or Church.

RDF class:org:FormalOrganization
subClassOf: org:Organization
Usage note: Note that this is a super class of gr:BusinessEntity and it is recommended to use the GoodRelations vocabulary to denote Business classifications such as DUNS or NAICS.

7.3 Class: OrganizationalUnit

An Organization such University Support Unit which is part of some larger FormalOrganization and only has full recognition within the context of that FormalOrganization, it is not a Legal Entity in its own right.

RDF class:org:OrganizationalUnit
subClassOf: org:Organization
Usage note: Units can be large and complex containing ot her Units and even FormalOrganizations. Alternative names: OU Unit Department

7.4 Notes on formal organizations

This section is non-normative.

Note that the subclass hierarchy below org:Organization is not a full covering. There can be org:Organizations which are in neither org:FormalOrganization nor org:OrganizationalUnit. The distinction between an externally recognized organization and one which only has meaning in the context of a larger organization is a common one which we support to simplify the mapping to existing practice. Note that the containment hierarchy is completely open - org:FormalOrganizations are free to contain other org:FormalOrganizations (e.g. subsidiaries of large corporations). We invite feedback from users of the ontology as to whether this distinction useful in practice.

7.5 Notes on organizational hierarchy

This section is non-normative.

In many organizations there is a hierarchy of unit structures. For example we might see a containment hierarchy like:


The intention is that this would be added in custom extensions since they are specific to the organization at hand. This can easily be done by subclassing org:OrganizationalUnit, specializing org:hasSubOrganization and/or using owl:allValuesFrom restrictions on the new subclasses.

7.6 Notes on organizational classification

This section is non-normative.

In a number of circumstances we wish to classify organizations. There are many approaches that could be taken for this. It can be based on the legal structure under which the organization operates. For example in UK legislation there are defined notions of Partnership, Limited Company (public, private) etc that can be used as a basis for classification. Alternatively organizations can be classified by the service they provide (e.g. Educational, Manufacturing, LegalService etc).

The core organization ontology is neutral with respect to such choices. It is anticipated that applications to particular domains will introduce subclasses of org:Organization to reflect the domain requirements.

Note that the core supports labelling an organization according to some external classification scheme through use of the org:classification property. This is appropriate for cases where the labelling is not intrinsic to the organization and doesn't affect other aspects of the modelling. This is not always appropriate. For example, only Charities have CharityNumbers so it would be better to represent a Charity as a subClassOf FormalOrganization rather than via a taxonomic labelling.

8. Reporting relationships and roles

8.1 Class: Membership

Indicates the nature of an Agent's membership of an organization.

RDF class:org:Membership
Usage note: Represents an n-ary relation between an Agent, an Organization and a Role. It is possible to directly indicate membership, independent of the specific Role, through use of the org:memberOf property.

8.1.1 Property: member

Indicates the Person (or other Agent including Organization) involved in the Membership relationship.

RDF Property:org:member
Usage note: Inverse of org:hasMembership

8.1.2 Property: organization

Indicates Organization in which the Agent is a member.

RDF Property:org:organization

8.1.3 Property: role

Indicates the Role that the Agent plays in a Membership relationship with an Organization.

RDF Property:org:role

8.1.4 Property: hasMembership

Indicates a membership relationship that the Agent plays.

RDF Property:org:hasMembership
Usage note: Inverse of org:member.

8.1.5 Property: memberDuring

Optional property to indicate the interval for which the membership is/was valid.

RDF Property:org:memberDuring

8.1.6 Property: remuneration

Indicates a salary or other reward associated with the role.

RDF Property:org:remuneration
Usage note: Typically this will be denoted using an existing representation scheme such as gr:PriceSpecification but the range is left open to allow applications to specialize it (e.g. to remunerationInGBP).

8.2 Class: Role

Denotes a role that a Person or other Agent can take in an organization. Instances of this class describe the abstract role; to denote a specific instance of a person playing that role in a specific organization use an instance of org:Membership.

RDF class:org:Role
subClassOf: skos:Concept
Usage note: It is common for roles to be arranged in some taxonomic structure and we use SKOS to represent that. The normal SKOS lexical properties should be used when labelling the Role. Additional descriptive properties for the Role, such as a Salary band, may be added by extension vocabularies.

8.2.1 Property: roleProperty

This is a metalevel property which is used to annotate an org:Role instance with a sub-property of org:memberOf that can be used to directly indicate the role for easy of query.

RDF Property:org:roleProperty
Usage note: The intended semantics is a Membership relation involving the Role implies the existence of a direct property relationship through an inference rule of the form: { [] org:member ?p; org:organization ?o; org:role [org:roleProperty ?r] } -> {?p ?r ?o}

8.3 Property: hasMember

Indicates a person who is a member of the subject Organization. Inverse of `org:memberOf`, see that property for further clarification.

RDF Property:org:hasMember
Equivalent property:foaf:member
Usage note: Provided for compatibility with `foaf:member`.

8.4 Property: reportsTo

Indicates a reporting relationship as might be depicted on an organizational chart.

RDF Property:org:reportsTo
Domain and range:foaf:Agent
Usage note: The precise semantics of the reporting relationship will vary by organization but is intended to encompass both direct supervisory relationships (e.g. carrying objective and salary setting authority) and more general reporting or accountability relationships (e.g. so called dotted line reporting).

8.5 Property: headOf

Indicates that a person (or other agent) is the leader or formal head of the Organization.

RDF Property:org:headOf
Usage note: This will normally mean that they are the root of the org:reportsTo (acyclic) graph, though an organization may have more than one head.

8.6 Discussion

This section is non-normative.

In some applications then it is sufficient to represent the role of an individual within an Organization by specializations of org:memberOf, as in the builtin example org:headOf.

However, in general it is advantageous to have an explicit representation of the organizational role (e.g. to enable advertising of a post or for publication of salary ranges associated with the role), this is supported by the org:Role class. The situation of an Agent fulfilling that role within an organization is then expressed through instances of the org:Membership n-ary relation. This also makes it possible to annotate the relationship with qualifying information such as duration, salary, reference to the employment contract and so forth.

For example:

<http://example.com/org#id> a org:FormalOrganization;
    skos:prefLabel "Example Ltd" .

eg:ctoRole a org:Role;
    rdfs:label "CTO" .
[] a org:Membership;
    org:member <http://example.com/people#jo> ;
    org:organization <http://example.com/org#id> ;
    org:role eg:ctoRole;
    org:memberDuring [a owlTime:Interval; owlTime:hasBeginning [
                      owlTime:inXSDDateTime "2009-11-01T09:00:00Z"^^xsd:dateTime]] .

Since this representation can be a little less convenient to query and explore via linked-data browsing tools the core allows both explicit roles and simple direct relations to be used simultaneously. The relationship between the Role resource and the corresponding property can be indicated through the org:roleProperty annotation. Thus we might extend the above example with:

eg:ctoRole a org:Role;
    org:roleProperty eg:ctoOf .
eg:ctoOf a owl:ObjectProperty, rdf:Property ;
    rdfs:label "CTO" ;
    rdfs:subPropertyOf org:memberOf .
  eg:ctoOf <http://example.com/org#id> . 

In practice we antipate tool chains generating the org:Membership instances and a simple closure rule being used to add any corresponding short-cut specializations of org:memberOf.

9. Location

9.1 Class: Site

An office or other premise at which the organization is located. Many organizations are spread across multiple sites and many sites will host multiple locations.

RDF class:org:Site
Usage note: In most cases a Site will be a physical location. However, we don't exclude the possibility of non-physical sites such as a virtual office with an associated post box and phone reception service. Extensions may provide subclasses to denote particular types of site.

9.1.1 Property: siteAddress

Indicates a VCard (using the http://www.w3.org/TR/vcard-rdf/ vocabulary) for the site. This can include email, telephone, and geo-location details as well as an address.

RDF Property:org:siteAddress

9.1.2 Property: hasSite

Indicates a site at which the Organization has some presence even if only indirect (e.g. virtual office or a professional service which is acting as the registered address for a company).

RDF Property:org:hasSite

9.1.3 Property: siteOf

Indicates an Organization which has some presence at the given site.

RDF Property:org:siteOf

9.1.4 Property: hasPrimarySite

Indicates a primary site for the Organization, this is the default means by which an Organization can be contacted and is not necessarily the formal headquarters.

RDF Property:org:hasPrimarySite

9.1.5 Property: hasRegisteredSite

Indicates the legally registered site for the organization, in many legal jurisdictions there is a requirement that FormalOrganizations such as Companies or Charities have such a primary designed site.

RDF Property:org:hasRegisteredSite

9.1.6 Property: basedAt

Indicates the site at which a person is based. We do not restrict the possibility that a person is based at multiple sites.

RDF Property:org:basedAt

9.2 Property: location

Gives a location description for a person within the organization, for example a Mail Stop for internal posting purposes.

RDF Property:org:location

10. Projects and other activities

10.1 Class: OrganizationalCollaboration

A collaboration between two or more Organizations such as a project. It meets the criteria for being an Organization in that it has an identity and defining purpose independent of its particular members but is neither a formally recognized legal entity nor a sub-unit within some larger organization. Might typically have a shorter lifetime than the Organizations within it, but not necessarily.

RDF class:org:OrganizationalCollaboration
Usage note: All members are org:Organizations rather than individuals and those Organizations can play particular roles within the venture. Alternative names: Project Venture Endeavour Consortium

11. Historical information

Any aspect of organizational structure is subject to change over time. For the most part this should be handled by an external mechanism such as named graphs. When Organizations change substantially (not simply a change of personnel or internal structure, for example a merger to create a new organization) then the new Organization will typically be denoted by a new URI and we need some vocabulary to describe that change over time and the relationship between the original and resulting resouces. The Event mechanism here gives a generic hook for this, building upon the OPMV Provenance Vocabulary.

11.1 Class: ChangeEvent

Represents an event which resulted in a major change to an organization such as a merger or complete restructuring. It is intended for situations where the resulting organization is sufficient distinct from the original organizations that it has a distinct identity and distinct URI.

RDF class:org:ChangeEvent
subClassOf: opmv:Process
Usage note: Extension vocabularies should define sub-classes of this to denote particular categories of event. The instant or interval at which the event occurred should be given by `opmv:wasGeneratedAt`, a description should be given by `dct:description`.

11.1.1 Property: originalOrganization

Indicates one or more organizations that existed before the change event. Depending on the event they may or may not have continued to exist after the event.

RDF Property:org:originalOrganization
Usage note: Note that in specializing the OPMV vocabulary we are treating an `org:Organization` as an `opmv:Artifact`, which is consistent with the OPM model.

11.1.2 Property: changedBy

Indicates a change event which resulted in a change to this organization.

RDF Property:org:changedBy
Usage note: Depending on the event the organization may or may not have continued to exist after the event.

11.1.3 Property: resultedFrom

Indicates an event which resulted in (led to, generated) this organization.

RDF Property:org:resultedFrom
Usage note: Note that in specializing the OPMV vocabulary we are treating an `org:Organization` as an `opmv:Artifact`, which is consistent with the OPM model.

11.1.4 Property: resultingOrganization

Indicates an organization which was created or changed as a result of the event.

RDF Property:org:resultingOrganization

A. Change history

Changes since previous version 0.3 2010-06-09:

Changes since previous version 0.2 2010-06-07:

Changes since previous version 0.1 2010-05-28:

B. Acknowledgments

The editors are very thankful for comments and suggestions ...

This ontology was originally developed as part of the UK Linked Data Kernel project under the leadership and guidance of John Sheridan (The National Archives). Jeni Tennison provided immensely useful feedback and suggestions on the first draft, which greatly improved its design. The work also took inspiration from a number of other ontologies, particularly the thoughtfully designed Gazette Organization ontology and Proton-top.

C. References

C.1 Normative references

S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt

C.2 Informative references

No informative references.