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:
- Organization Ontology 1.0 written in SHOE, giving a basic hierarchy of organization, industries and employee roles;
- An Organization Ontology for Enterprise Modelling which is focused on supply chain reasoning but has an interesting organization representation expressed in first order logic;
- PSI suite for enterprise performance simulation;
- Enterprise Ontology an ontology to represent the activity of business enterprises expressed in Ontolingua.
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.
#TechTalk