An organization ontology : Survey

This is the second in our series of posts recording the (currently ongoing) process of developing an organization ontology. Here we are focused on surveying the options that already exist to confirm we haven't missed anything.

Check for existing ontologies

By far the best way to define an ontology is to just find one and reuse it. The point of ontologies is to enable knowledge sharing so proliferation of different ontologies covering the same territory is counter-productive.

In the case of organizations this is quite a hard search to do because a lot of ontologies need some notion of Organization to point to. E.g. Foaf is about people but needs to mention the Organizations of which a person is a member, Inference Web is about distributed inference but covers trust and provenance which in turn requires a notion of organizations (that are in a trust relationship). In each of these cases the representation of Organization is minimal, just sufficient for their own purpose, and not able to cover the scope outlined in our requirements.

Swoogle turns up 3,990 matches but a skim through the first few hundred results suggests that most of these are like the Foaf and InferenceWeb examples in which Organization is an incidental inclusion. The main candidate from that list is the rather broad AKT Portal ontology. We know from previous work that there are a number of similar upper ontologies (Proton, Sumo, SmartWeb) that include some notion of Organization. Each of these comes with a lot of other commitments that aren't a good match to our requirement for a small focused ontology but do provide material we can learn from.

Falcons gives 15,881 hits for Organization concept from 15 highlighted vocabularies. As well as FOAF and AKT Portal Falcon reminds us of:

  • Umbel Subject Concepts which gives a hierarchy of particular types of organization
  • Yago classification which gives another hierarchy of types of organization, derived from WikiPedia via DBPedia; digging further on that takes us to the DBPedia T-Box which has a small class hierarchy of types of organization
  • General DAML
  • GoodRelations which, like FOAF, has a different focus but needs to denote the category of this that make an Offering

Schemaweb throws up the GovTrack.us collection of RDF vocabularies of which the relevant one is Politico which has some minimal terms for relating a Politician to a role.

Schemapedia turns up nothing extra, though that service is still in beta.

Google turns up:

Jeni Tennison, who kicked off this work, asked for further pointers on a mail
list which uncovered:

  • Ralph Hodgson's US government ontologies oegov, the gov ontology in that set is relevant but doesn't cover all our requirements and is entangled with a shallow model of legislation, together with some US-specific ontological commitments.

She also pointed to an ontology developed by TSO for the London Gazette RDFa markup:

So we have no perfect match but some short lists. First, there are broader ontologies that we can learn from and that we may want to cross link to, especially:

Then there is modelling guidance we can glean from Enterprise modelling, especially:

Finally we'll want to link to popular ontologies in neighbouring domains especially:

  • FOAF which has a notion of Project, Organization and Group with membership
  • SIOC which has a notion of Community (though specific to online communities)
  • GoodRelations which is primarily about product and service offerings from companies

Lessons from near-misses

So what can we learn from the organization ontologies embedded in the larger designs we've identified? Let's survey the structure of each. The full details of the axioms are needed just yet, we want a sense of the key classes, hierarchy and relationships. Since the sources are in a wide range for formats we did a manual skim through each building an information picture of the relevant parts of them.

AKT Portal Ontology

Core classes:

Temporal-Thing
  Generic-Agent
    Legal-Agent
      Organization    props: organization-part-of, affiliated-person, 
                             has-sub-unit -> Organization-Unit
                                has-academic-unit -> Academic-Unit
                                has-support-unit -> Academic-Support-Unit
                             headed-by -> Affiliated-Person
                             has-size -> Organization-Size
                             subsidiary-of -> Profit-Organization
        Political-Organization
        Non-Profit-Organization
          Government-Organization
            Government
            Civil-Service
        Profit-Organization
          Partnership
          Company
           Private-Company
           Public-Company
          Industrial-Organization
        Learning-Centered-Organization
          R-And-D-Institute
            R-And-D-Institute-Within-Larger-Institute
          Educational-Organization
            Higher-Educational-Organization
              University            props: has-faculty, has-vice-chancellor
                Distance-Teaching-University
            School
        Publishing-House
      Organization-Unit     props: sub-unit-of-organization-unit, unit-of-Organization
        Education-Organization-Unit
          Academic-Unit
            University-Faculty
            Academic-Support-Unit

Organization-Size  oneOf{very-large-size, large-size, medium-size, small-size, micro-size}

Informal notes (this is not a rigorous, argued critique just immediate observations):

  • some useful structural terms e.g. Organization/Unit split is common and useful
  • the class hierarchy is tangled (in Rector's sense)
  • no notion of role/purpose of organization
  • some missing pieces in the Profit/Non-Profit taxonomy (and dependent on legislative regime).

Proton top

Happening
  Situation
    JobPosition  props: withinOrganization -> Organization 
    Role         props: roleHolder -> Entity, roleIn -> Happening 

Agent            props: controls, owns, partiallyControls, partiallyOwns, involvedIn, isLegalEntity
  Group          props: hasMember -> Agent 
    Organization props: childOrganizationOf, doingBusinessAs, establishedIn, establishmentDate, 
                        registeredIn, parentOrganizationOf, numberOfEmployees 
  Person         props: isBossOf -> Person, hasPosition -> JobPosition 
Product          props: producedBy -> Agent 
Service          props: operatedBy -> Agent 
  • Roles and jobs are reified, which is a common practice and allows n-ary relationships, though here Role is a role in an event (Happening) not at an organzation
  • has Organization is under Group which violates OntoClean if we regard an Organization as a social entity and Group as just a collection of people

Sumo

Agent            props{ wealthFn, leader }
  CommercialAgent
    Corporation
    Hotel
  Group  (also subClassOf Collection which carries subCollection property)
    GroupOfPeople
      AgeGroup, BeliefGroup, EthnicGroup, FamilyGroup, SocialUnit
    Organization
      Corporation  (also subClassOf CommercialAgent)
        Manufacturer
        MercantileOrganization
      EducationalOrganization
      GovernmentOrganization
        Government
        MilitaryOrganization  (also subClassOf MilitaryForce)
        PoliceOrganization
      JudicialOrganzation
      PoliticalOrganization
        MilitaryForce
      ReligiousOrganzation (also subClassOf  BeliefGroup)
  Organism
    Animal
      Verebrate
        WarmBloodedVerebrate
          Mammal
            Primate
              Hominid
                Human   props{home, stays, citizen}
  GeopoliticalArea
    City
    Nation
    StateOfProvince
  • again somewhat tangled (applying Rector's notion) and the Group/Organization relationship may be questionable under OntoClean guidelines
  • no notions of role, job, reporting structure
  • the only organization structuring is the generic subCollection property
  • some interesting divisions in there - why single out Hotel? MilitaryForces regarded as always political (no such thing as neutral mercenary?), City is regarded as an Agent (reasonable but interesting)

Good relations

BusinessEntity   props: hasDUNS, hasGlobalLocationNumber, hasISICv4,
                         hasNAICS, hasPOS, legalName  

BusinessEntityType 
  instances:  Business, Enduser, PublicInstitution, Reseller

BusinessFunction
  instances: ConstructionInstallation, Dispose, LeaseOut, Maintain, ProvideService, Repair, Sell, Buy 
  • no sub-structuring for BusinessEntity (not needed for the intended usage)
  • the range of business identifiers is useful and will be needed for any commercial specialization of the organization ontology
  • BusinessEntityType and BusinessFunction instances represent the roles a business can play within an Offering

Gazette organization and person ontologies

Organisation  (subClassOf foaf:Organization) 
              props: hasDepartment -> Department, hasPreviousName -> Organisation, 
                     isBasedAt -> geo:Feature, hasLocation -> geo:Feature,
                     natureOfBusiness , name, status,
  ForProfitOrganisation       props: isTradingAs
    LimitedCompany            props: registeredCountries, hasITCTradeClassification, 
                                     hasRegisteredOffice -> Office, companyNumber, 
                                     sitcTradeClassification
      PublicLimitedCompany
    SoleTrader
    Partnership               props: alsoKnownAs, defindAs, partnershipNumber
      GeneralPartnership
      LimitedPartnership
      LimitedLiabilityPartnership         
  PublicInstitution
    PublicCorporation
    RegionalAdminstration
      Council ...            
      GovernmentOfficeRegionCouncil
    GovernmentDepartment ...     
    ExecutiveAgency ...

Department    props: -> isPartOfOrganisation, departmentName

Office        props: officeName, hasOfficeAddress -> vcard:Address

Person   (subClassOf foaf:Person)  props: hasRole -> Role, employedAs -> Role
  InsolvencyPractitioner  props: hasIPnum

Position   props: isMemberOfDepartment, isMemberOfOrganisation, isBasedAt -> geo:Feature
  Role     props: roleName, assignedBy
    Receiver
    Petitioner
    Member
    Liquidator
    Solicitor
    Director
  Employment  props: jobTitle
  • reminds us of the -is/-iz spelling choice :)
  • reifies Roles (as in Proton) but separates out Employment from Role
  • lots of the hierarchical structure is UK and legislation specific, which is OK for the intended use of this particular ontology

Open eGov

Here we omit the legislation and other aspects of this ontology and just highlight the elements most relevant to our current purpose:

Body             props: suborganization, directorate, url, reportsTo, manages,
                        mission, facility, creationDate, partenerOf, particpatesIn, 
                        attends, library
  ActiveBody
  Administration
  AdvisoryBody
    Cabinet
  Agency         props: center, bureau, committee, adminstration, office, service,
                                commission, agency, board, panel, laboratory, council
  Government
     NationalGovernment
     StateGovernment
  GovernmentCenter
    Consulate, Embassy, PresidentialResidence
  Community
    Caucus, Commission, Consortium, Foundation, Group, Panel, Partnership, Team
  Corporation
  Department
    FederalDepartment,  IntelligenceDepartment
  ElectedBody
    Chamber
      HouseOfRepresentatives,   Congress
    Senate
  Facility
    Laboratory
    Library
      DigitalLibrary, PrivateLibrary, PublicLibrary
   ... plus lots more Body subclasses     

 DesignatedRole    props:  person, affiliation, role
   MemberOfGovernmentRole

 Role

 Person
   Citizen
     Voter, NonVoter
   CivilServant
     MemberOfGovernment
       President
       Senator
       VicePresident
   ForeignNational

The props are mostly generic, the positioning in the above informal picture reflects local restrictions (allValuesFrom etc) rather than domain constraints.

  • a lack of comments or other descriptive text makes it hard to be clear on some of intended distinctions here
  • there are a lots of subclasses of Body, some of the categories and relationships are rather US specific

Enterprise Ontology

This covers activity descriptions - processes, plans, decision making etc but again here we just focus on the organizational fragment:

Legal-Entity
  Corporation
  Customer
    Reseller
  Partnership
  Person      props:  Employer -> Legal-Entity, Works-For-Ou -> Organisational-Unit
    Partner
  Shareholder
  Vendor
    Competitor

Potential-Actor
  Organisational-Unit  props:  Managed-By -> Organisational-Unit

Role-Class

Qua-Entity
  Purpose
    Goal, Mission, Objective, Strategic-Purpose, Vision, Critical-Success-Factor

Employment-Contract  props: Employee -> Person
  • The distinction between a Legal-Entity and an Organizational-Unit (OU) is useful: "They differ in that a Legal-Entity is recognised as having rights and responsibilities in the world at large and by legal jurisdictions in particular, whereas OU need only have full recognition within an organisation. Larger Legal-Entities may wholly own other smaller Legal-Entities. An OU may be large and complex, even transcending Legal-Entities. Large OUs will normally be seen as being made up from smaller ones. The smallest may correspond to a single Person, in fact a particular Person could be seen as corresponding with more than one small OU.
  • The classification of Customer/Vendor is relative to the defining organisation - this may be meaningful in the context of an Enterprise Ontology but not in general (one entity's Customer is another entity's Vendor).
  • The details of an employment contract are reified but there is a direct link from a person to their Employer.

Enterprise Modelling Ontology

This ontology is axiomitized directly in first order logic so our sketch as a terminology is even more approximate than for the others.

organization  props: has_goal -> organisational-goal, consists_of -> division

organizational-goal

sub_goal      props: decomposition_of -> organizational-goal

role          props:  has_goal -> sub_goal
                      requires_skill -> skill
                      has_authority -> authority

organization-agent   props: member_of -> division/team, performs -> activity
                            has_communication_link -> communication-link
                            has_supervisor, has_supervisee

activity             props: constrained_by -> constraint, consumes -> resource 

role                 props: subordinate_of 
                            specialized_role, generalized_role

communication-link
   communication-with-authority  
  • Organizations have sub-structure (divisions), a set of organization-agents, a set of roles and hierarchical tree of goals. Thus instead of having an EducationalOrganization one would have an organization one of whose goals is education.
  • The subordinate hierarchy captures a reporting structure (e.g. head of HR reports to the President) whereas the specialization hierarchy describes job structure (e.g. HR manager is a specialization of dept-manager).
  • Communication-with-authority is a reification of chain of supervision, and is used to model transfer of resources and empowerment.
  • The ontology axioms describe things like inheritance of authority along subordinate or specialization hierarchies.

Foaf

Agent
  Group             props: member -> Agent
  Organization

SIOC

Community       props: dct:hasPart

UserGroup       props: has_member, usergroup_of
  • "A Usergroup is a set of members or UserAccounts of a community who have a common Role, purpose or interest. While a group of UserAccounts may be a single community that is linked to a certain Forum, they may also be a set of UserAccounts that perform a certain Role, for example, moderators or administrators."

Notes

Phew. Lots of material to build on, some commonalities but quite a lot of divergence on details. From our survey we see there are several core design questions to resolve

  • How rich a set of Organization classification should we hard-wire into the core ontology? Should be restrict ourselves to a minimalist notion of organization and organizational unit or have a top level classification of types of organization. A lot of existing ontologies embed some basic division between Government, Corporate, NotForProfit, Religious organizations. Yet some of the divisions are not clear cut and are dependent on legislative (e.g. precise not of not-for-profit).
  • How do we model the role someone plays in an organization (or indeed the role an organizational unit plays in relation to other units or the overall organization)? This in an n-ary relationship between an agent (e.g. person) and the organization or unit, including notions of scope, authority, responsibility, contract (including salary). Yet one of our requirements is maximal ease of query and a preference for avoiding reified n-ary relationships.