Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
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.
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.
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.
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.
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].
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.
Prefix | Namespace |
---|---|
foaf | http://xmlns.com/foaf/0.1/ |
gr | http://purl.org/goodrelations/v1# |
opmv | http://purl.org/net/opmv/ns# |
org | http://www.w3.org/ns/org# |
owlTime | http://www.w3.org/2006/time# |
rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
skos | http://www.w3.org/2004/02/skos/core# |
vcard | http://www.w3.org/2006/vcard/ns# |
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.
This example provides a quick overview of how dcat might be used to an organization
@@@ TODO.jse: Actually provide an example @@@
This section is non-normative.
For background to the approach taken in developing the ontology see: blog notes
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.
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. |
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. |
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. |
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. |
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 |
---|---|
Domain: | org:Organization |
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). |
Indicates a unit which is part of this Organization, e.g. a Department within a larger FormalOrganization.
RDF Property: | org:hasUnit |
---|---|
Domain: | org:Organization |
Range: | org:OrganizationalUnit |
subPropertyOf: | org:hasSubOrganization |
Usage note: |
Inverse of org:unitOf .
|
Indicates an Organization of which this Unit is a part, e.g. a Department within a larger FormalOrganization.
RDF Property: | org:unitOf |
---|---|
Domain: | org:OrganizationalUnit |
Range: | org:Organization |
subPropertyOf: | org:subOrganizationOf |
Usage note: |
This is the inverse of org:hasUnit .
|
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 |
---|---|
Domain: | org:Organization |
Range: | skos:Concept |
Usage note: |
Extension vocabularies may wish to specialize
this property to have a range corresponding to a specific skos:ConceptScheme
|
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 |
---|---|
Domain: | org:Organization |
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.
|
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. |
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.
|
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 |
This section is non-normative.
Note that the subclass hierarchy
below org:Organization
is not a full covering. There
can be org:Organization
s 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:FormalOrganization
s are free to contain
other org:FormalOrganization
s (e.g. subsidiaries of
large corporations). We invite feedback from users of the ontology as to
whether this distinction useful in practice.
This section is non-normative.
In many organizations there is a hierarchy of unit structures. For example we might see a containment hierarchy like:
Corporation BusinessUnit Division Function
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.
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.
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.
|
Indicates the Person (or other Agent including Organization) involved in the Membership relationship.
RDF Property: | org:member |
---|---|
Domain: | org:Membership |
Range: | foaf:Agent |
Usage note: |
Inverse of org:hasMembership
|
Indicates Organization in which the Agent is a member.
RDF Property: | org:organization |
---|---|
Domain: | org:Membership |
Range: | org:Organization |
Indicates the Role that the Agent plays in a Membership relationship with an Organization.
RDF Property: | org:role |
---|---|
Domain: | org:Membership |
Range: | org:Role |
Indicates a membership relationship that the Agent plays.
RDF Property: | org:hasMembership |
---|---|
Domain: | foaf:Agent |
Range: | org:Membership |
Usage note: |
Inverse of org:member .
|
Optional property to indicate the interval for which the membership is/was valid.
RDF Property: | org:memberDuring |
---|---|
Domain: | org:Membership |
Range: | owlTime:Interval |
Indicates a salary or other reward associated with the role.
RDF Property: | org:remuneration |
---|---|
Domain: | org:Membership |
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).
|
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. |
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 |
---|---|
Domain: | org:Role |
Range: | rdf:Property |
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}
|
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 |
---|---|
Domain: | foaf:Agent |
Range: | org:Organization |
Equivalent property: | foaf:member |
Usage note: | Provided for compatibility with `foaf:member`. |
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). |
Indicates that a person (or other agent) is the leader or formal head of the Organization.
RDF Property: | org:headOf |
---|---|
Domain: | foaf:Agent |
Range: | org:Organization |
subPropertyOf: | org:memberOf |
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.
|
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 . <http://example.com/people#jo> 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
.
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. |
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 |
---|---|
Domain: | org:Site |
Range: | vcard:VCard |
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 |
---|---|
Domain: | org:Organization |
Range: | org:Site |
inverseOf: | org:siteOf |
Indicates an Organization which has some presence at the given site.
RDF Property: | org:siteOf |
---|---|
Domain: | org:Site |
Range: | org:Organization |
inverseOf: | org:hasSite |
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 |
---|---|
Domain: | org:Organization |
Range: | org:Site |
subPropertyOf: | org:hasSite |
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 |
---|---|
Domain: | org:Organization |
Range: | org:Site |
subPropertyOf: | org:hasPrimarySite |
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 |
---|---|
Domain: | foaf:Person |
Range: | org:Site |
subPropertyOf: | org:hasPrimarySite |
Gives a location description for a person within the organization, for example a Mail Stop for internal posting purposes.
RDF Property: | org:location |
---|---|
Domain: | foaf:Person |
Range: | xsd:string |
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 |
---|---|
subClassOf: | org:Organization |
Usage note: |
All members are org:Organization s rather than individuals and those Organizations can play particular roles within the venture. Alternative names: Project Venture Endeavour Consortium
|
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.
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`. |
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 |
---|---|
Domain: | org:ChangeEvent |
Range: | org:Organization |
inverseOf: | org:changedBy |
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. |
Indicates a change event which resulted in a change to this organization.
RDF Property: | org:changedBy |
---|---|
Domain: | org:Organization |
Range: | org:ChangeEvent |
inverseOf: | org:originalOrganzation |
Usage note: | Depending on the event the organization may or may not have continued to exist after the event. |
Indicates an event which resulted in (led to, generated) this organization.
RDF Property: | org:resultedFrom |
---|---|
Domain: | org:Organization |
Range: | org:ChangeEvent |
subpropertyOf: | opmv:wasGeneratedBy |
inverseOf: | org:resultingOrganization |
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. |
Indicates an organization which was created or changed as a result of the event.
RDF Property: | org:resultingOrganization |
---|---|
Domain: | org:ChangeEvent |
Range: | org:Organization |
inverseOf: | org:resultedFrom |
Changes since previous version 0.3 2010-06-09:
org:identifier
to support generic use of organization identifier schemes, including local and national schemes.Changes since previous version 0.2 2010-06-07:
org:changedBy
and org:resultingOrganization
as inverses to
the OMPV compatible properties and added a note on use of inverses.Changes since previous version 0.1 2010-05-28:
org:Organization
equivalent to foaf:Organization
following clarifying discussions with Dan Brickley.org:hasMember
as an inverse of org:memberOf
in order to be able to declare the equivalent to foaf:member
, thanks to Dan Brickley for the suggestion.org:unitOf/hasUnit
sub properties of org:subOrganizationOf/hasSubOrganization
, thanks to Dave Challis for prompting this clarification.
org:transitiveSubOrganizationOf
, thanks to Damian Steer for the suggestion.org:role
and org:organization
to correspond to the documentation and intent, thanks to Bernard Vatant for spotting that problem.org:memberOf
to clarify that the notion of membership is very broad and not meant to be limited to formal notions of membership.org:FormalOrganization
.
org:OrganizationalCollaboration
, thanks to Start Williams for point out the problem.org:resultingOrganization
to org:resultedFrom
for compatibility with OPMV, thanks to Jeni Tennison for pointing out the problem.rdfs:isDefinedBy
declarations, thanks to Kingsley Idehen for pointing out the lack of those.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.
No informative references.