Ontology: Aktive-Portal-Ontology; Representation Language: OCML; File: organizations

This ontology was created by the Advanced Knowledge Technologies (AKT) project. AKT is an Interdisciplinary Research Collaboration (IRC), which is sponsored by the UK Engineering and Physical Sciences Research Council under grant number GR/N15764/01. The AKT IRC comprises the Universities of Aberdeen, Edinburgh, Sheffield, Southampton and the Open University.

;;; Mode: Lisp; Package: ocml

;;; The Open University

(in-package "OCML")

(in-ontology aktive-portal-ontology)


(def-class GENERIC-AGENT (temporal-thing) Show the class generic-agent in WebOnto
  "This is a generic notion, an agent can be an organization, a person
   an animal, a software agent, etc"
  ((has-web-address :type URL)
   (has-email-address :type email-address)))



(def-class LEGAL-AGENT (generic-agent) Show the class legal-agent in WebOnto
  "Some agents have legal status: definitely organizations and people,
   anybody else?"
  ((has-telephone-number :type string)
   (has-fax-number :type string)
   (has-postal-address :type postal-address)))




(def-class ORGANIZATION (legal-agent) Show the class organization in WebOnto
  "An organization is a type of legal agent"
  (
   (has-affiliated-person :type affiliated-person) 
   (organization-part-of :type organization)
   (has-sub-unit :type organization-unit)
   (headed-by :type affiliated-person)
   (has-size :cardinality 1 :type organization-size)
   ))


(def-class POLITICAL-ORGANIZATION (organization) Show the class political-organization in WebOnto
  "An organization which has a political connotation")


(def-class ORGANIZATION-SIZE (intangible-thing) Show the class organization-size in WebOnto
  "We use EU guidelines to distinguish between different organization sizes")


(def-instance VERY-LARGE-SIZE organization-size Show the instance very-large-size in WebOnto
  "An organization with over 10000 employees")

(def-instance LARGE-SIZE organization-size Show the instance large-size in WebOnto
  "An organization with more than 250 employees")

(def-instance MEDIUM-SIZE organization-size Show the instance medium-size in WebOnto
  "An organization with no more than 250 employees.  It also has to be independent,
   i.e., less than 25% owned by one enterprise (or jointly by several enterprises) 
   falling outside the definition of medium-sized enterprise.
   Finally, either the turnover total must be less than 40M Euros or the balance sheet 
   total must be less than 27M Euros.")

(def-instance SMALL-SIZE organization-size Show the instance small-size in WebOnto
  "An organization with no more than 50 employees.  It also has to be independent,
   i.e., less than 25% owned by one enterprise (or jointly by several enterprises) 
   falling outside the definition of small-sized enterprise.
   Finally, either the turnover total must be less than 7M Euros or the balance sheet 
   total must be less than 5M Euros.")

(def-instance MICRO-SIZE organization-size Show the instance micro-size in WebOnto
  "An organization with no more than 10 employees.  It also has to be independent,
   i.e., less than 25% owned by one enterprise (or jointly by several enterprises) 
   falling outside the definition of micro-sized enterprise.")


(def-class SMALL-OR-MEDIUM-SIZED-ORGANIZATION (organization) ?x Show the class small-or-medium-sized-organization in WebOnto
  "SME are important, so we define a class to represent them explicitly.
   In some case we might not know or we do not want to bother specifying 
   excatly whether something is a small-organization or a medium-organization.
   Hence, we can just say 'x is a SME' without going into further detail."
  :iff-def (and (organization ?x)
                (has-size ?x  ?size)
                (member ?size '(micro-size small-size medium-size)))
   :avoid-infinite-loop t)


(def-class ORGANIZATION-UNIT (generic-agent) Show the class organization-unit in WebOnto
  "An organization may have a number of units. Units may themselves have sub-units"
  (
   (has-telephone-number :type string)
   (has-fax-number :type string)
   (has-postal-address :type postal-address) 
   (has-size :type  organization-size)
   (has-affiliated-person :type affiliated-person) 
   (unit-of-organization :type organization)
   (sub-unit-of-organization-unit :type organization-unit)
   (has-sub-unit :type organization-unit)
   (headed-by :type affiliated-person)))


(def-rule UNIT-OF-ORGANIZATION-IS-TRANSITIVE Show the rule unit-of-organization-is-transitive in WebOnto
  ((unit-of-organization ?u ?o)
   if
   (sub-unit-of-organization-unit ?u ?u-super)
   (unit-of-organization ?u-super ?o)))
   


(def-class NON-PROFIT-ORGANIZATION (organization)) Show the class non-profit-organization in WebOnto

(def-class PROFIT-ORGANIZATION (organization) Show the class profit-organization in WebOnto
  ((subsidiary-of :type profit-organization)))

(def-class PARTNERSHIP (profit-organization) Show the class partnership in WebOnto
  "A partnership is not necessarily a company, e.g. a consultancy firm is 
   not a company")

(def-class COMPANY (profit-organization)) Show the class company in WebOnto

(def-class PRIVATE-COMPANY (company)) Show the class private-company in WebOnto

(def-class PUBLIC-COMPANY (company)) Show the class public-company in WebOnto

(def-class INDUSTRIAL-ORGANIZATION (profit-organization )) Show the class industrial-organization in WebOnto

(def-class GOVERNMENT-ORGANIZATION (non-profit-organization)) Show the class government-organization in WebOnto

(def-class CIVIL-SERVICE (GOVERNMENT-ORGANIZATION)) Show the class civil-service in WebOnto

(def-class GOVERNMENT (GOVERNMENT-ORGANIZATION) Show the class government in WebOnto
  ((government-of-country :type country)))


(def-class CHARITABLE-ORGANIZATION (non-profit-organization)) Show the class charitable-organization in WebOnto

(def-class LEARNING-CENTRED-ORGANIZATION (organization)) Show the class learning-centred-organization in WebOnto

(def-class R-and-D-INSTITUTE (learning-centred-organization )) Show the class r-and-d-institute in WebOnto

(def-class R-and-D-INSTITUTE-WITHIN-LARGER-ORGANIZATION  Show the class r-and-d-institute-within-larger-organization in WebOnto
  (r-and-d-institute organization-unit))



(def-class EDUCATIONAL-ORGANIZATION (learning-centred-organization )) Show the class educational-organization in WebOnto

(def-class R-AND-D-INSTITUTE-WITHIN-EDUCATIONAL-ORGANIZATION (R-and-D-INSTITUTE-WITHIN-LARGER-ORGANIZATION)) Show the class r-and-d-institute-within-educational-organization in WebOnto


(def-class HIGHER-EDUCATIONAL-ORGANIZATION (educational-organization) Show the class higher-educational-organization in WebOnto
  ((has-academic-unit :type academic-unit) 
   (has-support-unit :type academic-support-unit)))


(def-rule HAS-ACADEMIC-UNIT-IMPLIES-HAS-ORGANIZATION-UNIT Show the rule has-academic-unit-implies-has-organization-unit in WebOnto
  ((has-sub-unit ?x ?y)
   if
   (has-academic-unit ?x ?y)))

(def-rule HAS-SUPPORT-UNIT-IMPLIES-HAS-ORGANIZATION-UNIT Show the rule has-support-unit-implies-has-organization-unit in WebOnto
  ((has-sub-unit ?x ?y)
   if
   (has-support-unit ?x ?y)))


(def-class UNIVERSITY (higher-educational-organization) Show the class university in WebOnto
  ((has-faculty :type university-faculty)
   (has-vice-chancellor :type educational-employee))
  :slot-renaming ((has-vice-chancellor headed-by)))



(def-class DISTANCE-TEACHING-UNIVERSITY (university)) Show the class distance-teaching-university in WebOnto

(def-class SCHOOL (educational-organization)) Show the class school in WebOnto


(def-class EDUCATIONAL-ORGANIZATION-UNIT (organization-unit) ?x Show the class educational-organization-unit in WebOnto
  ((unit-of-organization :type educational-organization)
   )
  :iff-def (and (unit-of-organization ?x ?y)
                (educational-organization ?y)))
                

(def-class ACADEMIC-UNIT (educational-organization-unit) Show the class academic-unit in WebOnto
  ((unit-of-organization :type university)
   ))

(def-class UNIVERSITY-FACULTY (academic-unit)) Show the class university-faculty in WebOnto


(def-class ACADEMIC-SUPPORT-UNIT (educational-organization-unit)) Show the class academic-support-unit in WebOnto

(def-class PUBLISHING-HOUSE (organization)) Show the class publishing-house in WebOnto




(def-class LOCATION (tangible-thing) Show the class location in WebOnto
  "A generic class for locations.  It includes both real and 
   fantastic places")



(def-class GEOGRAPHICAL-REGION (tangible-thing location) Show the class geographical-region in WebOnto
  "'Real' geographical regions")

(def-class COORDINATE-LOCATION ( geographical-region ) Show the class coordinate-location in WebOnto
  ((has-latitude :type number)
   (has-longitude :type number)
   (has-geographical-datum :type geographical-datum)))

(def-class GEOGRAPHICAL-DATUM (intangible-thing) Show the class geographical-datum in WebOnto
  "A datum used to define a reference system, eg. 
    World Geodetic System 1984, Ordnance Survey of Great Britain Datum 1936, etc.")


(def-class GEOPOLITICAL-ENTITY (Geographical-Region Generic-Agent) Show the class geopolitical-entity in WebOnto
  "A geopolitical entity is a geographical area which is associated with some sort of 
   political structure. For instance, Russia, Italy, The-city-of-Messina, etc..
   A geopolitical entity can be also seen as an agent - e.g., France declared 
   war to Spain")

(def-class COUNTRY (Geopolitical-Entity) Show the class country in WebOnto
  ((has-capital :type capital-city)
   (has-currency :type currency)
   (has-government :type government)))

(def-class CURRENCY (information-bearing-object) Show the class currency in WebOnto
   ((issued-by :type government)
    (has-currency-symbol :type string :documentation "for instance £")
    (has-iso4217-code :type string :documentation "for instance GBP"))
    :slot-renaming ((has-currency-symbol has-pretty-name)))


(def-class AMOUNT-OF-MONEY (Physical-Quantity) Show the class amount-of-money in WebOnto
  ((has-unit-of-measure :type currency)
   (has-amount :type number))
  :slot-renaming ((has-amount has-magnitude)))
  
(def-class MUNICIPAL-UNIT (geopolitical-entity)) Show the class municipal-unit in WebOnto

(def-class CITY (municipal-unit)) Show the class city in WebOnto

(def-class TOWN (municipal-unit)) Show the class town in WebOnto

(def-class CAPITAL-CITY (city) Show the class capital-city in WebOnto
  ((is-capital-of :type country)))

(def-axiom CONSISTENCY-BETWEEN-COUNTRIES-AND-CAPITAL-CITIES Show the axiom consistency-between-countries-and-capital-cities in WebOnto
  (<=> (is-capital-of ?city ?country) 
       (has-capital ?country ?city)))


(def-class VILLAGE (municipal-unit)) Show the class village in WebOnto

(def-class LOCAL-DISTRICT (geopolitical-entity)) Show the class local-district in WebOnto



(def-class ADDRESS (abstract-information) Show the class address in WebOnto
  "A generic class for addresses, whether email or postal.
   We see an address as abstract information and therefore it is an intangible thing")




(def-class POSTAL-ADDRESS (address) Show the class postal-address in WebOnto
  "Modified to allow addresses to be given as strings, with no structure"
 ((address-street :type string)
   (address-area :type local-district)
   (address-number :type integer)
   (address-building :type string)
   (address-city-or-village :type municipal-unit)
   (address-postcode :type string)
   (address-region :type geographical-region)
   (address-country :type country)
   (address-pretty-label :type string))
 :slot-renaming ((address-pretty-label has-pretty-name )))


(def-class EMAIL-ADDRESS (string address) ?x Show the class email-address in WebOnto
 :sufficient-for-type-checking (string ?x))


(def-class PERSON (legal-agent tangible-thing) Show the class person in WebOnto
  ((has-full-name :type string)
   (has-family-name :type string)
   (has-given-name :type string)
   (has-gender :type gender)
   (has-academic-degree :type academic-degree)
   (has-appellation :type appellation))
  :slot-renaming (( has-full-name has-pretty-name)
                  ))


(def-class APPELLATION (Intangible-thing)) Show the class appellation in WebOnto

(def-instance DR appellation) Show the instance dr in WebOnto

(def-instance MR appellation) Show the instance mr in WebOnto

(def-instance MS appellation) Show the instance ms in WebOnto

(def-instance MISS appellation) Show the instance miss in WebOnto

(def-instance PROF appellation) Show the instance prof in WebOnto

(def-instance MRS appellation) Show the instance mrs in WebOnto

(def-instance SIR appellation) Show the instance sir in WebOnto

(def-instance LADY appellation) Show the instance lady in WebOnto


(def-class GENDER (Intangible-thing) ?x Show the class gender in WebOnto
  "HPKB says that genders are intangible..Uhm..."
  :iff-def (element-of  ?x (set-of male-gender female-gender)))

(def-instance MALE-GENDER gender) Show the instance male-gender in WebOnto

(def-instance FEMALE-GENDER gender) Show the instance female-gender in WebOnto

(def-class AFFILIATED-PERSON (person) Show the class affiliated-person in WebOnto
  "A person which has an affiliation with some organization.
   For instance employees are affiliated to the organization they work for,
   students to the institution where they are studying, etc..
   A person can have multiple affiliations, which means that there is no 
   constraint relating the values of slot has-affiliation-to-unit to the values 
   of slot has-affiliation"
  ((has-affiliation-to-unit :type organization-unit)
   (has-affiliation :type organization :min-cardinality 1)))

(def-class WORKING-PERSON (person) Show the class working-person in WebOnto
  ((has-work-status :type work-status)))


(def-class WORK-STATUS (Intangible-thing)) Show the class work-status in WebOnto

(def-instance FULL-TIME work-status) Show the instance full-time in WebOnto

(def-instance PART-TIME  work-status) Show the instance part-time in WebOnto


(def-class SELF-EMPLOYED-PERSON (working-person)) Show the class self-employed-person in WebOnto



                        
(def-class EMPLOYEE (affiliated-person working-person) ?x Show the class employee in WebOnto
  ((works-for :type organization)
   (works-in-unit :type organization-unit)
   (has-job-title :type string)
   (has-contract-type :type employment-contract-type)
   (has-line-manager :type employee))
  :slot-renaming ((works-for has-affiliation)
                  (works-in-unit has-affiliation-to-unit)))


(def-class ADMINISTRATIVE-STAFF (employee)) Show the class administrative-staff in WebOnto

(def-class EMPLOYMENT-CONTRACT-TYPE (Intangible-thing)) Show the class employment-contract-type in WebOnto


(def-instance PERMANENT-CONTRACT employment-contract-type) Show the instance permanent-contract in WebOnto

(def-instance TEMPORARY-CONTRACT  employment-contract-type) Show the instance temporary-contract in WebOnto


(def-class SYSTEM-ADMINISTRATOR (working-person))  Show the class system-administrator in WebOnto

(def-class MULTIMEDIA-DESIGNER (working-person))  Show the class multimedia-designer in WebOnto

(def-class GRAPHIC-DESIGNER (working-person))  Show the class graphic-designer in WebOnto


(def-class SOFTWARE-DEVELOPER (working-person))  Show the class software-developer in WebOnto

(def-class FREELANCE-SOFTWARE-DEVELOPER (SOFTWARE-DEVELOPER SELF-EMPLOYED-PERSON)) Show the class freelance-software-developer in WebOnto

(def-class SECRETARY (working-person) Show the class secretary in WebOnto
  ((is-secretary-of :type assisted-person)))

(def-class ASSISTED-PERSON (person) Show the class assisted-person in WebOnto
  :iff-def (and (person ?x) (is-secretary-of ?sec ?x) (secretary ?sec))
  :avoid-infinite-loop t)

(def-relation HAS-SECRETARY (?x ?sec) Show the relation has-secretary in WebOnto
  :iff-def (and (person ?x) (is-secretary-of ?sec ?x) (secretary ?sec)))



(def-class EDUCATIONAL-EMPLOYEE (employee) ?x Show the class educational-employee in WebOnto
  ((works-for :min-cardinality 1 :type educational-organization))
  :iff-def (and  (works-for ?x ?y)
                 (educational-organization ?y))
  
  :no-proofs-by (:iff-def)) ;;to avoid endless loops with the renaming in 
                            ;;the definition of Employee

(def-class HIGHER-EDUCATIONAL-ORGANIZATION-EMPLOYEE (educational-employee) ?x Show the class higher-educational-organization-employee in WebOnto
  ((works-for :min-cardinality 1 :type higher-educational-organization))
  :iff-def (and  (works-for ?x ?y)
                 (higher-educational-organization ?y))
  :no-proofs-by (:iff-def)) 


(def-class ACADEMIC-SUPPORT-STAFF-MEMBER (higher-educational-organization-employee) Show the class academic-support-staff-member in WebOnto
  (
   ))

(def-class ACADEMIC-ADMIN-STAFF-MEMBER (academic-support-staff-member administrative-staff) Show the class academic-admin-staff-member in WebOnto
  ((works-for :type higher-educational-organization)
   ))

(def-class PROJECT-OFFICER-IN-ACADEMIA (academic-support-staff-member)) Show the class project-officer-in-academia in WebOnto

(def-relation HAS-RESEARCH-INTEREST (?x ?r) Show the relation has-research-interest in WebOnto
  "People and in general even organizations and organization units
   may have research interests.  This relation shoudl be used to 
   specify them"
  :constraint (and (or (organization-unit ?x)
                       (organization ?x)
                       (person ?x))
                   (research-area ?r)))

(def-class STUDENT (affiliated-person) Show the class student in WebOnto
  ((studies-at :type educational-organization :min-cardinality 1)
   (studies-in-unit :type educational-organization-unit :min-cardinality 1))
   :slot-renaming ((studies-at has-affiliation)
                   (studies-in-unit has-affiliation-to-unit)))

(def-class PHD-STUDENT (student) Show the class phd-student in WebOnto
  ((has-research-interest :type research-area)
   (studies-at :type higher-educational-organization :min-cardinality 1)
   (has-supervisor :type person)))

(def-class ACADEMIC-STAFF-MEMBER (higher-educational-organization-employee) Show the class academic-staff-member in WebOnto
  ((has-research-interest :type research-area)))

(def-class RESEARCHER (working-person) Show the class researcher in WebOnto
  ((has-research-interest :type research-area)))

(def-class VISITING-RESEARCHER (researcher affiliated-person) Show the class visiting-researcher in WebOnto
  ((organization-being-visited :type organization)
   (organization-unit-being-visited :type organization-unit)
   (person-being-visited :type employee)))

(def-rule VISITING-RESEARCHER-GETS-AFFILIATION-TO-VISITED-ORGANIZATION Show the rule visiting-researcher-gets-affiliation-to-visited-organization in WebOnto
  ((has-affiliation ?x ?y)
   if
   (visiting-researcher ?x)
   (organization-being-visited ?x ?y)))

(def-rule VISITING-RESEARCHER-GETS-AFFILIATION-TO-VISITED-ORGANIZATION-UNIT Show the rule visiting-researcher-gets-affiliation-to-visited-organization-unit in WebOnto
  ((has-affiliation-to-unit ?x ?y)
   if
   (visiting-researcher ?x)
   (organization-unit-being-visited ?x ?y)))


(def-class RESEARCH-STAFF-MEMBER (higher-educational-organization-employee researcher)) Show the class research-staff-member in WebOnto

(def-class RESEARCH-FELLOW-IN-ACADEMIA  (RESEARCH-STAFF-MEMBER)) Show the class research-fellow-in-academia in WebOnto

(def-class SENIOR-RESEARCH-FELLOW-IN-ACADEMIA  (RESEARCH-STAFF-MEMBER)) Show the class senior-research-fellow-in-academia in WebOnto

(def-class RESEARCH-ASSISTANT-IN-ACADEMIA  (RESEARCH-STAFF-MEMBER)) Show the class research-assistant-in-academia in WebOnto

(def-class LECTURER-IN-ACADEMIA  (academic-staff-member)) Show the class lecturer-in-academia in WebOnto

(def-class SENIOR-LECTURER-IN-ACADEMIA  (academic-staff-member)) Show the class senior-lecturer-in-academia in WebOnto

(def-class PROFESSOR-IN-ACADEMIA  (academic-staff-member)) Show the class professor-in-academia in WebOnto

(def-class READER-IN-ACADEMIA  (academic-staff-member)) Show the class reader-in-academia in WebOnto

;;;Some sample instances below.....



(def-instance THE-OPEN-UNIVERSITY distance-teaching-university Show the instance the-open-university in WebOnto
  ((has-web-address "http://www.open.ac.uk")
   (has-sub-unit knowledge-media-institute-at-the-open-university)
   (has-size large-size)))


(def-instance UNIVERSITY-OF-SOUTHAMPTON university Show the instance university-of-southampton in WebOnto
  ((has-web-address "http://www.ecs.soton.ac.uk")
   (has-academic-unit dept-of-electronics-and-computer-science-at-southampton)
   (has-size large-size)))

(def-instance UNIVERSITY-OF-EDINBURGH university Show the instance university-of-edinburgh in WebOnto
  ((has-size large-size)
   (has-web-address "http://www.ed.ac.uk/")
   (has-academic-unit division-of-informatics-at-edinburgh)))

(def-instance UNIVERSITY-OF-SHEFFIELD university Show the instance university-of-sheffield in WebOnto
  ((has-web-address "http://www.shef.ac.uk")
   (has-academic-unit dept-of-computer-science-at-sheffield)
   (has-size large-size)))

(def-instance UNIVERSITY-OF-ABERDEEN university Show the instance university-of-aberdeen in WebOnto
  ((has-size large-size)
   (has-web-address "http://www.abdn.ac.uk/")
   (has-academic-unit dept-of-computing-science-at-aberdeen)))

(def-instance EPSRC non-profit-organization Show the instance epsrc in WebOnto
  ((has-size small-size)))


(def-instance DEPT-OF-COMPUTING-SCIENCE-AT-ABERDEEN academic-unit Show the instance dept-of-computing-science-at-aberdeen in WebOnto
  ((has-web-address "http://www.csd.abdn.ac.uk/")
   (unit-of-organization  university-of-aberdeen)))

(def-instance DEPT-OF-COMPUTER-SCIENCE-AT-SHEFFIELD academic-unit Show the instance dept-of-computer-science-at-sheffield in WebOnto
  ((has-web-address "http://www.dcs.shef.ac.uk")
   (unit-of-organization university-of-sheffield)))
  


(def-instance KNOWLEDGE-MEDIA-INSTITUTE-AT-THE-OPEN-UNIVERSITY  r-and-d-institute-within-educational-organization Show the instance knowledge-media-institute-at-the-open-university in WebOnto
  ((has-pretty-name "Knowledge Media Institute")
   (has-web-address "http://kmi.open.ac.uk")
   (has-telephone-number "+44 1908 653800")
   (has-size medium-size)
   (unit-of-organization the-open-university)))


(def-instance FACULTY-OF-SCIENCE-AND-ENGINEERING-AT-EDINBURGH university-faculty Show the instance faculty-of-science-and-engineering-at-edinburgh in WebOnto
  ((unit-of-organization university-of-edinburgh)))

(def-instance DIVISION-OF-INFORMATICS-AT-EDINBURGH academic-unit Show the instance division-of-informatics-at-edinburgh in WebOnto
  ((has-web-address "http://www.informatics.ed.ac.uk/")
   (sub-unit-of-organization-unit faculty-of-science-and-engineering-at-edinburgh)
   (unit-of-organization university-of-edinburgh)))

(def-instance DEPT-OF-ELECTRONICS-AND-COMPUTER-SCIENCE-AT-SOUTHAMPTON academic-unit Show the instance dept-of-electronics-and-computer-science-at-southampton in WebOnto
  ((unit-of-organization university-of-southampton)))
  





(def-instance NATO political-organization Show the instance nato in WebOnto
  "nato is both a political organization and a geopolitical entity")

(def-instance NATO geopolitical-entity Show the instance nato in WebOnto
  "nato is both a political organization and a geopolitical entity")
 



Contact Point

Email: John Domingue (j.b.domingue@open.ac.uk)