The top-level ontology of WebKB-2

This is the first loaded file of the "multi-source ontology" of WebKB-2.


Table of contents
Two sections/annexes have been hidden: (i) the declarations of user identifiers, and (ii) the categories not yet categorized within Section 4.
Each of the following sections is about a category and the square brackets enclose some details about it: (i) a 4-character abbreviation, (ii) a 1-character abbreviation, and (iii) a binary code permitting to quickly know if, given two categories, one specializes the other or not. This code is inherited or overrided by the specializing categories. It should be read from right to left and follow a scalable coding scheme.

1.  Things (categorization of uppermost concept types or 2nd order types)    [thng, T, 0]
     1.1.  Situations (either processes or states)    [situ, S, 01.0]
             1.1.1.  Genuine processes (actions, tasks, ...)    [proc, P, 01.01.0]
             1.1.2.  States    [stat, a, 11.01.0]
             1.1.3.  Situations according to their roles: achievement, ...    [rolS, _, 01.10.01.0]
             1.1.4.  Other categorizations for situations: perdurants, ...
     1.2.  Entities (things that are not situations)    [enti, E, 11.0]
             1.2.1.  Spatial objects    [spOb, O, 01.11.0]
                        1.2.1.1.  Space areas/regions    [spaA, a, 01.01.11.0]
                        1.2.1.2.  Physical endurants: agentive entities, substances, ...    [phEd, E, 11.01.11.0]
             1.2.2.  Non-spatial objects    [nsOb, N, 11.11.0]
                        1.2.2.1.  Attributes and Measures (temporal, spatial, ...)    [a.m., M, 01.11.11.0]
                        1.2.2.2.  Non-spatial objects that are not attributes nor measures    [nsOa, n, 11.11.11.0]
                                      1.2.2.2.1.  Description content/mediums/containers    [desc, D, 01.11.11.11.0]
                                                       1.2.2.2.1.1.  Description content    [deCt, d, 01.01.11.11.11.0]
                                                       1.2.2.2.1.2.  Description mediums    [deMe, m, 11.01.11.11.11.0]
                                                       1.2.2.2.1.3.  Description containers    [deCn, c, 10.01.11.11.11.0]
                                      1.2.2.2.2.  True collections: bags, sets, types (1st/2nd/... order, ...), ...    [coll, C, 11.11.11.11.0]
                        1.2.2.3.  Non-spatial objects according to their roles: psychological entities, ...    [nsoR, _, 01.10.11.11.0]
                        1.2.2.4.  Other categorizations for non-spatial objects: abstract entities, ...
             1.2.3.  Entities according to their roles    [rolE, _, 01.10.11.0]
             1.2.4.  Other categorizations for entities
                        1.2.4.1.  Endurants
                        1.2.4.2.  Entities according to their (un-)divisibility: collections, ...
                        1.2.4.3.  Entities according to their source ontologies
     1.3.  Things according to their roles    [rolT, R, 01.10.0]
             1.3.1.  Concept types usable for generating relation types    [relT, r, 01.01.10.0]
             1.3.2.  Things according to other roles: mediating things, created things, ...
     1.4.  Other categorizations for things: continuants/occurrents, divisible/indivisible, ...

2.  Relations    [rela, R, 1]
     2.1.  Categorization of relations according to their source/destination arguments
             2.1.1.  Relations from situations: to time measures, to situations, case relations
             2.1.2.  Spatial relations from entities with spatial features
             2.1.3.  Relations from collections (lists, types, ontologies, ...): member, union, size...
             2.1.4.  Relations (logical/rhetorical/...) from description_content/mediums/containers
             2.1.5.  Relations from attributes or measures
             2.1.6.  Relations to situations
             2.1.7.  Relations to entities with spatial features
             2.1.8.  Relations to time measures
             2.1.9.  Relations to collections (lists, types, ontologies, strings, ...)
             2.1.10.  Relations to attributes or measures
     2.2.  Categorization of relations according to their roles
             2.2.1.  Attributive relations
             2.2.2.  Mereological relations
             2.2.3.  Intentional relations
             2.2.4.  Temporal relations
             2.2.5.  Object relations
             2.2.6.  Conceptual relation
             2.2.7.  Relations for particular applications
     2.3.  Categorization of relations according to what/who/why/.../how questions
     2.4.  Categorization of relations according to certain properties
             2.4.1.  Relations with particular mathematical properties (transitivity, reflexivity, ...)
             2.4.2.  Relations categorized according to their fixed or variable arities
             2.4.3.  Relations using a world as argument

Annexe 1.  WordNet categories   (now stored in this other file)

Annexe 2.  Categories/links below or between WordNet categories



The knowledge representations in this file are in the FL notation and use the following list of abbreviations for links between categories.

  < (subtypeOf),   > (subtype),         ^ (instanceOf),  : (instance),
  = (equal),       >part (subdomain)    - (inverse),     ! (simple exclusion),
  / ("closed exclusion": the two linked types are exclusive and
            either are respectively identical to pm#thing and pm#nothing
            or they subtype a same type and form a complete subtype partition),
  & ("related": this fuzzy link is used in the SUMO and hence is also used here between
     some SUMO categories; it is also used below for connecting DOLCE-full categories 
     to their version in DOLCE-lite)


1.  Things  (categorization of uppermost concept types or 2nd order types)

Knowledge representation requires a category for referring to anything, and one for referring to nothing. One identifier for such the first category is pm#thing. Any category (individual or concept/relation type) of any ontology is an instance of pm#thing (since this category has no associated conceptual constraints, i.e., no partial/total definition). Every concept type (of any ontology) except pm#nothing is a subtype of pm#thing. No relation type or individual is a subtype of pm#thing (this is why relation types are categorized in a separate section). The complete "subtype partitions" of pm#thing lists the uppermost conceptual distinctions. The types in these partitions are not just exclusive with each other but are complement of each other.

The types with names in bold characters represent important uppermost categories coming from other ontologies or that I found very convenient to add for knowledge categorization/representation purposes. (Please increase the text size factor in your brower in you do not distinguish the bold characters from the characteres in the normal font).
Some of these types have their names also in italics to highlight the fact that they are "non-intuitive to use": deciding whether something is or is not an instance of such types is often difficult or arbitrary (at least much more often than for "intuitive to use" types), i.e., different persons are likely to make different choices depending on their goals or preferences. WordNet top-level types are difficult to categorize under "non-intuitive to use" types without over-interpreting (and hence changing) the meaning of these WordNet types and, unlike in other mappings to WordNet (e.g., OntoWordNet), I have not over-interpreted WordNet types. WordNet top-level types are also difficult to categorize under certain "intuitive to use" types when WordNet has top-level subtypes for these types even though it has hundreds of medium-level potential subtypes for these types. These are the two reasons why some top-level types have few (direct or indirect) WordNet subtypes.
Finally, the types which have names that are anchors of hyperlinks are types which, in my opinion, are the most important top-level types. Clicking on them is asking WebKB-2 to display their direct relations to other categories and the hierarchy of their subtypes up to a certain depth (chosen to ease the understanding of what kinds of subtypes exist).


//The fact that the classes pm#thing, owl#nothing and sumo#class are instance of themselves is not represented
//(nor is the fact that pm#thing is instance of sumo#class)

owl#nothing___impossibility___absurdity___bottom_type 
    (^the type of logically impossible objects (not of imaginary objects such as unicorns); this type cannot have any instance or subtype^)
 /  pm#thing ,   //"/" is an abbreviation for pm#complement_class
 = kif#bottom (pm)  sowa#absurdity (pm)  daml#empty ;

pm#thing___something___T___3D_or_4D_thing_or_anything_else 
    (^$(many specializations; distinction T)$ any category (type or individual) is instance of this type; any type is also a subtype of this type^)
 >  p{pm#situation  pm#entity }  /* this complete partition generalizes the incomplete partitions
                                            {dl#perdurant dl#endurant} and {sumo#process sumo#object sumo#abstract} */
    {(pm#thing_playing_some_role  sowa#independent_thing)}
    {(sowa#continuant  sowa#occurrent )}   {3D#thing  4D#thing }
    {(sumo#physical  sumo#abstract )}  {(cyc#partially_tangible  cyc#intangible )}  {(cyc#partially_intangible  cyc#tangible )} 
    {(pm#undivisible_thing  pm#divisible_thing )}   {(cyc#temporal_thing  pm#non_temporal_thing )}
    {(pm#individual  pm#type )}   {(dolce#particular  dolce#universal dolce#world )}(dolce)
    {(pm#domain  pm#thing_that_is_not_a_domain )}  pm#thing_categorized_in_an_ontology 

    pm#dbpedia_thing,
 /  owl#nothing ,
 =  owl#thing  cyc#thing  akts#Thing  sumo#entity  sowa#entity  rdfs#Resource ;


1.1.  Situations (either processes or states)    [situ, S, 01.0]

   pm#situation (^$(many specializations; distinction S)$ something that "occurs" in a real/imaginary region of time and space^)
    > {(pm#process  pm#state )}  pm#situation_playing_some_role  dl#perdurant  sumo#process  
      sowa#process  sowa#participation  sowa#situation  pm#situation_categorized_in_an_ontology ;  


1.1.1.  Genuine processes (actions, tasks, ...)    [proc, P, 01.01.0]

      pm#process (^$(many specializations; distinction P)$ situation commonly considered as making a change during some period of time^) 
       > pm#event  pm#problem_solving_process   pm#process_with_particular_feature 
         #cognitive_process  #unconscious_process  #human_action  pm#process_playing_some_role ,  
       = aktp#Activity ;

         pm#event (^process considered instantaneous from some viewpoint; classification under this category is application-dependant^);

         pm#problem_solving_process (^cognitive activity to solve a problem^)
          > pm#task  pm#problem_solving_method ;

            pm#task (^processes modelled in knowledge acquisition, e.g., a diagnostic^)
             > pm#real_life_task ;

               pm#real_life_task (^a task composed of more basic tasks^)
                > pm#knowledge_engineering ;

                  pm#knowledge_engineering (^making a knowledge based system^)
                   > {pm#environment_analysis  pm#problem_analysis  pm#task_analysis  pm#function_analysis  pm#implementation_analysis }  pm#knowledge_engineering_with_KADS ;

                     pm#knowledge_engineering_with_KADS (^making a knowledge based system using KADS methodology^);

            pm#problem_solving_method___PSM___method___technique (^PSMs can be seen as task descriptions used by tasks or as problem solving processes^);

         pm#process_with_particular_feature 
             > pm#iterative_process  pm#never-ending_process ;

               pm#iterative_process
                > pm#iterative_never-ending_process ;

               pm#never-ending_process 
                > pm#iterative_never-ending_process ;

      sowa#process___physical_independent_occurrent___spatially_located_process (^click here for details^);


1.1.2.  States    [stat, a, 11.01.0]

      pm#state (^$(distinction s)$ situation that is not a process^)
       > #state  #feeling  pm#state_playing_some_role ;


1.1.3.  Situations according to their roles: achievement, ...    [rolS, _, 01.10.01.0]

      pm#situation_playing_some_role (^$(distinct)$ e.g., a causal situation^)
       > pm#process_playing_some_role  dl#achievement  dl#accomplishment  #resultant  #outcome  #evidence.situation ;



1.1.4.  Other categorizations for situations: perdurants, ...

      dl#perdurant___occurence___PD   
       > {(dl#stative dl#event )},
       dl#p_spatial_location=> dl#space_region ,
       dl#temporal_location=> dl#temporal_region ,  //dl#temporal_region(all->1..*)
       dl#happens_at=> dl#time_interval ,           //in OWL: this rel. has allValuesFrom this origin
       dl#has_quality: 1..* dl#Temporal_location ,  //in OWL: this rel. has someValuesFrom this origin  
       dl#participant=> 1..* dl#endurant ,
       dl#has_quality=> dl#temporal_quality ,
       dl#part=> dl#perdurant ,
       dl#constituted_by=> dl#perdurant ,
       & dolce#perdurant ;

         dl#stative___STV (^as opposed to eventive occurrences, the sum of two stative occurences is the same kind of occurrence, e.g., the sum of 2 sittings is a sitting^)
          > {(dl#state dl#process )} ,
          & dolce#stative ;

            dl#state___ST (^stative occurence with all its parts being the same kind of stative occurrence, e.g., sitting, being red^)
             & dolce#state ;

            dl#process___PRO (^eventive occurence with some parts not being the same kind of stative occurrence, e.g., running, writing^)
             & dolce#process ;

         dl#event___EV (^as opposed to stative occurrences, the sum of two eventive occurences is not the same kind of occurrence^)
          > {(dl#achievement dl#accomplishment )} ,
          & dolce#event ;

            dl#achievement___ACH (^atomic eventive occurence, e.g., reaching a summit, a departure, a death^)
             & dolce#achievement ;

            dl#accomplishment___ACC (^non atomic eventive occurence, e.g., a conference, an ascent, a performance^)
             > dl#activity dl#phenomenon ,
             & dolce#accomplishment ;

               dl#activity
                > dl#transaction ;

                  dl#transaction > dl#commerce ;

               dl#phenomenon
                > dl#economic_process dl#biological_process ;

                  dl#biological_process
                   dl#participant: 1..* dl#biological_object ;




      sumo#process___physical_situation (^intuitively, the class of things that happen and have temporal parts or stages; examples include extended events like a football match or a race, actions like pursuing and reading, and biological processes; sumo#process is not identical to pm#situation because an instance of pm#situation is not necessarily an instance of sumo#physical^)
       > sumo#dual_object_process  #state  #feeling  #cognitive_process  #unconscious_process  #human_action  #phenomenon  #event ;

         sumo#dual_object_process (^process requiring two nonidentical patients^);




      sowa#situation___physical_mediating_occurrent___spatially_located_situation (^click here for details^);



1.2.  Entities (things that are not situations)    [enti, E, 11.0]

   pm#entity  (^$(many specializations; distinction E)$ something that can be "involved" in a situation^)
    > {(sumo#object  sumo#abstract )}  {(pm#spatial_object  pm#non_spatial_object )}  pm#entity_playing_some_role 
      dl#endurant   {(pm#undivisible_entity  pm#divisible_entity )}  pm#entity_categorized_in_an_ontology ;


      sumo#object___entity_with_spatial_feature (^$(many specializations)$ spatial object (space, location or physical object) or description medium/container (e.g., string, language, image); in a 4D ontology, an object is something whose spatiotemporal extent is thought of as dividing into spatial parts roughly parallel to the time-axis^)
       > {(pm#spatial_object  sumo#content_bearing_object )}  sumo#self_connected_object   sumo#collection ;
                        


1.2.1.  Spatial objects    [spOb, O, 01.11.0]

         pm#spatial_object (^$(many specializations; distinction O)$ object which as a direct spatial location, e.g., physical object, spatial region or shape^)
          > pm#space  dl#physical_endurant   sowa#object  {#mathematical_point  pm#2D_object  pm#3D_object }
            cyc#information_bearing_thing ;


1.2.1.1.  Space areas/regions    [spaA, a, 01.01.11.0]

            pm#space (^$(many specializations; distinction s)$ point or extent in space^)
             > sumo#region  dl#feature  dl#physical_place  //not dl#Spatial_location since it is a dl#quality
               #space  #location  #natural_enclosure  #expanse  #sky  #shape ;

               sumo#region (^topographic location, e.g., object surface, imaginary place, and geographic_Area; a region is the only kind of object which can be sumo#located at itself; sumo#region is not a subclass of sumo#self_connected_object because some regions, e.g., archipelagos, have parts which are not connected with one another^);

               dl#feature___F (^e.g., hole, gulf, bundary^)
                > dl#dependent_place  dl#relevant_part ,
                dl#host=> dl#entity ,
                & dolce#feature ;

               dl#physical_place
                > dl#geographical_object ;


1.2.1.2.  Physical endurants: agentive entities, substances, ...    [phEd, E, 11.01.11.0]

            dl#physical_endurant___PED (^$(many specializations; distinction E)$ ^)
             > {(pm#physical_entity  dl#feature )},
             dl#physical_location=> dl#physical_region ,
             dl#spatial_location=> dl#space_region ,
             dl#physically_depends_on of=> dl#non-physical_endurant ,
             dl#part=> dl#physical_endurant ,
             dl#constituted_by=> dl#physical_endurant ,
             dl#has_quality=> 1..* dl#physical_quality ,
             & dolce#physical_endurant ;

               pm#physical_entity___object (^$(many specializations; distinction e)$ spatial entity made of matter^)
                > dl#physical_object  pm#physical_entity_part_or_substance ;

                  dl#physical_object___POB
                   > {(dl#agentive_physical_object  dl#non-agentive_physical_object )}
                     cyc#information_bearing_object (pm), 
                   ! sumo#substance ,
                   & dolce#physical_object ;

                     dl#agentive_physical_object___APO (^something or someone that can act on its own and produce changes in the world^)
                      > pm#entity_that_can_be_or_was_alive ,
                      = sumo#Agent (pm) ,
                      & dolce#agentive_physical_object ;

                        pm#entity_that_can_be_or_was_alive (^$(many specializations; distinction l)$ e.g., an animal, a cell^)
                         > sumo#sentient_agent  pm#living_physical_entity #living_thing #cell ;

                           sumo#sentient_agent (^$(many specializations)$ an agent that has rights but may or may not have responsibilities and the ability to reason; if the latter are present, then the agent is also a cognitive_agent; domesticated animals are an example of sentient_agents that are not also cognitive_agents^)
                            > sumo#cognitive_agent ;

                              sumo#cognitive_agent (^(many specializations)$ sentient_agent with responsibilities and the ability to reason, deliberate, make plans, etc; this is essentially the legal/ethical notion of a person; chimpanzees, gorillas, dolphins, whales, and some extraterrestrials (if they exist) may be cognitive_agents^)
                               > sumo#human ;

                                 sumo#human (^a modern man (member of the only remaining species of the Homo genus)^)
                                  > {(sumo#man  sumo#woman )} #person ,
                                  = dl#natural_person (pm);

                           pm#living_physical_entity (^alive physical entity^)
                         // > #living.people , //no: people is a collection
                            ! pm#dead_physical_entity ;  //because of the "undead" zombies, '/' cannot be used

                     dl#non-agentive_physical_object___NAPO (^$(many specializations; distinction)$ e.g., a bottle^)
                      > pm#dead_physical_entity  #physical_object  dl#biological_object  dl#artifact  dl#physical_place  dl#unitary_collection ,
                      & dolce#non-agentive_physical_object ;

                        pm#dead_physical_entity (^physical_entity that is no more alive^)
                         > pm#dead_person , //no #dead.people since collection
                         ! pm#living_physical_entity ;

                        dl#biological_object (^an animal is not a biological_object, it is constituted_by a biological_object which itself is constituted_by some matter^)
                         > dl#organism ;

                        dl#artifact
                         > dl#instrumentality  dl#construction ,
                         = sumo#artifact (pm);

                           dl#instrumentality
                            > dl#conveyance  dl#device  dl#equipment  pm#hardware ;

                              dl#conveyance
                               > dl#vehicle ;

                              pm#hardware
                               >  #hardware  #computer_hardware #ironware;

                     cyc#information_bearing_object (^This notion is useful to group together all information bearing physical entities, including video, audio and documents. An information bearing object may have an author (a generic agent) and may be owned by a legal agent. It is a tangible object. See http://www.cycfoundation.org/concepts/CompositeTangibleAndIntangibleObject for more details. ^)
                     = aktp#Information-Bearing-Object ,
                  // ! sumo#content_bearing_object ,  //redundant since physical ! non_spatial
                     >  aktp#Recorded-Audio  aktp#Recorded-Video  aktp#Publication  aktp#Message  aktp#Web-Site,
                     aktp#owned-by=> aktp#Legal-Agent ;


                  pm#physical_entity_part_or_substance 
                   > dl#amount_of_matter   #substance  #physical_part  #building_block ;

                     dl#amount_of_matter___M (^similar to sumo#substance but does not need to be connected, e.g., "the amount of gold at this moment located in Europe"^)
                      > sumo#substance ,
                      & dolce#amount_of_matter ;
                        //#part.physical_object is now < #physical_part

                        sumo#substance___amount_of_matter___divisible_entity_without_discrete_parts (^object in which every part is similar to every other in every relevant respect; more precisely, something is a substance when it has only arbitrary pieces as parts - any part has properties which are similar to those of the whole; note that a substance may nonetheless have physical properties that vary, e.g., the temperature, chemical constitution, density, etc. may change from one part to another; examples: body of water, air, cement^)
                         > {(sumo#synthetic_substance  sumo#natural_substance )}  {(sumo#pure_substance  sumo#mixture )} ,
                         ! dl#physical_object ;

                           sumo#synthetic_substance (^any substance that is the result of an intentional_process, i.e. any substance that is created by humans^);

                           sumo#natural_substance (^any substance that is not the result of an intentional_process, i.e. any substance that occurs naturally^);

                           sumo#pure_substance (^substances with constant composition, e.g., table salt, sugar, water, iron, copper and oxygen^)
                            > {(sumo#compound_substance  sumo#elemental_substance )};

                           sumo#mixture (^a mixture is two or more pure_substances, combined in varying proportions - each retaining its own specific properties; the components of a mixture can be separated by physical means, i.e. without the making and breaking of chemical bonds; examples: air, table salt thoroughly dissolved in water, milk, wood, and concrete^);


            sowa#object___physical_independent_continuant (^click here for details^)
             name: independent_spatial_object (pm);


            cyc#information_bearing_thing (^http://www.cyc.com/cycdoc/vocab/info-vocab.html#InformationBearingThing^)
             > cyc#information_bearing_object ;
           //>representation: pm#description_content/medium/container,
           //`representation location' of: pm#description_content/medium/container,
           //`representention object' of: pm#description_content/medium/container;


1.2.2.  Non-spatial objects    [nsOb, N, 11.11.0]

         pm#non_spatial_object (^$(many specializations; distinction N)$ abstraction or description content/medium/container (a description medium that has some spatial feature is both instance of sumo#object and pm#non_spatial_object^)
          > {(pm#attribute_or_quality_or_measure   pm#non_spatial_object_that_is_not_an_attribute_or_quality_or_measure )}
            sumo#abstract   pm#non_spatial_object_playing_some_role ;


1.2.2.1.  Attributes and Measures (temporal, spatial, ...)    [a.m., M, 01.11.11.0]

WordNet does not distinguish between "attributes" and "quantities" (in the terminology of SUMO), or between "qualities" and "regions" (in the terminology of DOLCE). The term "measures" mainly refers to quantities (regions) but also includes "temporal attributes (qualities)". WordNet mixes all these kinds of categories in the same specialization hierarchy. This section permits to make the distinction (while still keeping the WordNet hierarchy) but does not yet make it. However, this section makes some distinctions between temporal, physical/spatial and social attributes/measures. It also isolates some units of measures.

            pm#attribute_or_quality_or_measure (^$(many specializations; distinction M)$ e.g., mass, mass unit, 1 kg, frequency, [2-3] hz, color, blue, speed, 1 m/s^)
             > pm#time_measure  pm#physical/spatial_attribute_or_quality_or_measure  pm#process_attribute_or_quality_or_measure 
               pm#psychological_attribute_or_quality_or_measure  pm#social_attribute_or_quality_or_measure 
               pm#modality_measure  pm#numeric_attribute  pm#unit_of_measure  pm#security_attribute
               {sumo#Attribute  sumo#quantity } //this distinction generalizes the distinction {dl#quality  dl#region } 
               #measure  #attribute  #property  #magnitude_relation ;


               pm#time_measure___temporal_attribute_or_quality_or_measure (^$(many specializations)$ temporal duration or positions of time_points and time_intervals along the universal timeline^)
                > sumo#time_measure  #time #time_period ; 

                  sumo#time_measure 
                   > dl#temporal_quality  dl#temporal_region ;

                     dl#temporal_quality___TQ (^e.g., a date or a duration, but not its measure/value^)
                      > dl#Temporal_location ,
                      dl#q_location=> dl#temporal_region ,
                      dl#has_quality=> dl#temporal_quality ,
                      dl#inherent_in=> 1..* dl#perdurant ,
                      & dolce#temporal_quality ;  
   
                        dl#Temporal_location___TL (^$(same normalization as dl#temporal_location)$ ^);
   
                     dl#temporal_region___TR (^a value for a temporal quality, e.g., 24/5/2002, 2 seconds^)
                      > dl#time_interval  sumo#time_position,
                      dl#temporal_location of=> dl#perdurant ,
                      dl#e_temporal_location of=> dl#endurant ,
                      dl#part=> dl#temporal_region ,
                      & dolce#temporal_region ; 
   
                        dl#time_interval___T
                         > pm#unit_of_time_duration  sumo#time_duration  dl#date ,
                         dl#time_of_presence_of=> dl#endurant,
                         dl#time_of_q_presence_of=> dl#physical_quality,
                         dl#time_of_happening_of=> dl#perdurant,
                         & dolce#time_interval ;
   
                           pm#unit_of_time_duration (^the class of all unit of measures used to measure time, e.g., minute, second, hour, etc.^)
                            > #time_unit ,
                            = akts#Time-Measure (pm),
                            instance: akts#time-measure-second___second  akts#time-measure-minute___minute
                                      akts#time-measure-hour___hour  akts#time-measure-day___day
                                      akts#time-measure-month___month;
   
                           sumo#time_duration (^any measure of length of time, with or without respect to the universal timeline^)
                            = akts#Duration (pm),
                            akts#has-unit-of-measure:  0..* akts#Time-Measure ,
                            : akts#twentyfour-hour-duration  akts#seven-day-duration
                              akts#twentyeight-day-duration akts#twentynine-day-duration
                              akts#thirty-day-duration  akts#thirtyone-day-duration
                              akts#thirtyone-day-duration  akts#twelve-month-duration ;
   
                              akts#twentyfour-hour-duration___24_hour_duration
                               akts#has-unit-of-measure: 24 akts#time-measure-hour;
                              akts#seven-day-duration___7_day_duration
                               akts#has-unit-of-measure: 7 akts#time-measure-day;
                              akts#twentyeight-day-duration___28_day_duration
                               akts#has-unit-of-measure: 28 akts#time-measure-day;
                              akts#twentynine-day-duration___29_day_duration
                               akts#has-unit-of-measure: 29 akts#time-measure-day;
                              akts#thirty-day-duration___30_day_duration
                               akts#has-unit-of-measure: 30 akts#time-measure-day;
                              akts#thirtyone-day-duration___31_day_duration
                               akts#has-unit-of-measure: 31 akts#time-measure-day;
                              akts#twelve-month-duration___12_month_duration
                               akts#has-unit-of-measure: 12 akts#time-measure-month;
   
                        sumo#time_position (^any time_point or time_interval along the universal timeline from negative_infinity to positive_infinity^)
                         = akts#Time-Position (pm),
                         > {(sumo#time_interval  sumo#time_point )};
   
                           sumo#time_interval (^a time_interval has both an extent and a location on the universal timeline; a time_interval has no gaps, i.e. this class contains only convex time intervals^)
                            = akts#Time-Interval (pm),
                            > akts#Day akts#Week akts#Month akts#Year ;

                              akts#Day  akts#has-duration:  akts#twentyfour-hour-duration;
                              akts#Week akts#has-duration:  akts#seven-day-duration;
                              akts#Year akts#has-duration:  akts#twelve-month-duration;


                           sumo#time_point (^the time_points at which processes occur can be known with various degrees of precision and approximation, but conceptually time_points are point-like and not interval-like; that is, it doesn't make sense to talk about how long a time_point lasts^)
                            = akts#Time-Point (pm),
                            > akts#Calendar-Date ,
                            akts#second-of:  0..1 xsd#nonNegativeInteger ,
                            akts#minute-of:  0..1 xsd#nonNegativeInteger ,
                            akts#hour-of:  0..1 xsd#nonNegativeInteger ,
                            akts#day-of:  0..1 xsd#nonNegativeInteger ,
                            akts#month-of:  0..1 xsd#nonNegativeInteger ,
                            akts#year-of:  0..1 xsd#nonNegativeInteger ;
   
                              akts#Calendar-Date  (^a point in time ^)
                               akts#second-of:  0 xsd#nonNegativeInteger ,
                               akts#minute-of:  0 xsd#nonNegativeInteger ,
                               akts#hour-of:  0 xsd#nonNegativeInteger ;



               pm#physical/spatial_attribute_or_quality_or_measure (^e.g., mass/length/color measure; here are most of the subtypes of #property.attribute, e.g., #visual_property^)
                > dl#physical_quality  dl#physical_region  menu#physical_characteristic
                  pm#living_entity_attribute_or_quality_or_measure  pm#spatial_attribute_or_quality_or_measure
                  pm#physical/spatial_unit_of_measure  pm#physical_process_attribute_or_quality_or_measure ;

                  dl#physical_quality___PQ (^e.g., weight, color, as attributes^)
                   > dl#Spatial_location ,
                   dl#q_present_at=> dl#time_interval ,
                   dl#q_location=> dl#physical_region ,
                   dl#has_quality=> dl#physical_quality ,
                   dl#inherent_in=> 1..* dl#physical_endurant ,
                   & dolce#physical_quality ;

                  dl#physical_region___PR (^e.g., 2 meters, 3.5 kg, [2-3] hz^)
                   > dl#space_region dl#volume ,
                   dl#physical_location of=> dl#physical_endurant ,
                   dl#part=> dl#physical_region ,
                   & dolce#physical_region ;

                     dl#space_region___S
                      > dl#spatio_temporal_region ,
                      dl#spatial_location of=> 1..* dl#physical_endurant ,
                      dl#p_spatial_location of=> dl#perdurant ,
                      dl#depends_on_spatial_location of=> dl#non-physical_endurant ,
                      dl#part=> dl#space_region ,
                      & dolce#space_region ;

                  menu#physical_characteristic (^this category is for menu-generation purposes^)
                   > {#visual_property #physical_property };

                  pm#living_entity_attribute_or_quality_or_measure
                   > pm#date_of_birth ;

                     pm#date_of_birth___D.O.B.___birthdate (^not a birthday^);

                  pm#spatial_attribute_or_quality_or_measure (^e.g., length measure in meters^)
                   > dl#Spatial_location menu#spatial_characteristic  pm#spatial_unit_of_measure ;

                     dl#Spatial_location___SL (^$(same normalization as dl#spatial_location)$ ^)
                      & dolce#Spatial_location ;

                     menu#spatial_characteristic (^$(distinct)$ this category is mainly for menu-generation purposes^)
                      > {#width #height #length #circumference #diameter #surface_area #volume #thickness #tenuity #angle };

                     pm#spatial_unit_of_measure
                      > #linear_measure #angular_unit #area_unit #volume_unit ;

                  pm#physical/spatial_unit_of_measure
                   > pm#spatial_unit_of_measure  pm#unit_of_measure_for_a_physical_process #metric_unit ;

                     pm#unit_of_measure_for_a_physical_process
                      > #acceleration_unit #work_unit pm#force_measure #electromagnetic_unit #absorption_unit #explosive_unit #pressure_unit #electromagnetic_unit ;

                  pm#physical_process_attribute_or_quality_or_measure
                   > pm#unit_of_measure_for_a_physical_process  pm#energy_measure  pm#absorption_measure  pm#radiation_measure  pm#explosion_measure #game_point ;

                     pm#energy_measure
                      > #work_unit  #electromagnetic_unit ;

                     pm#force_measure
                      > #force_unit ;

                     pm#absorption_measure
                      > #absorption_unit ;

                     pm#radiation_measure
                      > pm#radioactivity_measure #langley ;

                        pm#radioactivity_measure
                         > #radioactivity_unit ;

                     pm#explosion_measure
                      > #explosive_unit ;

               pm#process_attribute_or_quality_or_measure (^$(distinct)$ e.g., a speed measure^)
                > pm#physical_process_attribute_or_quality_or_measure ;

               pm#psychological_attribute_or_quality_or_measure
                > pm#unit_of_measure_for_a_psychological_attribute ;

               pm#social_attribute_or_quality_or_measure
                > pm#identifier  pm#unit_of_measure_for_a_social_attribute ;

                  pm#identifier___id
                   > {pm#passport_identifier  pm#social_welfare_identifier }  pm#serial_number  pm#URI ;

                     pm#URI___Uniform_Ressource_Identifier
                      > pm#URL  pm#URN ;

                        pm#URL___Uniform_Ressource_Locator ;

                        pm#URN___Uniform_Ressource_Number ;

                  pm#unit_of_measure_for_a_social_attribute
                   > #monetary_unit ;

               pm#modality_measure (^e.g., pm#never is as an instance^)
                > pm#temporal_modality_measure  pm#physical_possibility ;

                  pm#temporal_modality_measure
                   : pm#never  pm#rarely  pm#often  pm#always ;


               pm#unit_of_measure (^ Any kind of unit of measure, metre, dollar, kilogram, etc. ^)
                = akts#Unit-Of-Measure ,
                > {pm#unit_of_time_duration  pm#physical/spatial_unit_of_measure  pm#unit_of_measure_for_a_process  pm#unit_of_measure_for_a_psychological_attribute  pm#unit_of_measure_for_a_social_attribute } #unit_of_measurement ;


               sumo#Attribute 
                > {(sumo#internal_attribute  sumo#relational_attribute )}  dl#quality (pm);

                  sumo#internal_attribute (^any attribute of an entity that is an internal property of the entity, e.g., its shape, its color, its fragility, etc^);

                  sumo#relational_attribute (^any attribute that an entity has by virtue of a relationship that it bears to another entity or set of entities, e.g., social_roles and positional_attributes^)
                   > sumo#normative_attribute ;

                     sumo#normative_attribute (^attribute specific to morality, legality, aesthetics, etiquette, etc; many of such attributes express a judgement that something ought or ought not to be the case^)
                      > {sumo#subjective_assessment_attribute  sumo#objective_norm };

                        sumo#subjective_assessment_attribute (^normative_attribute which lacks an objective criterion for its attribution, i.e. the attribution of such an attribute varies from subject to subject and even with respect to the same subject over time; in the SUMO, if a category from such an external knowledge source seems to lack objective criteria for its attribution, this category is assigned to this class^);

                        sumo#objective_norm (^normative_attribute  associated with an objective criterion for their attribution, i.e. there is broad consensus about the cases where these attributes are applicable^);


                  dl#quality___Q (^an attribute/dimension of something, e.g., its color, but not the measure of this color^)
                   > {dl#temporal_quality  dl#physical_quality  dl#abstract_quality },
                   dl#inherent_in=> 1..* dl#entity ,
                   dl#q_location=> dl#region ,
                   dl#has_quale=> dl#quale ,  //dl#q_location=> dl#region ,
                   dl#has_quality=> dl#quality ,
                   & dolce#quality ;

                     dl#abstract_quality___AQ (^e.g., an asset value (but not any actual measure of this value)^)
                      dl#q_location=> dl#abstract_region ,
                      dl#has_quality=> dl#abstract_quality ,
                      dl#inherent_in=> 1..* dl#non-physical_endurant ,
                      & dolce#abstract_quality ;


               sumo#quantity (^any specification of how many or how much of something there is^)
                = akts#Quantity (pm),
                > {pm#atomic_ADT  sumo#physical_quantity };

                  sumo#physical_quantity (^a measure of some quantifiable aspect of the modeled world, such as 'the earth's diameter' (a constant length) and 'the stress in a loaded deformable solid' (a measure of stress, which is a function of three spatial coordinates); physical_quantities need not be material, e.g., amounts of money (in specified currencies) would be instances of sumo#physical_quantity^)
                   = akts#Physical-Quantity (pm),
                   > dl#region (pm)  {(pm#function_quantity_type  sumo#constant_quantity )};
                     //I assume that sumo#physical_quantity a 1st-order type but SUMO is quite fuzzy on this point;  since SUMO
                     // has inconsistent lexical conventions, the absence of "_type" in the name is a poor indicaton.
                     //This mixing of 1st-order type and 2nd-order type into a partition is bad form.
                     
                     dl#region___R (^the measure of an attribute/dimension^)
                      >  dl#quale  dl#space_region  {dl#temporal_region  dl#physical_region  dl#abstract_region },
                      dl#q_location of=> dl#quality ,
                      dl#generic_location of=> dl#entity ,  //dl#q_location of=> dl#quality ,
                      & dolce#region ;

                        dl#quale // := [dl#region *r, dl#proper_part=> no dl#region],
                         dl#has_quale of=> dl#quality;

                        dl#abstract_region___AR (^e.g., 2 US dollars^)      
                         dl#abstract_location of=> dl#non-physical_endurant ,
                         dl#part=> dl#abstract_region ,
                         & dolce#abstract_region ;

                     pm#function_quantity_type (^function that maps from one or more instances of constant_quantity to another instance of constant_quantity; for example, the velocity of a particle would be represented by a function_quantity mapping values of time (which are constant_quantities) to values of distance (also constant_quantities); note that all instances of function_quantity are functions with a fixed arity; note too that all elements of the range of a function_quantity have the same physical dimension as the function_quantity itself^)
                      > pm#unary_constant_function_quantity_type  sumo#calorie  sumo#British_thermal_unit ,
                      =  sumo#function_quantity ; 

                        pm#unary_constant_function_quantity_type (^unary function that maps from sumo#constant_quantity to the same class^)
                         > pm#time_dependent_quantity_type ,
                         = sumo#unary_constant_function_quantity ;

                           pm#time_dependent_quantity_type (^a unary_constant_function of continuous time; all instances of this class map a time quantity into another constant_quantity such as temperature; for example, 'the temperature at the top of the Empire State Building' is a time_dependent_quantity since its value depends on the time^)
                            = sumo#time_dependent_quantity ;

                     sumo#constant_quantity (^physical_quantity with a constant value, e.g., 3 meters and 5 hours; the magnitude (see magnitude_fn) of every constant_quantity is a real_number; constant_quantities are expressed with measure_fn, e.g., 3 meters can be expressed as (sumo#measure_fn 3 meter); they form a partial order with the less_than relation, since less_than is a relation_extended_to_quantities and less_than is defined over the real_numbers; the less_than relation is not a total order over the class constant_quantity since elements of some subclasses of constant_quantity (such as length quantities) are incomparable to elements of other subclasses of constant_quantity (such as mass quantities)^)
                      > sumo#time_measure ;


1.2.2.2.  Non-spatial objects that are not attributes nor measures    [nsOa, n, 11.11.11.0]

            pm#non_spatial_object_that_is_not_an_attribute_or_quality_or_measure 
             > pm#description_content/medium/container  pm#non_spatial_collection ;  //non exclusive types!


1.2.2.2.1.  Description content/mediums/containers    [desc, D, 01.11.11.11.0]
               pm#description_content/medium/container (^$(many specializations; distinction D)$ ^)
                > {pm#description  pm#description_container } 
                  #communication ; 

                  pm#description (^description (content/medium) of an entity or a situation^)
                   > sowa#form   pm#description_content  pm#description_medium ;

                     sowa#form___abstract_independent_thing (^click here for details^)
                      > sowa#schema sowa#script ;

                        sowa#schema___abstract_independent_continuant (^click here for details^);

                        sowa#script___abstract_independent_occurrent (^click here for details^);


1.2.2.2.1.1.  Description content    [deCt, d, 01.01.11.11.11.0]
                     pm#description_content___information (^$(distinction d)$ e.g., a narration, an hypothesis^)
                      = aktp#Abstract-Information ,
                      > pm#knowledge_representation  sumo#proposition   sowa#intention  dl#fact
                        pm#narration  pm#fact_generalization
                        pm#description_with_KADS_inference_structure  kads#role  rdf#description 
                        #subject_matter  #written_material  #code.laws  #public_knowledge  #cognitive_factor
                        #perception.cognition  #cognitive_content  #history.cognition  #mental_attitude ;

                        pm#knowledge_representation (^what a formal/semi-formal statement expresses^);

                        sumo#proposition___abstract_relative_thing___situation_description (^piece of information; this piece of information may be represented by content_bearing_object(s) such as a string, a sound or an icon; click here for details^)
                         > sowa#description  sowa#history ,
                         : "cats are furry animals" "most cats are furry animals",
                         = sowa#proposition (pm);    

                           sowa#description___abstract_relative_continuant (^click here for details^);

                           sowa#history___abstract_relative_occurrent (^click here for details^);

                        sowa#intention___abstract_mediating_thing (^click here for details^)
                         > sowa#reason sowa#purpose ;

                           sowa#reason___abstract_mediating_continuant (^click here for details^);

                           sowa#purpose___abstract_mediating_occurrent (^click here for details^);

                        pm#narration (^report, story, biography, etc.^);

                        pm#fact_generalization (^description generalizing facts or ideas^);

                        pm#description_with_KADS_inference_structure (^dataflow graph of "inferences" (tasks) the inputs/outputs of which are described by "roles"^);

                        kads#role
                         > kads#hypothesis  kads#observable  kads#finding  kads#complaint  kads#norm  kads#difference
                           kads#discrepancy_class  kads#diagnosis_result  kads#parameter  kads#system_model  kads#historical_data ;


1.2.2.2.1.2.  Description mediums    [deMe, m, 11.01.11.11.11.0]
                     pm#description_medium (^$(distinction m)$ e.g., a syntax, a language, a script, a structure^)
                      > sumo#content_bearing_object  {pm#atomic_ADT  pm#structured_ADT }
                        #structure  #language_unit  #symbolic_representation ;

                        pm#atomic_ADT___atomic_abstract_data_type 
                         > sumo#number  pm#boolean ;

                           sumo#number (^$(no menu)$ ^)
                            > {sumo#real_number  sumo#imaginary_number  sumo#complex_number },
                            = kif#number (pm);

                              sumo#real_number (^$(no menu)$ a number that can be expressed as a (possibly infinite) decimal, i.e. a number that has a position on the number line^)
                               > {(sumo#rational_number sumo#irrational_number )}(pm)
                                 {(sumo#nonnegative_real_number  sumo#negative_real_number )}(pm)  sumo#binary_number  xsd#decimal ,
                               = kif#real (pm);

                                 sumo#rational_number (^$(no menu)$ real_number that is the product of dividing two integers^)
                                  > sumo#integer ,
                                  = kif#rational (pm);

                                    sumo#integer (^$(no menu)$ a negative or nonnegative whole number^)
                                     > {(sumo#nonnegative_integer  sumo#negative_integer )}
                                       {(sumo#even_integer  sumo#odd_integer )}  sumo#prime_number ,
                                     = kif#integer (pm)  xsd#integer (pm);

                                       sumo#nonnegative_integer (^$(no menu)$ integer >= 0^)
                                        > {(sumo#positive_integer kif#zero )}(pm) ,
                                        = kif#natural (pm)  xmls#non_negative_integer (pm) ; 

                                          sumo#positive_integer (^$(no menu)$ integer > 0^)
                                           = kif#positive (pm);

                                          kif#zero (^class containing only 0^);

                                       sumo#negative_integer (^$(no menu)$ integer < 0^)
                                        = kif#negative (pm);

                                       sumo#even_integer (^$(no menu)$ integer that is evenly divisible by 2^)
                                         = kif#even  (pm);

                                       sumo#odd_integer (^$(no menu)$ integer that is not evenly divisible by 2^)
                                         = kif#odd  (pm);

                                 sumo#nonnegative_real_number (^$(no menu)$ real_number >= 0^)
                                  //= xsd#nonNegativeInteger (pm), //2020-03-19: +add, +rm 
                                  > sumo#positive_real_number  sumo#nonnegative_integer (pm);

                                    sumo#positive_real_number (^$(no menu)$ real_number > 0^)
                                     > sumo#positive_integer (pm);

                                 sumo#negative_real_number (^$(no menu)$ real_number < 0^)
                                  > sumo#negative_integer (pm);

                                 sumo#binary_number (^elements from the number system with base 2; every binary_number is expressed as a sequence of the digits 1 and 0^);

                              sumo#imaginary_number (^$(no menu)$ a number that is the result of multiplying a real_number by the square root of -1^);

                              sumo#complex_number (^$(no menu)$ a number that has the form: x + yi, where x and y are real_numbers and i is the square root of -1^)
                               = kif#complex (pm);

                           pm#boolean (^two instances: true and false^)
                            : kif#true kif#false ,
                            = xmls#boolean ;

                        pm#structured_ADT___structured_abstract_data_type 
                         > sumo#list kif#set  pm#number_container  pm#array  pm#queue  pm#stack  pm#keyed_collection_ADT  pm#graph_ADT #lattice rdf#statement  pm#ontology xmls#block_set owl#data_range ;

                           sumo#list (^a particular ordered n-tuple of items; generally speaking, lists are created by means of the list_fn function, which takes any number of items as arguments and returns a list with the items in the same order; anything, including other lists, may be an item in a list; note too that lists are extensional - two lists that have the same items in the same order are identical; note too that a list (the null_list) may contain no items^)
                            > sumo#unique_list kif#double kif#triple rdfs#container (rdfs_daml_oil_semantics),
                            = kif#list (pm);

                              sumo#unique_list (^a list in which no item appears more than once, i.e. a list for which there are no distinct numbers ?n1 and ?n2 such that (sumo#list_order_fn ?list ?n1) and (sumo#list_order_fn ?list ?n2) return the same value^)
                               > kif#null kif#single ;

                                 kif#null___null_list (^type of empty lists^)
                                  : sumo#null_list ;

                                    sumo#null_list (^the list that has no items; the uniqueness of null_list follows from the extensionality of lists, i.e. the fact that two lists with the same items in the same order are identical^)
                                     = kif#nil (pm) rdf#nil (pm);

                                 kif#single___list_with_1_element (^list of length 1^);

                              kif#double___list_with_2_elements (^list of length 2^);

                              kif#triple___list_with_3_elements (^list of length 3^);

                              rdfs#container
                               > {(rdf#bag rdf#seq rdf#alt )};

                                 rdf#seq
                                  > rdf#list ;

                                    rdf#list
                                     > daml#disjoint ,
                                     = owl#collection (pm);

                                       daml#disjoint___disjoint_list_of_classes (^classes in such a list are pairwise disjoint^);

                                 rdf#alt (^alternatives (exclusive or inclusive?)^)
                                  > pm#or_bag (pm) pm#xor_bag (pm);

                                    pm#or_bag (^bag of OR-ed elements^);

                                    pm#xor_bag (^bag of XOR-ed elements^);

                           kif#set (^ADT where duplicate elements are not allowed^)
                            > pm#or_set pm#xor_set ;

                              pm#or_set (^set of OR-ed elements^);

                              pm#xor_set (^set of XOR-ed elements^);

                           pm#array
                            > pm#string ;

                           pm#graph_ADT
                            > sumo#graph ;

                              sumo#graph___connected_graph (^every graph is assumed to contain at least two arcs and three nodes^);


1.2.2.2.1.2.  Description containers    [deCn, c, 10.01.11.11.11.0]
                  pm#description_container (^$(distinction c)$ file, image, ... but not a disk or a piece of paper^)
                   > pm#document_element ; //no: #representation ; some subcategories of #representation could be (mis-)interpreted as physical objects: here, only their storage role is considered

                     pm#document_element___document___DE (^$(only #document as subtype, not #written_document, #document.communication, #record)$ a part of a document or the whole document^)
                      > #document ;


1.2.2.2.2.  True collections: bags, sets, types (1st/2nd order, ...), ...    [coll, C, 11.11.11.11.0]
               pm#non_spatial_collection___true_collection(^$(distinction C)$ something gathering separated things (entities/situations) and that is not a spatial object^)
                > pm#domain  pm#structured_ADT   pm#type  pm#set_or_class 
                  rdfs#constraint_resource  dl#arbitrary_sum ;


                  pm#domain___field_of_study
                   = #field_of_study  aktp#Generic-Area-Of-Interest ;  
                /* / pm#thing_that_is_not_a_domain ;  //already declared */
        
                  rdfs#constraint_resource
                   > rdfs#constraint_property ;

                  dl#arbitrary_sum___AS (^e.g., the collection of a car and a foot^);


                  pm#type (^$(distinction t)$ second-order type or more^)
                   > rdfs#class  dolce#universal  {pm#1st_order_type  pm#2nd_order_type } ;

                     rdfs#class (^rdfs#class has pm#binary_relation_type as instance and hence is different from sumo#class^)
                      > sumo#class ,
                      : pm#binary_relation_type ,
                      = owl#class (pm); //sumo#relation(=pm#relation_type) is exclusive with sumo#set_or_class, hence sumo#binary_relation(=pm#binary_relation_type) is exclusive with sumo#class, but rdf#property(=pm#binary_relation_type) may actually not be exclusive with rdfs#class(=sumo#class); in fact, although not represented here, rdf#property is instance of rdfs#class but sumo#binary_relation is not instance of sumo#class

                        sumo#class (^classes differ from sets in three important respects: 1) classes are not assumed to be extensional, i.e. distinct classes might well have exactly the same instances, 2) classes typically have an associated `condition' that determines the instances of the class, e.g., the condition `human' determines the "class of humans" (note that some classes might satisfy their own condition (e.g., the "class of abstract things" is "abstract") and hence be instances of themselves), 3) the instances of a class may occur only once within the class, i.e. a class cannot contain duplicate instances^)
                         > rdfs#datatype  owl#restriction  owl#all_different (pm)  owl#deprecated_class
                           dl#rigid  dl#leaf_type  dl#non-empty
                           pm#situation_class  pm#attribute_class  pm#substance_class  pm#virtual_class ,
                         : pm#class_of_inheritable_relation_type (pm)  pm#thing (pm)  pm#nothing (pm);

                           dl#rigid___RG (^"all" the instances of a rigid type must "necessarily" be of this type at all times; role types such as #student or pm#tired_person are "non-rigid" and even "anti-rigid" since it is always possible for "any" student or tired person to cease being student or tired without loosing its identity^);

                           dl#leaf_type___L (^type without subtype^);

                           dl#non-empty___NEP (^such a type "necessarily" has at least one instance^)
                            > dl#strongly_non-empty_perdurant ;

                           pm#situation_class (^all situation types are instance of this class^)
                            > pm#sumo_process_class dl#strongly_non-empty_perdurant_class dl#cumulative_perdurant_class dl#anticumulative_perdurant_class dl#homeomerous_perdurant_class dl#anti-homeomerous_perdurant_class dl#atomic_perdurant_class dl#anti-atomic_perdurant_class ,
                            : pm#situation ;

                              pm#sumo_process_class (^all SUMO process types are instance of this class^)
                               : sumo#process ;

                              dl#strongly_non-empty_perdurant_class___NEP.S (^this kind of perdurant have at least two instances not related by a part relation^);

                              dl#cumulative_perdurant_class___CM (^a "sum" of instances of this kind of perdurant is of this kind of perdurant^);

                              dl#anticumulative_perdurant_class___CM~ (^a "sum" of instances of this kind of perdurant (unconnected by a part relation) is not of this kind of perdurant^);

                              dl#homeomerous_perdurant_class___HOM (^any part is of the same type^);

                              dl#anti-homeomerous_perdurant_class___HOM~ (^no part is of the same type^);

                              dl#atomic_perdurant_class___AT (^no perdurant of this kind has a proper part^);

                              dl#anti-atomic_perdurant_class___AT~ (^any perdurant of this kind has a proper part^);

                           pm#attribute_class (^class that has for instances subclasses of sumo#Attribute^)
                            : sumo#Attribute ;

                           pm#substance_class (^class that has for instances subclasses of sumo#substance^)
                            : sumo#substance ;

                           pm#virtual_class (^class that should not be used directly: its subtypes should be used instead^)
                            > pm#virtual_relation_type ;

                     dolce#universal___UNIVERSAL 
                      > dolce#rigid_universal ;

                        dolce#rigid_universal___X
                         : dolce#particular (pm) dolce#entity dolce#abstract dolce#region dolce#temporal_region dolce#time_interval dolce#physical_region dolce#space_region dolce#abstract_region dolce#quality dolce#temporal_quality dolce#temporal_location dolce#physical_quality dolce#spatial_location dolce#abstract_quality dolce#endurant dolce#amount_of_matter dolce#physical_endurant dolce#feature dolce#physical_object dolce#agentive_physical_object dolce#non-agentive_physical_object dolce#non-physical_endurant dolce#non-physical_object dolce#mental_object dolce#social_object dolce#agentive_social_object dolce#social_agent dolce#society dolce#non-agentive_social_object dolce#arbitrary_sum dolce#perdurant dolce#event dolce#achievement dolce#accomplishment dolce#stative dolce#state dolce#process ;

                     dolce#particular (^a 0-order type^)
                      > is#instance_of_first_order_class ;

                     pm#1st_order_type___type1 (^all 1st order types are implicitely or explicitely instance of that 2nd-order type^)
                      > pm#relation_type ;

                        pm#relation_type (^$(inheritable properties)$ there are three kinds of relation(_types): pm#predicate_type, pm#function_type and sumo#list; both predicates and functions denote sets of ordered n-tuples; the difference between these two classes is that predicates cover formula-forming operators, while functions cover term-forming operators; a list, on the other hand, is a particular ordered n-tuple^)
                         > {(pm#predicate_type pm#function_type sumo#list )} pm#single_valued_relation_type {(pm#total_valued_relation_type pm#partial_valued_relation_type )} {pm#binary_relation_type pm#ternary_relation_type pm#quaternary_relation_type pm#quintary_relation_type pm#variable_arity_relation_type } pm#many_to_many_relation_type pm#many_to_one_relation_type pm#one_to_many_relation_type pm#type_of_relation_extended_to_quantities pm#probability_relation_type pm#spatial_relation_type pm#temporal_relation_type pm#intentional_relation_type , //to do: list pm#intentional_relation_type (not in sumo; forgotten?) as added
                         : pm#relation ,
                         = sumo#relation ;

                           pm#predicate_type (^$(inheritable properties)$ a sentence-forming relation with each tuple being a finite, ordered sequence of objects^)
                            > pm#binary_predicate_type pm#ternary_predicate_type pm#quaternary_predicate_type pm#quintary_predicate_type ,
                            : sumo#disjoint_relation  sumo#contrary_attribute  sumo#exhaustive_attribute  sumo#exhaustive_decomposition  sumo#disjoint_decomposition  sumo#partition  sumo#holds ,
                            = sumo#predicate ;

                              pm#binary_predicate_type (^$(inheritable properties)$ the class of predicates relating two items - its valence is two^)
                               > pm#case_relation_type ,
                               : sumo#instance pm#inverse  sumo#subclass  sumo#subrelation pm#equal  sumo#range  sumo#range_subclass  sumo#valence  sumo#documentation  sumo#disjoint  sumo#related_internal_concept  sumo#sub_attribute  sumo#successor_attribute  sumo#successor_attribute_closure  sumo#entails  sumo#material  sumo#sub_collection  sumo#contains_information  sumo#leader  sumo#property  sumo#less_than  sumo#greater_than  sumo#less_than_or_equal_to  sumo#greater_than_or_equal_to  sumo#increases_likelihood  sumo#decreases_likelihood  sumo#independent_probability  sumo#in_scope_of_interest  sumo#in_list  sumo#sub_list  sumo#initial_list  sumo#closed_on  sumo#reflexive_on  sumo#irreflexive_on  sumo#partial_ordering_on  sumo#total_ordering_on  sumo#trichotomizing_on  sumo#equivalence_relation_on  sumo#distributes  sumo#causes  sumo#causes_subclass  sumo#copy  sumo#time  sumo#holds_during  sumo#exploits  sumo#has_purpose  sumo#has_skill  sumo#partly_located  sumo#traverses  sumo#possesses  sumo#precondition  sumo#inhibits  sumo#prevents  sumo#refers  sumo#subsumes_content_class  sumo#subsumes_content_instance  sumo#expressed_in_language  sumo#sub_proposition  sumo#uses  sumo#identity_element  sumo#element  sumo#measure  sumo#larger  sumo#smaller  sumo#duration  sumo#frequency  sumo#temporal_part  sumo#before_or_equal  sumo#overlaps_temporally  sumo#meets_temporally  sumo#earlier  sumo#cooccur  sumo#date  sumo#connected  sumo#hole  sumo#sub_process  sumo#transaction_amount  sumo#geographic_subregion  sumo#developmental_form  sumo#inhabits  sumo#authors  sumo#editor  sumo#publishes  sumo#version  sumo#wears  sumo#family_relation  sumo#parent  sumo#sibling  sumo#legal_relation  sumo#employs  sumo#citizen  sumo#premise  sumo#conclusion  sumo#consistent  sumo#faces  sumo#modal_attribute  sumo#geometric_part  sumo#parallel  sumo#angular_measure  sumo#line_measure ,
                               = sumo#binary_predicate ;

                                 pm#case_relation_type (^$(inheritable properties)$ the class of predicates relating the spatially distinguished parts of a process. e.g., the agent, patient or destination of an action, the flammable substance in a burning process, or the water that falls in rain^)
                                  : pm#doer/object/result/place  pm#experiencer  sumo#exploits  sumo#agent  sumo#destination  sumo#experiencer  sumo#origin  sumo#patient  sumo#path  sumo#direction ,
                                  = sumo#case_role ;

                              pm#ternary_predicate_type (^$(inheritable properties)$ class of predicates that require exactly three arguments^)
                               : sumo#domain  sumo#domain_subclass  sumo#related_external_concept  sumo#conditional_probability  sumo#prefers  sumo#capability  sumo#has_purpose_for_agent  sumo#confers_norm  sumo#deprives_norm  sumo#between  sumo#represents_for_agent  sumo#represents_in_language  sumo#distance  sumo#temporally_between  sumo#temporally_between_or_equal  sumo#connects  sumo#orientation  sumo#occupies_position  sumo#point_of_intersection  sumo#geometric_distance ,
                               = sumo#ternary_predicate ;

                              pm#quaternary_predicate_type (^$(inheritable properties)$ class of predicates that require four arguments^)
                               = sumo#quaternary_predicate ;
 
                              pm#quintary_predicate_type (^$(inheritable properties)$ class of predicates that require five arguments^)
                               = sumo#quintary_predicate ;

                           pm#single_valued_relation_type (^$(inheritable properties)$ when an assignment of values to every argument position except the last one determines at most one assignment for the last argument position; not all single_valued_relations are total_valued_relations^)
                            > pm#function_type ,
                            : sumo#valence  sumo#leader  sumo#unique_identifier  sumo#age  sumo#width  sumo#distance  sumo#altitude  sumo#depth  sumo#monetary_value  sumo#date  sumo#transaction_amount  sumo#mother  sumo#father  sumo#conclusion  sumo#geometric_distance ,
                            = sumo#single_valued_relation ;

                              pm#function_type (^$(inheritable properties)$ term-forming relation that maps from a n-tuple of arguments to a range and that associates this n-tuple with at most one range element; note that the range is a set_or_class, and each element of the range is an instance of the set_or_class^)
                               : pm#unary_function  pm#binary_function  sumo#assignment_fn  sumo#list_fn  sumo#greatest_common_divisor_fn  sumo#least_common_multiple_fn ,
                               > pm#continuous_function_type  pm#function_quantity_type  pm#unary_function_type  pm#binary_function_type  pm#ternary_function_type  pm#quaternary_function_type ,
                               = sumo#function ;

                                 pm#continuous_function_type (^class of functions which are continuous; this concept is taken as primitive until representations for limits are devised^)
                                  > pm#time_dependent_quantity_type ,
                                  = sumo#continuous_function ;

                                 pm#unary_function_type (^$(inheritable properties)$ class of functions requiring a single argument; if R is functional, then if R(x -> y) and P(x -> z) then y=z^)
                                  : pm#unary_function  sumo#power_set_fn  sumo#front_fn  sumo#back_fn  sumo#abstraction_fn  sumo#extension_fn  sumo#probability_fn  sumo#list_length_fn  sumo#property_fn  sumo#absolute_value_fn  sumo#ceiling_fn  sumo#cosine_fn  sumo#denominator_fn  sumo#floor_fn  sumo#imaginary_part_fn  sumo#integer_square_root_fn  sumo#numerator_fn  sumo#rational_number_fn  sumo#real_number_fn  sumo#reciprocal_fn  sumo#round_fn  sumo#signum_fn  sumo#sine_fn  sumo#square_root_fn  sumo#tangent_fn  sumo#successor_fn  sumo#predecessor_fn  sumo#complement_fn  sumo#generalized_union_fn  sumo#generalized_intersection_fn  sumo#cardinality_fn  sumo#kilo_fn  sumo#mega_fn  sumo#giga_fn  sumo#tera_fn  sumo#milli_fn  sumo#micro_fn  sumo#nano_fn  sumo#pico_fn  sumo#magnitude_fn  sumo#wealth_fn  sumo#begin_fn  sumo#end_fn  sumo#when_fn  sumo#past_fn  sumo#immediate_past_fn  sumo#future_fn  sumo#immediate_future_fn  sumo#year_fn  sumo#hole_host_fn  sumo#hole_skin_fn  sumo#immediate_family_fn  sumo#government_fn  sumo#premises_fn ,
                                  > pm#unary_constant_function_quantity_type  pm#one_to_one_function_type ,
                                  = sumo#unary_function owl#functional_property (pm) daml#unique_property (pm);

                                    pm#one_to_one_function_type (^a function F is one to one just in case for all X, Y in the domain of F, if X is not identical to Y, then F(X) is not identical to F(Y)^)
                                     > pm#sequence_function_type ,
                                     = sumo#one_to_one_function ;

                                       pm#sequence_function_type (^class of one_to_one_functions whose range is a subclass of the positive_integers^)
                                        = sumo#sequence_function ;

                                 pm#binary_function_type (^$(inheritable properties)$ class of functions requiring two arguments^)
                                  > pm#associative_function_type  pm#commutative_function_type ,
                                  : pm#binary_function  sumo#list_order_fn  sumo#list_concatenate_fn  sumo#where_fn  sumo#multiplication_fn  sumo#addition_fn  sumo#subtraction_fn  sumo#division_fn  sumo#exponentiation_fn  sumo#log_fn  sumo#max_fn  sumo#min_fn  sumo#remainder_fn  sumo#union_fn  sumo#intersection_fn  sumo#relative_complement_fn  sumo#kappa_fn  sumo#measure_fn  sumo#interval_fn  sumo#per_fn  sumo#time_interval_fn  sumo#recurrent_time_interval_fn  sumo#month_fn  sumo#day_fn  sumo#hour_fn  sumo#minute_fn  sumo#second_fn  sumo#temporal_composition_fn  sumo#mereological_sum_fn  sumo#mereological_product_fn  sumo#mereological_difference_fn  sumo#edition_fn  sumo#series_volume_fn  sumo#periodical_issue_fn  sumo#relative_time_fn ,
                                  = sumo#binary_function ;

                                    pm#associative_function_type (^a binary function is associative if bracketing has no effect on the value returned by the function; more precisely, a function ?FUNCTION is associative just in case (?FUNCTION ?INST1 (?FUNCTION ?INST2 ?INST3)) is equal to (?FUNCTION (?FUNCTION ?INST1 ?INST2) ?INST3), for all ?INST1, ?INST2, and ?INST3^)
                                     = sumo#associative_function ;

                                    pm#commutative_function_type (^a binary function is commutative if the ordering of the arguments of the function has no effect on the value returned by the function; more precisely, a function ?FUNCTION is commutative just in case (?FUNCTION ?INST1 ?INST2) is equal to (?FUNCTION ?INST2 ?INST1), for all ?INST1 and ?INST2^)
                                     = sumo#commutative_function ;

                                 pm#ternary_function_type (^$(inheritable properties)$ class of functions requiring three arguments^)
                                  = sumo#ternary_function ;

                                 pm#quaternary_function_type (^$(inheritable properties)$ class of functions requiring four arguments^)
                                  = sumo#quaternary_function ;

                           pm#total_valued_relation_type (^$(inheritable properties)$ when there exists an assignment for the last argument position of the relation given any assignment of values to every argument position except the last one; note that declaring a relation to be both a total_valued_relation and a single_valued_relation means that it is a total function^)
                            : sumo#power_set_fn  sumo#probability_fn  sumo#list_fn  sumo#list_length_fn  sumo#list_concatenate_fn  sumo#where_fn  sumo#property_fn  sumo#multiplication_fn  sumo#addition_fn  sumo#subtraction_fn  sumo#absolute_value_fn  sumo#ceiling_fn  sumo#cosine_fn  sumo#denominator_fn  sumo#exponentiation_fn  sumo#floor_fn  sumo#imaginary_part_fn  sumo#max_fn  sumo#min_fn  sumo#numerator_fn  sumo#reciprocal_fn  sumo#round_fn  sumo#signum_fn  sumo#sine_fn  sumo#tangent_fn  sumo#successor_fn  sumo#predecessor_fn  sumo#union_fn  sumo#intersection_fn  sumo#relative_complement_fn  sumo#complement_fn  sumo#generalized_union_fn  sumo#generalized_intersection_fn  sumo#cardinality_fn  sumo#measure_fn  sumo#kilo_fn  sumo#mega_fn  sumo#giga_fn  sumo#tera_fn  sumo#milli_fn  sumo#micro_fn  sumo#nano_fn  sumo#pico_fn  sumo#per_fn  sumo#density_fn  sumo#speed_fn  sumo#velocity_fn  sumo#duration  sumo#begin_fn  sumo#end_fn  sumo#when_fn  sumo#past_fn  sumo#immediate_past_fn  sumo#future_fn  sumo#immediate_future_fn  sumo#mereological_sum_fn  sumo#mereological_product_fn  sumo#mereological_difference_fn  sumo#hole_host_fn  sumo#hole_skin_fn  sumo#transaction_amount  sumo#premise  sumo#conclusion  sumo#relative_time_fn  sumo#angular_measure  sumo#line_measure  sumo#geometric_distance ,
                            = sumo#total_valued_relation ;

                           pm#partial_valued_relation_type (^relation type that is not a total_valued_relation_type, i.e. just in case assigning values to every argument position except the last one does not necessarily mean that there is a value assignment for the last argument position; note that, if a sumo#relation is both a partial_valued_relation and a single_valued_relation, then it is a partial function^)
                           : sumo#front_fn  sumo#back_fn  sumo#abstraction_fn  sumo#extension_fn  sumo#list_order_fn  sumo#division_fn  sumo#greatest_common_divisor_fn  sumo#integer_square_root_fn  sumo#least_common_multiple_fn  sumo#remainder_fn  sumo#edition_fn  sumo#series_volume_fn  sumo#periodical_issue_fn ;

                           pm#binary_relation_type (^$(inheritable properties)$ all binary relation types are instance of that object^)
                            > pm#unary_function_type  pm#binary_predicate_type  pm#injective_binary_relation_type  pm#reflexive_relation_type  pm#trichotomizing_relation_type  pm#irreflexive_relation_type  pm#symmetric_relation_type  pm#antisymmetric_relation_type  pm#transitive_relation_type  pm#intransitive_relation_type owl#annotation_property owl#deprecated_property owl#ontology_property rdfs#constraint_property rdfs#container_membership_property {owl#datatype_property owl#object_property },
                            : pm#binary_relation  sumo#distributes ,
                            = sumo#binary_relation  rdf#property  daml#property  tap#property_type ;

                              pm#injective_binary_relation_type (^if P is injective, then if P(x,y) and P(z,y) then x=z; e.g., if nameOfMonth(m,"Feb") and nameOfMonth(n,"Feb") then m and n are the same month^)
                               : pm#injective_binary_relation ,
                               = owl#inverse_functional_property  daml#unambiguous_property ;

                              pm#reflexive_relation_type (^a relation is reflexive if (?REL ?INST ?INST) for all ?INST^)
                               > pm#equivalence_relation_type  pm#partial_ordering_relation_type ,
                               : pm#reflexive_relation  sumo#overlaps_temporally  sumo#connected  sumo#overlaps_spatially ,
                               = sumo#reflexive_relation ;

                                 pm#equivalence_relation_type (^binary_relation that is reflexive, symmetric and transitive^)
                                  : pm#equivalence_binary_relation  pm#equal  sumo#copy  sumo#equivalent_content_class  sumo#equivalent_content_instance  sumo#cooccur  sumo#family_relation ,
                                  = sumo#equivalence_relation ;

                                 pm#partial_ordering_relation_type (^binary_relation that is reflexive, antisymmetric and transitive^)
                                  > pm#total_ordering_relation_type ,
                                  : pm#partial_ordering_relation  pm#total_ordering_relation  pm#inferior_or_equal_to  pm#superior_or_equal_to  pm#generalizing_type  pm#specializing_type  pm#constitution  pm#part  pm#wnMember  pm#sub_collection  sumo#subclass  sumo#subrelation     sumo#sub_attribute  sumo#part  sumo#sub_collection  sumo#less_than_or_equal_to  sumo#greater_than_or_equal_to  sumo#sub_list  sumo#initial_list  sumo#subsumes_content_class  sumo#subsumes_content_instance  sumo#temporal_part  sumo#before_or_equal  sumo#sub_process  sumo#sub_organization  sumo#geometric_part ,
                                  = sumo#partial_ordering_relation ;

                                    pm#total_ordering_relation_type (^partial_ordering_relation that is a trichotomizing_relation^)
                                     : pm#total_ordering_relation ,
                                     = sumo#total_ordering_relation ;

                              pm#trichotomizing_relation_type (^binary_relation such that all ordered pairs consisting of distinct individuals are element of this binary_relation^)
                                  > pm#total_ordering_relation_type ,
                                  : pm#trichotomizing_relation ,
                                  = sumo#trichotomizing_relation ;

                              pm#irreflexive_relation_type (^r is irreflexive if r(?i,?i) holds for no value of ?i^)
                               > pm#asymmetric_relation_type ,
                               : pm#irreflexive_relation  pm#inverse    sumo#successor_attribute_closure  sumo#front_fn  sumo#back_fn   sumo#attribute  sumo#manner  sumo#less_than  sumo#greater_than  sumo#increases_likelihood  sumo#decreases_likelihood  sumo#in_list  sumo#inhibits  sumo#prevents  sumo#sub_proposition  sumo#sub_plan  sumo#larger  sumo#smaller  sumo#starts  sumo#finishes  sumo#before  sumo#during  sumo#earlier  sumo#meets_spatially  sumo#overlaps_partially  sumo#superficial_part  sumo#connected_engineering_components  sumo#ancestor  sumo#sibling  sumo#brother  sumo#sister  sumo#spouse  sumo#husband  sumo#wife  sumo#modal_attribute ,
                               = sumo#irreflexive_relation ;

                                 pm#asymmetric_relation_type (^an antisymmetric and irreflexive relation^)
                                  > pm#case_relation_type  pm#propositional_attitude_relation_type ,
                                  : pm#asymmetric_relation  sumo#immediate_instance  sumo#immediate_subclass  sumo#range  sumo#range_subclass  sumo#valence  sumo#documentation  sumo#successor_attribute  sumo#front_fn  sumo#back_fn  sumo#probability_fn  sumo#proper_part  sumo#contains  sumo#member  sumo#contains_information  sumo#leader  sumo#attribute  sumo#manner  sumo#in_list  sumo#closed_on  sumo#reflexive_on  sumo#irreflexive_on  sumo#partial_ordering_on  sumo#total_ordering_on  sumo#trichotomizing_on  sumo#equivalence_relation_on  sumo#causes  sumo#causes_subclass  sumo#time  sumo#holds_during  sumo#exploits  sumo#has_purpose  sumo#has_skill  sumo#crosses  sumo#penetrates  sumo#possesses  sumo#precondition  sumo#realization  sumo#expressed_in_language  sumo#uses  sumo#identity_element  sumo#element  sumo#cardinality_fn  sumo#measure  sumo#duration  sumo#frequency  sumo#meets_temporally  sumo#date  sumo#surface  sumo#interior_part  sumo#hole  sumo#hole_host_fn  sumo#partially_fills  sumo#properly_fills  sumo#completely_fills  sumo#fills  sumo#hole_skin_fn  sumo#geographic_subregion  sumo#geopolitical_subdivision  sumo#developmental_form  sumo#inhabits  sumo#authors  sumo#editor  sumo#publishes  sumo#version  sumo#parent  sumo#husband  sumo#wife  sumo#citizen  sumo#modal_attribute , //re-ordered but correct
                                  = sumo#asymmetric_relation ;

                                    pm#propositional_attitude_relation_type (^$(inheritable properties)$ the class of intentional_relations where the agent has awareness of a proposition^)
                                     : pm#propositional_attitude_relation  sumo#desires  sumo#considers  sumo#believes  sumo#knows ,
                                     = sumo#propositional_attitude ;
 
                              pm#symmetric_relation_type (^when (?REL ?INST1 ?INST2) implies (?REL ?INST2 ?INST1), for all ?INST1 and ?INST2^)
                               > pm#equivalence_relation_type,
                               : pm#symmetric_relation  pm#inverse   sumo#independent_probability  sumo#overlaps_temporally  sumo#connected  sumo#meets_spatially  sumo#overlaps_spatially  sumo#overlaps_partially  sumo#connected_engineering_components  sumo#sibling  sumo#legal_relation  sumo#spouse  sumo#consistent ,
                               = owl#symmetric_property  sumo#symmetric_relation ;

                              pm#antisymmetric_relation_type (^when for distinct ?INST1 and ?INST2, (?REL ?INST1 ?INST2) implies not (?REL ?INST2 ?INST1), that is, for all ?INST1 and ?INST2, (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST1) imply that ?INST1 and ?INST2 are identical; it is possible for an antisymmetric relation to be a reflexive relation^)
                               > pm#asymmetric_relation_type pm#partial_ordering_relation_type ,
                               : pm#antisymmetric_relation  sumo#partly_located  sumo#located ,
                               = sumo#antisymmetric_relation ;

                              pm#transitive_relation_type (^a binary_relation ?REL is transitive if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3^)
                               > pm#equivalence_relation_type  pm#partial_ordering_relation_type ,
                               : pm#transitive_relation   sumo#successor_attribute_closure  sumo#proper_part  sumo#less_than  sumo#greater_than  sumo#located  sumo#crosses  sumo#precondition  sumo#sub_proposition  sumo#sub_plan  sumo#larger  sumo#smaller  sumo#starts  sumo#finishes  sumo#before  sumo#during  sumo#earlier  sumo#superficial_part  sumo#interior_part  sumo#geographic_subregion  sumo#geopolitical_subdivision  sumo#developmental_form  sumo#version  sumo#ancestor  sumo#brother  sumo#sister dl#part dl#proper_part ,
                               = sumo#transitive_relation owl#transitive_property ;

                              pm#intransitive_relation_type (^a binary_relation ?REL is intransitive only if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply not (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3^)
                               : pm#intransitive_relation  pm#inverse   sumo#immediate_instance  sumo#immediate_subclass  sumo#member  sumo#penetrates  sumo#element  sumo#meets_temporally  sumo#parent ,
                               = sumo#intransitive_relation ;

                             //owl#Annotation_property  //its instances cannot have subtypes in OWL
                             // : rdfs#label rdfs#comment rdfs#see_also rdfs#is_defined_by owl#version_info ;

                              owl#ontology_property
                               : pm#relation_to_another_ontology (pm);

                              rdfs#container_membership_property
                               : rdfs#member ;

                              owl#object_property (^if rel is an ObjectProperty, and rel(x,y), then y is an object^);

                           pm#ternary_relation_type (^$(inheritable properties)$ relates three items^)
                            > pm#ternary_predicate_type  pm#binary_function_type ,
                            = sumo#ternary_relation ;

                           pm#quaternary_relation_type (^$(inheritable properties)$ relates four items^)
                            > pm#quaternary_predicate_type  pm#ternary_function_type ,
                            = sumo#quaternary_relation ;

                           pm#quintary_relation_type (^$(inheritable properties)$ relates five items^)
                            > pm#quintary_predicate_type  pm#quaternary_function_type ,
                            = sumo#quintary_relation ;

                           pm#variable_arity_relation_type (^class of relations that do not have a fixed number of arguments^)
                            : pm#relation_with_variable_arity  sumo#disjoint_relation  sumo#contrary_attribute  sumo#exhaustive_attribute  sumo#exhaustive_decomposition  sumo#disjoint_decomposition  sumo#partition  sumo#assignment_fn  sumo#holds  sumo#list_fn  sumo#greatest_common_divisor_fn  sumo#least_common_multiple_fn ,
                            =  sumo#variable_arity_relation ;

                           pm#type_of_relation_extended_to_quantities (^$(inheritable properties)$ relation that, when it is true on a sequence of arguments that are real_numbers, it is also true on a sequence of constant_quantites with those magnitudes in some unit of measure; for example, the less_than relation is extended to quantities; this means that for all pairs of quantities ?q1 and ?q2, [?q1,  sumo#less_than: ?q2] if and only if, for some numbers ?n1 and ?n2 and unit ?u, [q1 =  sumo#measure_fn(?n1,?u)], [q2 =  sumo#measure_fn(?n2,?u)] and [?n1, less_than: ?n2] for all units on which ?q1 and ?q2 can be measured; note that, when a relation_extended_to_quantities is extended from real_numbers to constant_quantities, the constant_quantities must be measured along the same physical dimension^)
                            : pm#equal sumo#less_than  sumo#greater_than  sumo#less_than_or_equal_to  sumo#greater_than_or_equal_to  sumo#multiplication_fn  sumo#addition_fn  sumo#subtraction_fn  sumo#division_fn  sumo#exponentiation_fn  sumo#max_fn  sumo#min_fn  sumo#reciprocal_fn  sumo#remainder_fn ,
                            = sumo#relation_extended_to_quantities ; //to do: check the _fn classes

                           pm#probability_relation_type (^$(inheritable properties)$ the class of relations that permit assessment of the probability of an event or situation^)
                            : pm#probability_relation  sumo#probability_fn  sumo#conditional_probability  sumo#increases_likelihood  sumo#decreases_likelihood  sumo#independent_probability ,
                            = sumo#probability_relation ;

                           pm#spatial_relation_type (^$(inheritable properties)$ the class of relations that are spatial in a wide sense, e.g., mereological relations and topological relation^)
                            : pm#relation_from_spatial_object  sumo#front_fn  sumo#back_fn  sumo#part  sumo#contains  sumo#partly_located  sumo#between  sumo#traverses  sumo#where_fn  sumo#distance  sumo#larger  sumo#smaller  sumo#connected  sumo#connects  sumo#mereological_sum_fn  sumo#mereological_product_fn  sumo#mereological_difference_fn  sumo#hole  sumo#hole_host_fn  sumo#partially_fills  sumo#hole_skin_fn  sumo#orientation ,
                            = sumo#spatial_relation ;

                           pm#temporal_relation_type (^$(inheritable properties)$ the class of temporal relations, e.g., notions of (temporal) topology of intervals, (temporal) schemata, and (temporal) extension^)
                            : pm#temporal_relation  sumo#time  sumo#temporal_part  sumo#begin_fn  sumo#end_fn  sumo#starts  sumo#finishes  sumo#before  sumo#before_or_equal  sumo#temporally_between  sumo#temporally_between_or_equal  sumo#overlaps_temporally  sumo#meets_temporally  sumo#earlier  sumo#cooccur  sumo#time_interval_fn  sumo#recurrent_time_interval_fn  sumo#when_fn  sumo#past_fn  sumo#immediate_past_fn  sumo#future_fn  sumo#immediate_future_fn  sumo#year_fn  sumo#month_fn  sumo#day_fn  sumo#hour_fn  sumo#minute_fn  sumo#second_fn  sumo#temporal_composition_fn  sumo#relative_time_fn ,
                            = sumo#temporal_relation ;

                           pm#intentional_relation_type (^$(inheritable properties)$ the class of relations between an agent and one or more entities, where the relation requires that the agent has awareness of the entity^)
                            :  pm#intentional_relation  sumo#prefers  sumo#in_scope_of_interest ,
                            > {pm#propositional_attitude_relation_type  pm#object_attitude_relation_type },
                            =  sumo#intentional_relation ;

                              pm#object_attitude_relation_type (^$(inheritable properties)$ the class of intentional_relations where the agent has awareness of an instance of  sumo#physical^)
                               : pm#object_attitude_relation  sumo#needs  sumo#wants ,
                               = sumo#object_attitude ;

                        pm#2nd_order_type___type2 (^all 2nd order types are implicitely or explicitely instance of that 3rd order type^)
                         > pm#class_of_inheritable_relation_type ;

                           pm#class_of_inheritable_relation_type (^each instance RT of this class is a subclass of the 2nd-order_type pm#relation_type and the properties of RT can be inherited downward in the class hierarchy via the "subrelation" predicate^)
                            : pm#relation_type  pm#binary_relation_type  pm#ternary_relation_type  pm#quaternary_relation_type  pm#quintary_relation_type  pm#type_of_relation_extended_to_quantities  pm#single_valued_relation_type  pm#total_valued_relation_type  pm#case_relation_type  pm#probability_relation_type  pm#spatial_relation_type  pm#temporal_relation_type  pm#intentional_relation_type  pm#propositional_attitude  pm#object_attitude_relation_type  pm#function_type  pm#unary_function_type  pm#binary_function_type  pm#ternary_function_type  pm#quaternary_function_type  pm#predicate_type  pm#binary_predicate_type  pm#ternary_predicate_type  pm#quaternary_predicate_type  pm#quintary_predicate_type ,
                            = sumo#inheritable_relation ;


                  pm#set_or_class (^like sumo#set_or_class but including rdfs#class too^)
                   > sumo#set_or_class  rdfs#class ;

                     sumo#set_or_class (^the "set_or_class" of "sets" and "classes", i.e. any "instance" of "abstract" that has "elements" or "instances"^)
                      > {(sumo#set  sumo#class )} ;

                        sumo#set___bag (^a set_or_class that satisfies extensionality as well as other constraints specified by some choice of set theory; sets differ from classes in two important respects: 1) sets are extensional (two sets with the same elements are identical), 2) a set can be an arbitrary stock of objects, i.e. there is no requirement that sets have an associated condition that determines their membership; note that sets are not assumed to be unique sets, i.e. elements of a set may occur more than once in the set^)
                         > dl#set ;



1.2.2.3.  Non-spatial objects according to their roles: psychological entities, ...    [nsoR, _, 01.10.11.11.0]

            pm#non_spatial_object_playing_some_role
             > pm#psychological_entity ;

               pm#psychological_entity (^$(distinction Y)$ feature/product of mental activity, e.g., feeling^)
                > dl#mental_object  #psychological_feature  pm#unit_of_measure_for_a_psychological_attribute ;

                  dl#mental_object
                   > #sense_experience ;


1.2.2.4.  Other categorizations for non-spatial objects: abstract entities, ...

            sumo#abstract___entity_without_spatial_feature (^$(many specializations; distinction A)$ e.g., knowledge, motivation, measure; properties or qualities as distinguished from any particular embodiment of the properties/qualities in a physical medium; instances of sumo#abstract can be said to exist in the same sense as mathematical objects such as sets and relations, but they cannot exist at a particular place or time without some physical encoding or embodiment^)
             > pm#psychological_entity
               {sumo#Attribute  pm#type}  pm#set_or_class  
               pm#description_content   sowa#abstract   dl#abstract   sumo#quantity ;  


               sowa#abstract___abstract_entity (^distinguished from sumo#abstract because John Sowa does not seem to categorize all types of relations, sets, classes, attributes, quantities and graphs under this category; see http://www.jfsowa.com/ontology/toplevel.htm and http://www.jfsowa.com/ontology/roles.htm^)
                > sowa#form  sumo#proposition sowa#intention ;


               dl#abstract___abstraction___AB 
                > {dl#fact dl#set dl#region },
                dl#has_quality=> 0 dl#Spatial_location ,
                & dolce#abstract ;


1.2.3.  Entities according to their roles    [rolE, _, 01.10.11.0]

      pm#entity_playing_some_role (^$(many specializations)$ e.g., an agent, an owner^)
       > pm#owned_entity  pm#entity_part #variable  pm#tool  pm#situation_result  pm#process_recipient  pm#process_object
         pm#causal_entity  pm#imaginary_entity  {#essential #inessential } #self-contained_entity  #anticipation 
         #unnamed_thing  #holy_of_holies  #representation ;

         pm#owned_entity (^$(#creation_result may be physical or not)$ ^)
          > #possession  {#good_point  #bad_point }  #creation_result ;

         pm#entity_part
          > pm#physical_entity_part_or_substance ;

         pm#tool
          > dl#artifact  #instrument.tool ;

         pm#process_recipient (^recipient of a process^)
          > #recipient ;

         pm#process_object
          > #depicted_object ;

         pm#causal_entity___agent (^$(many specializations; distinction)$ something (animal or software agent) able to act^)
          < #causal_agent ,
          > pm#goal_directed_agent  pm#perhaps_goal_directed_causal_entity  pm#without_goal_causal_entity
            dl#agentive_physical_object  dl#agentive_social_object  #computer_code ;

            pm#goal_directed_agent (^$(many specializations)$ goal directed causal entity, e.g., a problem solver or an interactional agent^)
             > pm#cognitive_agent ;

               pm#cognitive_agent (^$(many specializations)$ for example an organization, an animal or an AI-agent^)
                > {(sumo#sentient_agent  pm#non_sentient_cognitive_agent )} aktp#Legal-Agent ,
                = aktp#Generic-Agent ;

                  pm#non_sentient_cognitive_agent (^e.g., AI_Agent^)
                   > #social_group  ;

                  aktp#Legal-Agent (^agent with legal status, e.g., organizations and people^)
                   > menu#person_or_organization  aktp#Organization-Unit_or_Organization_or_Person  aktp#Awarding-Body ;

                     menu#person_or_organization (^this category is for menu-generation purposes^)
                      > {(#person #organization )};

                     aktp#Organization-Unit_or_Organization_or_Person
                      > aktp#Organization-Unit  aktp#Organization  aktp#Person ;


            pm#perhaps_goal_directed_causal_entity (^e.g., supernatural forces^);

            pm#without_goal_causal_entity (^non conscious entity and not AI_Agent^);

         pm#imaginary_entity (^an entity that has been imagined^)
          > pm#imaginary_spatial_entity ;

            pm#imaginary_spatial_entity (^e.g., a cartoon character^)
             > #imaginary_place  #imaginary_being  #spiritual_being ;


1.2.4.  Other categorizations for entities

1.2.4.1.  Endurants
     dl#endurant___ED 
       > {(dl#physical_endurant  dl#non-physical_endurant  dl#arbitrary_sum )},
       dl#temporary_part=> dl#endurant ,
       dl#temporary_part of=> dl#endurant ,
       dl#temporary_proper_part=> dl#endurant ,
       dl#temporary_proper_part of=> dl#endurant , //dl#participant_in=> dl#perdurant,
       dl#e_temporal_location=> dl#temporal_region ,
       dl#present_at=> dl#time_interval ,
       dl#depends_on=> dl#endurant ,
       dl#depends_on of=> dl#endurant ,
       dl#descriptively_depends_on=> dl#non-physical_endurant ,
       dl#participant_in=> dl#perdurant ,
       & dolce#endurant ;

         dl#non-physical_endurant___NPED
          > dl#non-physical_object ,
          dl#abstract_location=> dl#abstract_region ,
          dl#depends_on_spatial_location=> dl#space_region ,
          dl#physically_depends_on=> dl#physical_endurant ,
          dl#descriptively_depends_on of=> dl#endurant ,
          dl#part=> dl#non-physical_endurant ,
          dl#constituted_by=> dl#non-physical_endurant ,
          dl#has_quality=> dl#abstract_quality ,
          & dolce#non-physical_endurant ;

            dl#non-physical_object___NPOB
             > {dl#mental_object  dl#social_object },
             & dolce#non-physical_object ;

               dl#mental_object___MOB (^e.g., a percept, a sense datum^)
                & dolce#mental_object ;

               dl#social_object___SOB
                > {(dl#agentive_social_object  dl#non-agentive_social_object )},
                & dolce#social_object ;

                  dl#agentive_social_object___ASO
                   > {dl#social_agent  dl#society },
                   & dolce#agentive_social_object ;

                     dl#social_agent___SAG (^e.g., a legal person, a contractant^)
                      > dl#socially_constructed_person  dl#social_unit ,
                      & dolce#social_agent ;

                     dl#society___SC (^e.g., IBM, ONU^)
                      > dl#group ,
                      & dolce#society ;

                  dl#non-agentive_social_object___NASO (^e.g., law, asset, currency, economic system^)
                   > dl#information_object  dl#non-physical_place ,
                   & dolce#non-agentive_social_object ;

                     dl#information_object
                      dl#physically_depends_on: 1..* dl#PQ_or_PED_or_PR_or_PD ;

                     dl#non-physical_place
                      > dl#political_geographic_object ,
                      dl#physically_depends_on: 1..* dl#physical_place ;

                        dl#political_geographic_object
                         > dl#country ,
                         dl#physically_depends_on: 1..* dl#geographical_object ;


1.2.4.2.  Entities according to their (un-)divisibility: collections, ...
         sumo#self_connected_object (^object that does not consist of two or more disconnected parts^)
          > {sumo#substance  sumo#corpuscular_object }  sumo#transit_way  sumo#food ;

            sumo#corpuscular_object___composite_entity___divisible_entity_with_discrete_parts (^self_connected_object whose parts have properties that are not shared by the whole^)
             > sumo#content_bearing_object  sumo#organic_object  sumo#artifact  sowa#structure  #whole_thing ;

               sumo#content_bearing_object (^a self_connected_object that expresses content; this content may be a sumo#proposition, e.g., when the content_bearing_object is a sentence or text, or it may be a representation of an abstract or physical object, as with an icon, a word or a phrase^)
                > {sumo#icon  sumo#linguistic_expression }  pm#string  ;   

                  sumo#icon (^content bearing objects that are not languages and which have some sort of similarity with the objects that they represent, e.g., symbolic roadway signs, representational art works, photographs, etc^);

                  sumo#linguistic_expression (^content bearing objects which are language-related, i.e. both languages and the elements of languages, e.g., words^)
                   > sumo#word  sumo#sentence  sumo#language ;

                     sumo#sentence (^syntactically well-formed formula of a language; it includes, at minimum, a predicate and a subject (which may be explicit or implicit), and it expresses a proposition^)
                      > sumo#formula ;

                        sumo#formula (^syntactically well-formed formula in the SUO-KIF knowledge representation language^);

                     sumo#language (^system of signs for expressing thought; the system can be either natural or artificial, i.e. something that emerges gradually as a cultural artifact or something that is intentionally created by a person or group of people^)
                      > {(sumo#animal_language  pm#non_animal_language )} #linguistic_communication ,
                      part: #lexis (pm)  #lexicon (pm);

                        sumo#animal_language (^language used by animals other than humans^);

                        pm#non_animal_language
                         > sumo#human_language  sumo#artificial_language ;

                           sumo#human_language (^language used by humans^)
                            > {(sumo#natural_language  sumo#constructed_language )}
                              {(sumo#spoken_human_language  sumo#manual_human_language )};

                           sumo#artificial_language (^designed language^)
                            > sumo#constructed_language  sumo#computer_language ;

                              sumo#computer_language (^languages designed for and interpreted by a computer^);

                  pm#string (^$(no menu)$ a string of characters^)
                   > rdfs#XML_literal  sumo#character , //'>' and 'm' or 'p' (sumo#part)
                   = sumo#symbolic_string  (pm)  xsd#string ;

                     rdfs#XML_literal
                      > rdfs#Literal ;

                        rdfs#Literal
                         > pm#name_string (pm),
                         = daml#literal (daml);

                           pm#name_string
                            = xmls#QName ;

                     sumo#character (^element of an alphabet, a set of numerals, etc.; sumo#character is a subclass of sumo#symbolic_string, because every instance of sumo#character is an alphanumeric sequence consisting of a single element^) ;

               sowa#structure___physical_mediating_continuant (^click here for details^);







      pm#undivisible_entity (^many classifications under this category are application-dependant^);

      pm#divisible_entity (^$(distinction)$ many classifications under this category are application-dependant^)
       > pm#collection  sumo#corpuscular_object  pm#amount_of_matter ;

         pm#collection  (^something gathering separated things (entities/situations)^)
          > {(pm#spatial_collection  pm#non_spatial_collection )}  sumo#collection  #group  #set ;

            sumo#collection___physical_collection (^such a collection has members like a class, but unlike a class, it has a position in space-time and members can be added and subtracted without thereby changing the identity of the collection; some examples are toolkits, football teams, and flocks of sheep^);




1.2.4.3.  Entities according to their source ontologies
      pm#entity_categorized_in_an_ontology
       > aktp#Publication-reference_or_Information-Bearing-Object_or_Technology_or_Method ;

       aktp#Publication-reference_or_Information-Bearing-Object_or_Technology_or_Method
        > aktp#Publication-Reference  aktp#Information-Bearing-Object_or_Technology_or_Method ,
          aktp#has-author=> aktp#Generic-Agent ; 

            aktp#Information-Bearing-Object_or_Technology_or_Method
             > cyc#information_bearing_object  aktp#Technology aktp#Method ;


1.3.  Things according to their roles    [role, R, 01.10.0]

   pm#thing_playing_some_role (^$(many specializations; distinction R)$ category to classify things according to roles/viewpoints; classification under this category is application-dependant^)
    > pm#thing_that_can_be_seen_as_a_relation  pm#created_thing  pm#processing_thing  #causal_agent
      pm#error  pm#failure  pm#fault pm#thing_needed_for_some_process 
      pm#situation_playing_some_role  {sowa#mediating_thing  sowa#relative_thing };

1.3.1.  Concept types usable for generating relation types    [relT, r, 01.01.10.0]

      pm#thing_that_can_be_seen_as_a_relation (^$(many specializations; distinction r)$ usable as relation type^)
       > pm#thing_that_can_be_seen_as_a_function  pm#attribute_or_quality_or_measure  pm#entity_playing_some_role 
         #relation  #psychological_feature  #information  #facility ; 


         pm#thing_that_can_be_seen_as_a_function (^a node cannot be source of 2 comparable relations of such types and having different destinations^)
          > pm#contact_point  #employer  #seller  #price  #license ;
                             //#seller not used; use pm#seller instead

            pm#contact_point
             > pm#phone_No  pm#fax_No  pm#email_address  #address ;

               pm#phone_No
                > {pm#mobile_phone_No  pm#home_phone_No  pm#business_phone_No };

1.3.2.  Things according to other roles: mediating things, created things, ...

      pm#created_thing (^$(distinct)$ e.g., entity or situation that results from a process; in WordNet, #creation_result is for entities while #resultant is for situation^)
       > sumo#artifact #artifact #creation_result #resultant ;


      pm#processing_thing
       > pm#process_or_process_description  pm#goal_directed_agent ;

         pm#process_or_process_description
          > pm#process  sumo#process #computer_code ; //pm#problem_solving_method


      pm#thing_needed_for_some_process (^$(distinct)$ ^)
       > pm#process_object  pm#thing_needed_for_knowledge_engineering pm#attraction ; //pm#Domain_object  pm#domain_user

         pm#attraction (^$(not in top-level ontology)$ ^)
          > pm#tourist_attraction ;

            pm#tourist_attraction
             > pm#nature_park  pm#animal_park #theme_park  pm#cultural_attraction  pm#attraction_shop ;

               pm#nature_park
                > #national_park ;

               pm#cultural_attraction
                > #museum #theater #art_gallery ;


      sowa#mediating_thing (^Peirce/Sowa's notion of "thirdness"; click here for details^)
       > sowa#nexus sowa#intention ;

         sowa#nexus___physical_mediating_thing (^click here for details^)
          > sowa#structure sowa#situation ;


      sowa#relative_thing (^Peirce/Sowa's notion of "secondness"; click here for details^)
       > sowa#prehension sowa#proposition ;

         sowa#prehension___physical_relative_thing (^click here for details^)
          > sowa#juncture sowa#participation ;

            sowa#juncture___physical_relative_continuant (^click here for details^);

            sowa#participation___physical_relative_occurrent (^click here for details^);



1.4.  Other categorizations for things: continuants/occurrents, divisible/indivisible, ...


   sowa#independent_thing (^Peirce/Sowa's notion of "firstness"; click here for details^)
    > sowa#actuality sowa#form ;

      sowa#actuality___physical_independent_thing (^click here for details^)
       > sowa#object sowa#process ;




   sowa#continuant___spatial_entity_with_time_independent_identity (^click here for details^)
    > sowa#object sowa#schema sowa#juncture sowa#description sowa#structure sowa#reason ;

   sowa#occurrent___thing_without_temporally_stable_identity (^click here for details^)
    > sowa#process sowa#script sowa#participation sowa#history sowa#situation sowa#purpose ;




   3D#thing (^an object seen from a 3D (or endurantist) perspective, i.e. where a spatial entity may have a time independent identity, as opposed for example to the 4D perspective where each spatial entity has an associated time frame; click here and here for details^)
    > dl#endurant ;

   4D#thing (^an object seen from a 3D (or perdurantist) perspective; click here and here for details^);





   sumo#physical___physical_thing (^an entity that has a location in space-time; locations are themselves understood to have a location in space-time; click here for more details on the identical category sowa#physical_thing^)
    > {(sumo#object  sumo#process )}  sowa#actuality  sowa#prehension  sowa#nexus ,
    = sowa#physical_thing ;  




   cyc#partially_tangible (^A subcollection of cyc#SpatialThing-Localized and cyc#TemporalThing. Each instance of cyc#PartiallyTangible has a tangible (i.e. material) part and a temporal extent (i.e. it exists in time). It might or might not also have an intangible part. For example, a particular copy of a book is made of matter, has temporal extent, and also has an intangible part: the information content of the text markings on its pages.^)
    > cyc#PartiallyTangibleProduct cyc#CordlikeObject  cyc#MineralOre cyc#Secretion-Bodily  cyc#EdibleStuff  cyc#ConnectedPhysicalPathSystem cyc#JunctionOfPaths  cyc#CavityInteriorContent cyc#ContainerShapedObject cyc#PhysicalSeries  cyc#MolecularStuff  cyc#Corner-2or3d  cyc#VisualMark  cyc#ContactLocation  cyc#Wall-GenericBarrier cyc#ComplexPhysicalObject cyc#Sensor cyc#MicroscopicScaleObject  cyc#NaturalTangibleStuff  cyc#InanimateThing  cyc#OrganicStuff  cyc#EdgeOnObject  cyc#Surface-Physical  cyc#SheetOfSomeStuff  cyc#CompositeTangibleAndIntangibleObject  cyc#HumanScaleObject cyc#DrugSubstance  cyc#InorganicStuff  cyc#PipingSystem-Generic cyc#Covering-Object cyc#ConductingMedium  cyc#Plasma-StateOfMatter cyc#FluidTangibleThing  cyc#SemiSolidTangibleThing  cyc#CavityWithWalls cyc#SolidTangibleThing  cyc#Protrusion cyc#Mixture cyc#SolidSurfacePathThroughAir  cyc#ControlStructure-Physical cyc#FluidConduit cyc#SemiconductorStuff  cyc#ConvexTangibleObject  pm#spatial_object ,
    = akts#Tangible-Thing (pm); // < akts#Temporal-Thing

   cyc#intangible (^The collection of things that are not physical -- are not made of, or encoded in, matter. Every cyc#Collection is a cyc#intangible (even if its instances are tangible), and so are some cyc#individuals.  Caution: do not confuse `tangibility' with `perceivability' -- humans can perceive light even though it's intangible--at least in a sense.^)
    = akts#Intangible-Thing (pm),
    > cyc#mathematical_or_computational_thing cyc#intangible_individual  pm#non_spatial_object (pm) ;




   cyc#partially_intangible (^The collection of things that either are wholly intangible (see cyc#Intangible) or have at least one intangible (i.e. immaterial) part (see cyc#intangibleParts). This includes intangible individuals, such as instances of cyc#Number-General  or cyc#Agreement, as well as non-individuals (all of which are intangible), i.e. instances of cyc#SetOrCollection.  It also includes things that have both tangible and intangible components (see cyc#CompositeTangibleAndIntangibleObject),  such as a printed copy of a newspaper (as its information content is intangible) or a person (as her mental states are intangible).^)
    > cyc#intangible ;

   cyc#tangible (^Something which is not intangible, something which is physical, made of matter. It does not matter whether things are real of imaginary. Therefore we consider Mickey Mouse's car and a hippogriff as  tangible things^) //not defined in http://www.cyc.com/cycdoc/vocab/top-vocab.html^)
    > pm#physical_entity ;




   pm#undivisible_thing (^thing with no proper part^)
    > dl#atom  pm#undivisible_entity ;

   pm#divisible_thing 
    > pm#divisible_entity ;




   cyc#temporal_thing (^The collection of all things that have temporal extent or location, i.e. things about which one might sensibly ask When? . cyc#TemporalThing thus contains many kinds of things, including events, physical objects, agreements, and abstract pieces of time. Note that cyc#TimePoint is a specialization of cyc#TemporalThing, since time points have temporal location, although they arguably lack temporal extent. Abstract things that are timeless -- such as mathematical sets, attributes, and numbers -- are of course _not_ instances of cyc#TemporalThing.^)
    = akts#Temporal-Thing (pm),
    > cyc#tangible  cyc#Artifact-Generic  cyc#Situation-Temporal  cyc#SpatialThing-Localized  cyc#Series  cyc#BeliefSystem
      cyc#SomethingExisting  cyc#TimeInterval  cyc#Product  cyc#Group  cyc#Credential  cyc#HumanLanguage  cyc#SoftwareParameter
      pm#causal_entity___agent (aktp); 




   pm#individual___particular___supertype_of_1st_order_types (^all individuals (for concepts or relations) are implicitely or explicitely instance of that type^)
    > {pm#spatial_object  pm#description_content  pm#description_container  pm#attribute_or_quality_or_measure }
      dl#entity  dolce#entity  dolce#particular ;
      //not pm#description_content/medium/container because of sumo#list which, from SUMO, is subtype of
      //  pm#relation_type (= sumo#relation) and, from me, is subtype of pm#structured_ADT which is subtype of pm#description_medium 

      dl#entity (^a category from DOLCE or generalized by a category from DOLCE^)
       > dl#atom  dl#abstract_or_perdurant  dl#quality_or_endurant_or_perdurant ,
       = dl#particular___PT ,
       dl#conceptual_relation=> dl#entity ,
       dl#has_quality=> dl#quality ,
       dl#host of=> dl#feature ,
       dl#generic_location=> dl#entity ,
       & dolce#entity  dolce#particular ;
      //in dolce the endurant/perdurant distinction does not involve qualities

         dl#atom___At // = pm#undivisible_thing (^thing with no proper part^)
          > dl#temporary_atom ,
//        := [dl#entity *e, dl#proper_part=> no dl#entity], //a !dl#entity
          dl#atomic_part of=> dl#entity ;

            dl#temporary_atom___At
//           := [dl#atom *d, dl#temporary_proper_part=> no dl#entity],
             dl#temporary_atomic_part of=> dl#entity ,
             & dolce#temporary_atom ;

         dl#abstract_or_perdurant___AB_or_PD
          > {(dl#perdurant dl#abstract)}; //no more: pm#situation = dl#perdurant

         dl#quality_or_endurant_or_perdurant___Q_or_ED_or_PD
          > {(dl#quality dl#endurant_or_perdurant )} dl#PQ_or_PED_or_PR_or_PD ;

            dl#endurant_or_perdurant___ED_or_PD
             > {(dl#perdurant dl#endurant )}; //no more: pm#situation = dl#perdurant

            dl#PQ_or_PED_or_PR_or_PD
             > {(dl#physical_quality dl#physical_endurant dl#physical_region dl#perdurant)};



   pm#thing_categorized_in_an_ontology
    > {(pm#entity_categorized_in_an_ontology  pm#situation_categorized_in_an_ontology )}
      pm#P3P_thing ;




2.  Relations

pm#relation___related_thing___related_with  .(*) (^type for any relation (unary, binary, ..., *-ary) and instance of pm#relation_type^)
 > pm#relation_from/to_thing_of_common_kind  pm#relation_playing_a_special_role 
   pm#wh-/how_relation  pm#relation_with_particular_property;


2.1.  Categorization of relations according to their source/destination arguments

   pm#relation_from/to_thing_of_common_kind (^this type permits to categorize relations according to their signatures and hence
          offers (i) a concise way to set essential exclusion relations, and (ii) a systematic and easy-to-follow categorization^)
    > {pm#relation_from_situation  pm#spatial_relation_from_entity_with_spatial_feature  pm#relation_from_collection
       pm#relation_from_description_content/medium/container  pm#relation_from_attribute_or_quality_or_measure }
      {pm#relation_to_situation  pm#spatial_relation_to_entity_with_spatial_feature  pm#relation_to_time
       pm#relation_to_collection  pm#relation_to_attribute_or_quality_or_measure }
//2020-03-24 tmp:
      skosCore#prefLabel  skosCore#related ;


2.1.1.  Relation from situations: to time measures, to situations, case relations

      pm#relation_from_situation .(pm#situation ,*)
       > {pm#relation_from_situation_to_time  pm#relation_from_situation_to_situation }  pm#case_relation  pm#within_group ;

         pm#relation_from_situation_to_time .(pm#situation ,pm#time_measure )
          > pm#time pm#duration pm#from_time pm#until_time pm#before_time ;

            pm#time .(pm#situation ,pm#time_measure )
             > pm#date ;

               pm#date .(pm#situation -> pm#time_measure );

            pm#duration .(pm#situation -> pm#time_measure );

            pm#from_time .(pm#situation -> pm#time_measure )
             > pm#departure_time ;

               pm#departure_time .(pm#process -> pm#time_measure );

            pm#until_time___to_time .(pm#situation -> pm#time_measure )
             > pm#arrival_time ;

               pm#arrival_time .(pm#process -> pm#time_measure );

            pm#before_time .(pm#situation ,pm#time_measure );

         pm#relation_from_situation_to_situation .(pm#situation ,pm#situation )
          > pm#later_situation pm#before_situation ;

            pm#later_situation .(pm#situation ,pm#situation )
             > pm#next_situation pm#ending_situation pm#postcondition pm#consequence ;

               pm#next_situation .(pm#situation -> pm#situation )
                > pm#successor ;

               pm#ending_situation___termination .(pm#situation -> pm#situation );

               pm#postcondition .(pm#process ,pm#situation );

               pm#consequence .(pm#situation ,pm#situation ) (^see also rst#effect^);

            pm#before_situation .(pm#situation ,pm#situation ) (^in WebKB, do not use these relations, use their inverses^)
             > pm#previous_situation pm#beginning_situation pm#precondition pm#cause ;

               pm#previous_situation .(pm#situation -> pm#situation );

               pm#beginning_situation .(pm#situation -> pm#situation )
                - pm#ending_situation ;

               pm#precondition .(pm#process ,pm#situation )
                - pm#postcondition ;

               pm#cause .(pm#situation ,pm#situation ) (^see also rst#cause^)
                > sumo#causes ,
                - pm#consequence ;

                  sumo#causes .(sumo#process ,sumo#process ) (^the process in the 1st argument brings about the process in the 2nd argument^);

         pm#case_relation___thematic_relation .(pm#situation ,*)
          > pm#doer/object/result/place pm#experiencer pm#relation_from_process_only pm#participant_in_Dolce_Lite ;

            pm#doer/object/result/place .(pm#situation ,?)
             > pm#doer/object/result pm#from/to pm#place pm#path_length ;

               pm#doer/object/result .(pm#situation ,?)
                > pm#agent pm#initiator pm#object/result ;

                  pm#agent___doer .(pm#situation [0..*], pm#entity [1..*])
                   > pm#organizer pm#participant pm#seller pm#customer pm#responsible_agent sumo#agent ;

                     pm#organizer .(pm#situation ,pm#causal_entity );

                     pm#participant .(pm#situation ,pm#causal_entity );

                     pm#seller___vendor___vender .(pm#situation -> pm#goal_directed_agent );

                     pm#customer___client___buyer___purchaser___vendee .(pm#situation ,pm#goal_directed_agent );

                     pm#responsible_agent .(pm#situation ,pm#causal_entity );

                     sumo#agent .(sumo#process ,dl#agentive_physical_object ) (^$(same normalization as sumo#Agent)$ the 2nd argument is an active determinant, animate or inanimate, of the process^);

                  pm#initiator .(pm#situation ,pm#causal_entity );

                  pm#object/result .(pm#situation ,?)
                   > pm#instrument pm#object pm#result ;
   
                     pm#instrument .(pm#situation ,pm#entity )
                      > sumo#instrument ;

                        sumo#instrument .(sumo#process ,sumo#object ) (^the 2nd argument is used in bringing about the first and is not changed by it, e.g., the key is an instrument in 'the key opened the door'; instrument and resource cannot be satisfied by the same ordered pair^);

                     pm#object___patient___theme .(pm#situation ,?)
                      > pm#input pm#input_output sumo#patient ;

                        pm#input .(pm#process ,?)
                         > pm#material pm#parameter ;

                           pm#material .(pm#process ,?);

                           pm#parameter .(pm#process ,?);

                        pm#input_output .(pm#process ,?)
                         > pm#modified_object pm#deleted_object ;

                           pm#modified_object .(pm#process ,?)
                            > pm#muted_object ;

                              pm#muted_object .(pm#process ,?);

                           pm#deleted_object .(pm#process ,?);

                        sumo#patient .(sumo#process ,?) (^the 2nd argument may be moved, said, experienced, etc; the direct objects in 'The cat swallowed the canary' and 'Billy likes the beer' would be examples of patients; the patient of a process may or may not undergo structural change as a result of the process^)
                         > {sumo#instrument sumo#resource sumo#result };

                           sumo#resource .(sumo#process ,sumo#object) (^the object is present at the beginning of the process, is used by it, and as a consequence is changed by it; for example, soap is a resource in 'the gun was carved out of soap'; resource differs from instrument in that its internal or physical properties are altered in some way by the process^);

                           sumo#result .(sumo#process ,?) (^the 2nd argument is the product of the process, e.g., house is a result in 'Eric built a house'^);

                     pm#result .(pm#situation ,?)
                      > pm#output sumo#result ;

                        pm#output .(pm#process ,?);

               pm#from/to .(pm#situation ,pm#entity )
                > pm#source pm#recipient pm#from/to_place sumo#origin sumo#destination ;

                  pm#source .(pm#situation ,pm#causal_entity );

                  pm#recipient .(pm#situation ,pm#entity )
                   > pm#beneficiary ;

                     pm#beneficiary .(pm#situation ,pm#causal_entity );

                  pm#from/to_place .(pm#process -> pm#spatial_object )
                   > pm#from_place pm#to_place pm#via_place pm#path ;

                     pm#from_place .(pm#process -> pm#spatial_object );

                     pm#to_place___destination .(pm#process -> pm#spatial_object );

                     pm#via_place___via .(pm#process -> pm#spatial_object );

                     pm#path .(pm#process -> pm#spatial_object );

                  sumo#origin___from .(sumo#process ,sumo#object ) (^the 2nd argument (which must be present at least at the beginning of the process) indicates where the process began; for example, the submarine is the origin in 'the missile was launched from a submarine'^);

                  sumo#destination___to .(sumo#process ,pm#entity ) (^the 2nd parameter is the target or goal of the process; for example, Danbury would be the destination in 'Bob went to Danbury'; this is a very general case_role which, in particular, that it covers the concepts of 'recipient' and 'beneficiary'; thus, John would be the destination in 'Tom gave a book to John'^);

               pm#path_length .(pm#process -> pm#spatial_attribute_or_quality_or_measure );

               pm#place .(pm#situation -> pm#spatial_object );

            pm#experiencer .(pm#situation ,pm#causal_entity )
             > sumo#experiencer ;

               sumo#experiencer .(sumo#process ,dl#agentive_physical_object ) (^e.g., Yojo is the experiencer of seeing in 'Yojo sees the fish'; unlike agent, this relation does not entail a causal relation between the arguments^);

            pm#relation_from_process_only .(pm#process ,?)
             > pm#goal pm#triggering_event pm#ending_event pm#precondition pm#postcondition pm#input pm#input_output pm#sub_process pm#method pm#from/to_place pm#process_attribute ;

               pm#goal .(pm#process ,pm#situation );

               pm#triggering_event .(pm#process ,pm#event );

               pm#ending_event .(pm#process ,pm#event );

               pm#sub_process .(pm#process ,pm#process );

               pm#method .(pm#process ,pm#description );

               pm#process_attribute .(pm#process ,pm#process_attribute_or_quality_or_measure )
                > pm#manner ;

            pm#participant_in_Dolce_Lite .(dl#perdurant ,dl#endurant)
             > dl#participant dl#constant_participant ;

               dl#participant___PC .(dl#perdurant ,dl#endurant ) (^the DOLCE predicate PC(x,y,t) means "x participates in y during t" but this relation respects the usual reading conventions: the 1st argument has for participant the 2nd^)
                - dl#participant_in ,
                > dl#total_participant dl#temporary_total_participant ,
                & dolce#participant ;

                  dl#total_participant___PC.T .(dl#perdurant ,dl#endurant)
                   - dl#total_participant_in ,
                   & dolce#total_participant ;

                  dl#temporary_total_participant___PC.t .(dl#perdurant ,dl#endurant)
                   - dl#temporary_total_participant_in ,
                   & dolce#temporary_total_participant ;

               dl#constant_participant___PC.C .(dl#perdurant ,dl#endurant )
                - dl#constant_participant_in ,
                & dolce#constant_participant ;

         pm#within_group .(pm#situation ,pm#collection );


2.1.2. Spatial relations from entities with spatial features

      pm#spatial_relation_from_entity_with_spatial_feature .(sumo#object ,*)
       > pm#relation_from_spatial_object 
         sumo#front_fn  sumo#back_fn  sumo#traverses  sumo#distance  sumo#larger  sumo#smaller  sumo#connected 
         sumo#connects  sumo#mereological_sum_fn  sumo#mereological_product_fn  sumo#mereological_difference_fn
         sumo#hole  sumo#hole_host_fn  sumo#partially_fills  sumo#hole_skin_fn  sumo#orientation  sumo#between  sumo#part ; 

         pm#relation_from_spatial_object .(pm#spatial_object ,*)
          > pm#relation_to_another_spatial_object  pm#facility ; 

            pm#relation_to_another_spatial_object .(pm#spatial_object ,pm#spatial_object)
             > pm#location  pm#spatial_part ;

               pm#location .(pm#spatial_object ,pm#spatial_object )
                > pm#address pm#above pm#below pm#near pm#far_from pm#exterior pm#interior pm#before_location ;

                  pm#address .(pm#spatial_object -> pm#spatial_object )
                   > {pm#main_address pm#secondary_address };

                  pm#above .(pm#spatial_object -> pm#spatial_object )
                   > pm#on ,
                   - pm#below ;

                  pm#near .(pm#spatial_object -> pm#spatial_object )
                   > pm#touching ,
                   - pm#far_from ;

                  pm#exterior___in .(pm#spatial_object -> pm#spatial_object )
                   - pm#interior ;

                  pm#before_location___before .(pm#spatial_object ,pm#spatial_object );

               pm#spatial_part .(pm#spatial_object ,pm#spatial_object )
                > pm#physical_part ;

                  pm#physical_part .(pm#physical_entity ,pm#physical_entity );

            pm#facility .(pm#spatial_object ,?);

         sumo#front_fn .(sumo#self_connected_object -> sumo#self_connected_object ) (^a function that maps an object to the side that generally receives the most attention or that typically faces the direction in which the object moves; note that this is a partial function, since some objects do not have sides, e.g., apples and spheres; note too that the range of this function is indefinite in much the way that immediate_future_fn and immediate_past_fn are indefinite; although this indefiniteness is undesirable from a theoretical standpoint, it does not have significant practical implications, since there is widespread intersubjective agreement about the most common cases^);

         sumo#back_fn .(sumo#self_connected_object -> sumo#self_connected_object ) (^a function that maps an object to the side that is opposite the front_fn of the object; note that this is a partial function, since some objects do not have sides, e.g., apples and spheres; note too that the range of this function is indefinite in much the way that immediate_future_fn and immediate_past_fn are indefinite; although this indefiniteness is undesirable from a theoretical standpoint, it does not have significant practical implications, since there is widespread intersubjective agreement about the most common cases^);

         sumo#traverses .(sumo#object ,sumo#object ) (^the first object crosses or extends across the second; note that crosses and penetrates are subrelations of traverses^)
          > sumo#crosses  sumo#penetrates ;

            sumo#crosses .(sumo#object ,sumo#object ) (^the 1st object traverses the second without being connected to it^)
             ! sumo#connected;

            sumo#penetrates .(sumo#object ,sumo#object ) (^the 1st object is connected to the second along at least one whole dimension (length, width or depth)^);

         sumo#between .(sumo#object ,sumo#object ,sumo#object ) (^the second object is (directly) spatially located between the other two (the projections of which overlap with the second object)^)
          & sumo#when_fn;

         sumo#part___part_of .(sumo#object ,sumo#object ) (^this type should have been name sumo#part_of to respect the common reading conventions of parameters; all other mereological relations are defined in terms of this one; it means that the 1st argument is part of the 2nd; note that, since part is a reflexive_relation, every object is a part of itself^)
          > sumo#proper_part  sumo#piece  sumo#component  sumo#member ,
          ! sumo#contains ;

            sumo#proper_part___proper_part_of .(sumo#object ,sumo#object ) (^the 1st argument is part of the 2nd but is not it; this is a transitive_relation and asymmetric_relation (hence an irreflexive_relation)^);

            sumo#piece___piece_of .(sumo#substance ,sumo#substance ) (^a specialized common sense notion of part for arbitrary parts of substances; quasi-synonyms are: chunk, hunk, bit, etc; compare component, another subrelation of part^);

            sumo#component___component_of .(sumo#corpuscular_object ,sumo#corpuscular_object ) (^a specialized common sense notion of part for heterogeneous parts of complexes; the 1st argument is a component of the 2nd argument; examples: the doors and walls of a house, the states or provinces of a country, or the limbs and organs of an animal; compare with sumo#piece, another specialization of sumo#part^);

            sumo#member .(sumo#self_connected_object,sumo#collection) (^a specialized common sense notion of part for uniform parts of collections; for example, each sheep in a flock of sheep would have the relationship of member to the flock^)
             & sumo#instance  sumo#element ;


2.1.3.  Relations from collections (lists, types, ontologies, ...): member, union, size...

      pm#relation_from_collection .(pm#collection ,*)
       > pm#member  kif#nthrest  pm#relation_from_collection_to_number  sumo#list_order_fn  sumo#list_length_fn
         pm#relation_from_an_ontology  pm#relation_between_collections  pm#relation_from_type ;


         pm#member .(pm#collection ,*)
          > pm#domain_object  pm#reverse_of_KIF_member  pm#item  rdf#li  kif#first  kif#last  kif#butlast  kif#nth ;

            pm#domain_object .(pm#domain,  pm#thing_that_is_not_a_domain) 
             > pm#core_domain_object;

            pm#reverse_of_KIF_member .(kif#set ,?) (^this type only exists to make the connection to kif#member (which should have been named kif#member_of to respect the common reading conventions of parameters)^)
             - kif#member ;

            pm#item .(kif#list ,?)
             > rdf#item ,
             - kif#item ;

               rdf#item .(rdf#list ,?) (^for item(L,I) read: I is an item in L; either first(L,I) or item(R,I) where rest(L,R)^);

            rdf#li .(pm#collection ,*);

            kif#first .(kif#list -> ?)
             > rdf#first ;

               rdf#first .(rdf#list -> ?);

            kif#last .(kif#list -> ?);

            kif#butlast .(kif#list -> ?);

            kif#nth .(kif#list ,kif#positive -> ?);

         kif#nthrest .(kif#list ,kif#natural -> kif#list );


         pm#relation_from_collection_to_number .(pm#collection -> kif#number )
          > pm#size pm#minimal_size pm#maximal_size pm#percentage pm#average ;

            pm#size___number_of_elements .(pm#collection -> kif#natural )
             > kif#length ;

               kif#length .(kif#list -> kif#natural );

            pm#minimal_size .(pm#collection -> kif#natural );

            pm#maximal_size .(pm#collection -> kif#natural );

            pm#percentage .(pm#collection -> kif#number );

            pm#average .(pm#number_container -> kif#number ) (^to specify an average on the values^);

         sumo#list_order_fn .(sumo#list ,sumo#positive_integer -> ?) (^returns the item that is in the given position (2nd argument) in the list, e.g., (sumo#list_order_fn (sumo#list_fn Monday Tuesday Wednesday) 2) would return the value tuesday^);

         sumo#list_length_fn .(sumo#list -> sumo#nonnegative_integer) (^returns the number of items in the list, e.g., (sumo#list_length_fn (sumo#list_fn Monday Tuesday Wednesday)) would return the value 3^);


         pm#relation_from_an_ontology .(pm#ontology ,*)
          > pm#relation_to_another_ontology ;

            pm#relation_to_another_ontology .(pm#ontology ,pm#ontology )
             > owl#backward_compatible_with owl#incompatible_with owl#prior_version ;


         pm#relation_between_collections .(pm#collection ,pm#collection +)
          > pm#sub_collection  pm#sub_collection_of  pm#overlapping_collection  pm#not_overlapping_collection 
            kif#rest  kif#append  sumo#list_concatenate_fn  kif#revappend  kif#reverse
            pm#relation_from_type_to_collection  pm#relation_to_another_set_or_class  pm#relation_to_another_ontology ;

            pm#sub_collection .(pm#collection ,pm#collection ) (^a partial order relation^)
             > {pm#ending_collection kif#sublist };

               pm#ending_collection .(pm#collection ,pm#collection )
                > pm#final_segment ;

                  pm#final_segment .(pm#collection ,pm#collection ) (^the second collection is a final segment of the 1st^);

            pm#sub_collection_of .(pm#collection ,pm#collection ) (^DO NOT use this type; it only exists because the SUMO does not respect common reading conventions of parameters^)
             > sumo#sub_collection  sumo#sub_list pm#final_segment_of ;

               sumo#sub_collection___sub_collection_of .(sumo#collection ,sumo#collection ) (^the 1st collection is a proper part of the 2nd^);

               sumo#sub_list___sub_list_of .(sumo#list ,sumo#list) (^the 1st argument is a sublist of the 2nd, i.e. every element of the 1st is an element of the 2nd and the elements that are common to both lists have the same order in both lists^)
                > sumo#initial_list ;

                  sumo#initial_list .(sumo#list ,sumo#list) (^the 1st argument (?L1) is a sublist of the 2nd (?L2), and (sumo#list_order_fn ?L1 ?NUMBER) returns the same value as (sumo#list_order_fn ?L2 ?N) for all of the values of ?N over which (sumo#list_order_fn ?L1 ?N) is defined^);

               pm#final_segment_of .(pm#collection ,pm#collection ) (^USE pm#final_segment INSTEAD^)
                > kif#sublist ,
                - pm#final_segment ;

                  kif#sublist___final_segment_of .(kif#list ,kif#list ) (^USE pm#final_segment INSTEAD OF THIS RELATION TYPE; "sublist" is a misleading name; "final_segment_of" is better^);

            pm#overlapping_collection .(pm#collection ,pm#collection );

            pm#not_overlapping_collection .(pm#collection ,pm#collection )
             > pm#collection_complement ;

               pm#collection_complement .(pm#collection ,pm#collection );

            kif#rest .(kif#list -> kif#list )
             > rdf#rest ;

               rdf#rest .(rdf#list -> rdf#list );

            kif#append .(kif#list ,kif#list -> kif#list );

            sumo#list_concatenate_fn .(sumo#list ,sumo#list -> sumo#list) (^returns the concatenation of two lists^); // currently =kif#append since kif#list=sumo#list

            kif#revappend .(kif#list ,kif#list -> kif#list );

            kif#reverse .(kif#list -> kif#list );


            pm#relation_from_type_to_collection .(pm#type ,pm#collection )
             > pm#partition pm#instances pm#subtypes pm#relation_from_class_to_collection ;

               pm#partition .(pm#type ,pm#collection )
                = dl#partition___PT ;

               pm#instances .(pm#type -> pm#collection );

               pm#subtypes .(pm#type -> pm#collection );

               pm#relation_from_class_to_collection .(rdfs#class ,pm#collection )
                > owl#union_of owl#intersection_of owl#one_of owl#distinct_members pm#relation_to_another_class ;

                  owl#union_of .(rdfs#class ,rdf#list ) (^for unionOf(X,L) read: X is the union of the classes in the list L; i.e. if something is in any of the classes in L, it is in X, and vice versa^)
                   > daml#disjoint_union_of ,
                   & sumo#exhaustive_decomposition ;

                     daml#disjoint_union_of .(rdfs#class ,rdf#list ) (^for disjointUnionOf(X,L) read: X is the disjoint union of the classes in the list L: (a) for any c1 and c2 in L, disjointWith(c1,c2), and (b) i.e. if something is in any of the classes in L, it is in X, and vice versa^)
                      & sumo#partition ;

                  owl#intersection_of .(rdfs#class ,rdf#list ) (^for intersectionOf(X,Y) read: X is the intersection of the classes in the list Y; i.e. if something is in all the classes in Y, then it's in X, and vice versa^);

                  owl#one_of .(rdfs#class ,rdf#list ) (^for oneOf(C,L) read everything in C is one of the things in L^);

                  owl#distinct_members .(owl#all_different ,rdf#list );

                  pm#relation_to_another_class .(rdfs#class ,rdfs#class +)
                   > rdfs#sub_class_of owl#equivalent_class pm#exclusive_class daml#restricted_by sumo#disjoint_decomposition  sumo#exhaustive_decomposition ;

                     rdfs#sub_class_of___super_class .(rdfs#class ,rdfs#class ) (^in WebKB, use the link '<'^)
                      = daml#sub_class_of (daml);

                     owl#equivalent_class .(rdfs#class ,rdfs#class ) (^in WebKB, use the link '='^)
                      = daml#same_class_as ;

                     daml#restricted_by .(rdfs#class ,owl#restriction );

                     sumo#disjoint_decomposition .(sumo#class ,sumo#class +) (^a disjoint_decomposition of a class C is a set of mutually disjoint subclasses of C^)
                      > sumo#partition (pm),
                      & sumo#exhaustiveDecomposition  sumo#disjoint ;

                        sumo#partition .(sumo#class ,sumo#class +) (^a partition of a class C is a set of mutually disjoint classes (a subclass partition) covering C; each instance of C is instance of exactly one of the subclasses in the partition^)
                         & daml#disjoint_union_of (pm);

                     sumo#exhaustive_decomposition .(sumo#class ,sumo#class +) (^an exhaustive_decomposition of a class C is a set of subclasses of C such that every instance of C is an instance of one of the subclasses in the set; note:  this does not necessarily mean that the elements of the set are disjoint (see sumo#partition - a partition is a disjoint exhaustive decomposition)^)
                      > sumo#partition (pm), //I (pm) replaced '&' by '>'
                      & owl#union_of (pm);


            pm#relation_to_another_set_or_class .(pm#set_or_class ,pm#set_or_class +) (^this category is needed to group SUMO relations between classes which cannot be subtype of pm#relation_from_type because their signatures curiously also involve sets^)
             > pm#disjoint pm#subclass_of_or_equal sumo#power_set_fn pm#relation_to_another_class ;

               pm#disjoint .(pm#set_or_class ,pm#set_or_class ) (^like sumo#disjoint but from a a pm#set_or_class to another^)
                > sumo#disjoint pm#exclusive_class ;

                  sumo#disjoint .(sumo#set_or_class ,sumo#set_or_class ) (^classes are exclusive/disjoint only if they share no instance (and hence no subtype), i.e. just in case the result of applying sumo#intersection_fn to them is empty^)
                   & sumo#disjoint_relation ; //this related_to link is from SUMO

                  pm#exclusive_class .(rdfs#class ,rdfs#class ) (^the 2 classes have no common subtype/instance; in WebKB, use the link '!'^)
                   > pm#complement_class ,
                   = owl#disjoint_with ;

                     pm#complement_class .(rdfs#class -> rdfs#class ) (^if something is not in one of the classes, then it is in the other, and vice versa; in WebKB, use the link '/'^)
                      = owl#complement_of ;

               pm#subclass_of_or_equal .(pm#set_or_class ,pm#set_or_class )
                > sumo#subclass rdfs#sub_class_of ;

                  sumo#subclass___subclass_of .(sumo#set_or_class ,sumo#set_or_class ) (^if the common reading conventions of parameters had been respected, this type would have been named subclass_of; every instance of the 1st argument is also an instance of the 2nd argument; a class may have multiple superclasses and subclasses^)
                   > sumo#immediate_subclass ;

                  sumo#immediate_subclass___immediate_subclass_of .(sumo#set_or_class ,sumo#set_or_class ) (^the 1st argument is a subclass of the 2nd argument and there is no other subclass of the 2nd argument such that the 1st is also a subclass of the 2nd; in WebKB, use the link '<'^);

               sumo#power_set_fn .(sumo#set_or_class -> sumo#set_or_class ) (^maps the argument to the set_or_class of all its subclasses^); //sumo#set_or_class has for instance sumo#set_or_class and its subclasses


         pm#relation_from_type .(pm#type ,*) (^type of relations from a concept/relation type, i.e. in RDFS terminology, from a class or a property^)
          > pm#specializing_type  pm#supertype  pm#same_type_as  pm#exclusive_type  
            pm#relation_from_relation_type  pm#relation_from_class  pm#relation_from_type_to_collection  sumo#material ;
   
            pm#specializing_type .(pm#type ,?)
             > pm#instance pm#subtype ,
             - pm#generalizing_type ;

               pm#instance .(pm#type ,?) (^the ':' link in the FT notation^);
             // - pm#kind ;

               pm#subtype___subtype_or_equal .(pm#type ,pm#type ) (^subtype links should actually be strict subtype links or not much checking can be done^)
                > pm#strict_subtype dl#subsumes_leaf ,
                - pm#supertype ,
                = dl#subsumes___SB ;

                  pm#strict_subtype .(pm#type ,pm#type ) (^the '>' link in the FT notation^)
                   > dl#properly_subsumes_leaf ,
                   = dl#properly_subsumes___PSB ;

                     dl#properly_subsumes_leaf___PSBL .(pm#type ,pm#type ) (^the 2nd type is a leaf type properly subsumed by the 1st type^);

                  dl#subsumes_leaf___SBL .(pm#type ,pm#type ) (^the 2nd type is a leaf type subsumed by the 1st type^)
                   > dl#properly_subsumes_leaf ;

            pm#supertype .(pm#type ,pm#type ) (^in the FT notation, the '<' link is only used to connect to a "strict" supertype^)
             > rdfs#sub_class_of  sumo#subrelation ,
             - pm#subtype ;

               sumo#subrelation .(pm#relation_type ,pm#relation_type ) (^if the common reading conventions of parameters had been respected, this type would have been named subclass_of; every tuple of the 1st argument (r1) is also a tuple of the 2nd argument (r2), i.e. if r1 holds for some arguments arg_1, arg_2, ... arg_n, then the r2 holds for the same arguments; a consequence of this is that a relation and its subrelations must have the same valence^)
                > rdfs#sub_property_of ,
                = cyc#genl_preds ;

                  rdfs#sub_property_of .(pm#binary_relation_type ,pm#binary_relation_type ) (^in WebKB, use the link '<'^)
                   = daml#sub_property_of (daml);

            pm#same_type_as .(pm#type ,pm#type )
             > {owl#equivalent_class owl#equivalent_property },
             = dl#equal___EQ ;

               owl#equivalent_property .(pm#binary_relation_type ,pm#binary_relation_type ) (^in WebKB, use the link '='^)
                = daml#same_property_as ;

            pm#exclusive_type .(pm#type ,pm#type ) (^in WebKB, use the '!' link^)
             > pm#exclusive_class pm#closed_exclusion ,
             = dl#disjoint___DJ ;

               pm#closed_exclusion .(pm#type -> pm#type ) (^the '/' link in the FT notation:  the two linked types either are respectively identical to pm#thing and pm#nothing (they are "complement types") or they subtype a same type and form a complete subtype partition^)
                > pm#complement_type ;

                  pm#complement_type .(pm#type -> pm#type ) (^a supertype of owl#complement_of which can only connect RDFS/OWL classes^)
                   > pm#complement_class ;


            pm#relation_from_relation_type .(pm#relation_type ,*)
             > pm#relation_from_binary_relation_type  sumo#domain  sumo#domain_subclass  sumo#range  sumo#range_subclass  sumo#valence  sumo#disjoint_relation  sumo#holds  sumo#assignment_fn  sumo#distributes ;

               pm#relation_from_binary_relation_type .(pm#binary_relation_type ,*)
                > pm#relation_to_another_binary_relation_type rdfs#domain rdfs#range ;

                  pm#relation_to_another_binary_relation_type .(pm#binary_relation_type ,pm#binary_relation_type )
                   > owl#equivalent_property rdfs#sub_property_of pm#inverse ;

                     pm#inverse___reverse .(pm#binary_relation_type -> pm#binary_relation_type ) (^for inverseOf(R,S) read: R is the inverse of S; i.e. if R(x,y) then S(y,x) and vice versa; in WebKB, use the link '-'^)
                      = sumo#inverse owl#inverse_of ;

                  rdfs#domain .(pm#binary_relation_type ,rdfs#class )
                   = daml#domain (daml);

                  rdfs#range .(pm#binary_relation_type ,rdfs#class )
                   = daml#range (daml);

               sumo#domain .(pm#relation_type ,sumo#positive_integer ,sumo#set_or_class ) (^the formula (sumo#domain ?REL ?INT ?CLASS) means that the ?INT'th element of each tuple in the relation ?REL must be an instance of ?CLASS^);

               sumo#domain_subclass .(pm#relation_type ,sumo#positive_integer ,sumo#set_or_class ) (^the formula (sumo#domainSubclass ?REL ?INT ?CLASS) means that the ?INT'th element of each tuple in the relation ?REL must be a subclass of ?CLASS^);

               sumo#range .(pm#function_type ,sumo#set_or_class ) (^gives the range of a function, i.e. all of the values assigned by the function are instances of sumo#class^);

               sumo#range_subclass .(pm#function_type ,sumo#set_or_class ) (^all of the values assigned by the function in the 1st argument are subclasses of the 2nd argment^);

               sumo#valence .(pm#relation_type ,sumo#positive_integer ) (^specifies the number of arguments that a relation can take; if a relation does not have a fixed number of arguments, it does not have a valence and it is an instance of variable_arity_relation, e.g., sumo#holds is a variable_arity_relation^);

               sumo#disjoint_relation .(pm#relation_type +) (^(sumo#disjointRelation @ROW) means that any two relations in @ROW have no tuples in common; as a consequence, the intersection of all of the relations in @ROW is the null set^);

               sumo#holds .(pm#relation_type ,*) (^(holds P N1 ... NK) is true when the tuple of objects denoted by N1,..., NK is an element of the relation P^);

               sumo#assignment_fn .(pm#function_type ,*) (^if F is a function with a value for the objects denoted by N1,..., NK, then (sumo#assignmentFn F N1 ... NK) is the value of applying F to the objects denoted by N1,..., NK; otherwise, the value is undefined^);

               sumo#distributes .(pm#binary_function_type ,pm#binary_function_type ) (^a binary_function ?F1 is distributive over another binary_function ?F2 just in case (?F1 ?INST1 (?F2 ?INST2 ?INST3)) is equal to (?F2 (?F1 ?INST1 ?INST2) (?F1 ?INST1 ?INST3)), for all ?INST1, ?INST2, and ?INST3^);

            pm#relation_from_class .(rdfs#class ,*)
             > pm#relation_from_class_to_collection sumo#abstraction_fn pm#relation_from_sumo_process_class pm#relation_from_attribute_type pm#relation_from_restriction pm#wnObject pm#wnNounType ;

               sumo#abstraction_fn .(sumo#class -> sumo#Attribute ) (^a unary_function that maps a class into an attribute that specifies the condition(s) for membership in the class^);

               pm#relation_from_sumo_process_class .(pm#sumo_process_class ,*)
                > sumo#causes_subclass  sumo#capability  sumo#has_skill ;

                  sumo#causes_subclass .(pm#sumo_process_class ,pm#sumo_process_class ) (^the 1st argument brings about the 2nd, e.g., (causes_subclass killing death)^);

                  sumo#capability .(pm#sumo_process_class ,pm#case_relation_type ,sumo#object ) (^the object  has the ability to play the role (case relation) in the given kinds of processes^);

                  sumo#has_skill .(pm#sumo_process_class ,dl#agentive_physical_object ) (^similar to the capability predicate with the additional restriction that the ability be practised or demonstrated to some measurable degree^);

               pm#relation_from_attribute_type .(pm#attribute_class ,*)
                > sumo#contrary_attribute  sumo#exhaustive_attribute ;

                  sumo#contrary_attribute .(pm#attribute_class ,pm#attribute_class +) (^set of attributes such that something can not simultaneously have more than one of these attributes, e.g., in KIF, (sumo#contrary_aAttribute sumo#pliable sumo#rigid) means that nothing can be both pliable and rigid^);

                  sumo#exhaustive_attribute .(pm#attribute_class ,pm#attribute_class +) (^this predicate relates a class to several types of attributes, and it means that the elements of this set exhaust the instances of the class; for example, in KIF, (sumo#exhaustiveAttribute sumo#physicalState sumo#solid sumo#fluid sumo#liquid sumo#gas) means that there are only three instances of the class sumo#physicalState, viz. sumo#solid, sumo#fluid, sumo#liquid, and sumo#gas^);

               pm#relation_from_restriction .(owl#restriction ,*)
                > owl#on_property owl#all_values_from owl#has_value owl#some_values_from daml#has_class_q owl#cardinality daml#cardinality_q owl#min_cardinality daml#min_cardinality_q owl#max_cardinality daml#max_cardinality_q ;

                  owl#on_property .(owl#restriction ,pm#binary_relation_type ) (^for onProperty(?restrClass,?rel), read: ?restrClass is a restricted with respect to property ?rel^);

                  owl#all_values_from .(owl#restriction ,rdfs#class ) (^for onProperty(?restrClass,?rel) and toClass(?restrClass,C), read: i instance of ?restrClass if and only if for all j, ?rel(i,j) implies type(j,C)^)
                   = daml#to_class ;

                  owl#has_value .(owl#restriction ,?) (^for onProperty(?restrClass,?rel) and hasValue(?restrClass,V), read: i instance of ?restrClass if and only if ?rel(i,V), i.e. if and only if any ?rel from ?i has for destination an instance of C; toValue is an obsolete name^)
                   = owl#to_value ;

                  owl#some_values_from .(owl#restriction ,rdfs#class ) (^for onProperty(?restrClass,?rel) and some_values_from(?restrClass,C), read: i instance of ?restrClass if and only if for some j, ?rel(i,j) and type(j,C), i.e. if and only if i has at least one ?rel which has for destination an instance of C^)
                   = daml#has_class ;

                  daml#has_class_q .(owl#restriction ,rdfs#class ) (^property for specifying class restriction with cardinalityQ constraints^);

                  owl#cardinality .(owl#restriction -> kif#natural ) (^for onProperty(?restrClass,?rel) and cardinality(?restrClass,n), read: i instance of ?restrClass if and only if there are exactly n distinct j with ?rel(i,j)^);

                  daml#cardinality_q .(owl#restriction -> kif#natural ) (^for onProperty(?restrClass,?rel), cardinalityQ(?restrClass,n) and hasClassQ(?restrClass,C), read: i instance of ?restrClass if and only if there are exactly n distinct j with ?rel(i,j) and type(j,C)^);

                  owl#min_cardinality .(owl#restriction -> kif#natural ) (^for onProperty(?restrClass,?rel) and minCardinality(?restrClass,n), read: i instance of ?restrClass if and only if there are at least n distinct j with ?rel(i,j)^);

                  daml#min_cardinality_q .(owl#restriction -> kif#natural ) (^for onProperty(?restrClass,?rel), minCardinalityQ(?restrClass,n) and hasClassQ(?restrClass,C), read: i instance of ?restrClass if and only if there are at least n distinct j with ?rel(i,j)^);

                  owl#max_cardinality .(owl#restriction -> kif#natural ) (^for onProperty(?restrClass,?rel) and maxCardinality(?restrClass,n), read: i instance of ?restrClass if and only if there are at most n distinct j with ?rel(i,j)^);

                  daml#max_cardinality_q .(owl#restriction ,kif#natural ) (^for onProperty(?restrClass,?rel), maxCardinalityQ(?restrClass,n) and hasClassQ(?restrClass,C), read: i instance of ?restrClass if and only if there are at most n distinct j with ?rel(i,j) and type(j,C)^);

               pm#wnObject .(rdfs#class ,?);

               pm#wnNounType .(rdfs#class ,?);

            sumo#material___material_type_of .(pm#substance_class ,sumo#corpuscular_object ) (^all other mereological relations are defined in terms of this one; it means that the 2nd argument is structurally made up in part of the 1st argument; this relation encompasses the concepts of 'composed of', 'made of', and 'formed of'; for example, plastic is a material of my computer monitor; since part is a reflexive_relation, every object is a part of itself^);


2.1.4.  Relations (logical/rhetorical/...) from description_content/mediums/containers

      pm#relation_from_description_content/medium/container .(pm#description_content/medium/container ,*)
       > pm#relation_from_description  pm#relation_from_string  pm#version  pm#version_id
         dc#Coverage  dc#Contributor  dc#Source  dc#Publisher  dc#Rights 
         pm#authoring_time  pm#author  dc#Language  dc#Format  pm#description_instrument  pm#description_object
         pm#physical_support pm#rhetorical_relation pm#argumentation_relation ;


         pm#relation_from_description .(pm#description ,*)
          > pm#descr_container  pm#logical_relation  pm#contextualizing_relation  pm#probability_relation ;

            pm#logical_relation .(pm#description ,pm#description )
             > pm#and pm#contextualizing_logical_relation ;

               pm#and .(pm#description ,pm#description );

               pm#contextualizing_logical_relation .(pm#description ,pm#description )
                > pm#or pm#xor pm#implication ;

                  pm#or .(pm#description ,pm#description );

                  pm#xor___either .(pm#description ,pm#description );

                  pm#implication___then___therefore .(pm#description ,pm#description )
                   > pm#equivalence sumo#entails ;

                     pm#equivalence___equivalentTo___iff .(pm#description ,pm#description );

                     sumo#entails .(sumo#formula ,sumo#formula ) (^the second argument is logically entailed from the first by means of the proof theory of SUO-KIF^);

            pm#contextualizing_relation .(pm#description ,*)
             > pm#contextualizing_logical_relation pm#modality pm#believer pm#overriding_specialization pm#corrective_statement ;

               pm#modality .(pm#description ,pm#modality_measure );

               pm#believer .(pm#description ,pm#causal_entity );

               pm#overriding_specialization .(pm#description ,pm#description );
                 //?? > instantiation   (not declared yet)
     //see also extended_specialization

               pm#corrective_statement .(pm#description ,pm#description )
                > pm#corrective_specialization pm#corrective_generalization pm#corrective_restriction pm#corrective_extension pm#corrective_reformulation pm#correction ;

                  pm#corrective_specialization .(pm#description ,pm#description )
                   > pm#corrective_existential_specialization ,
                   - pm#corrective_generalization ;

                  pm#corrective_generalization .(pm#description ,pm#description )
                   > pm#corrective_existential_generalization ;

                  pm#corrective_restriction___corrective_precision .(pm#description ,pm#description )
                   > pm#corrective_existential_specialization ,
                   - pm#corrective_extension ;

                  pm#corrective_extension .(pm#description ,pm#description );

                  pm#correction .(pm#description ,pm#description );
                   //not > counterexample

            pm#probability_relation .(sumo#formula,?)
             > sumo#probability_fn  sumo#conditional_probability  sumo#increases_likelihood  sumo#decreases_likelihood  sumo#independent_probability ;

               sumo#probability_fn .(sumo#formula -> sumo#real_number ) (^one of the basic probability_relations, probability_fn is used to state the a priori probability of a state of affairs represented by the given formula^);

               sumo#conditional_probability .(sumo#formula ,sumo#formula ,sumo#real_number ) (^the probability of 'the 2nd formula being true given that the 1st formula is true' is the number given as 3rd parameter^);

               sumo#increases_likelihood___increases_likelihood_of .(sumo#formula ,sumo#formula ) (^the 2nd formula is more likely to be true if the 1st is true^);

               sumo#decreases_likelihood___decreases_likelihood_of .(sumo#formula ,sumo#formula ) (^the 2nd formula is less likely to be true if the 1st is true^);

               sumo#independent_probability .(sumo#formula ,sumo#formula ) (^the probabilities of the formulas being true are independent^);

         pm#relation_from_string .(pm#string ,*)
          > sumo#names  sumo#related_external_concept ;

            sumo#names .(pm#string,?) (^the string names the 2nd argument^)
             > sumo#unique_identifier ;

               sumo#unique_identifier .(pm#string,?) (^the string uniquely identifies the 2nd argument^);

            sumo#related_external_concept .(pm#string ,?,sumo#language ) (^used to signify a three-place relation between a concept in an external knowledge source, a concept in the SUMO, and the name of the other knowledge source^)
             > {sumo#synonymous_external_concept  sumo#subsumed_external_concept  sumo#subsuming_external_concept };

               sumo#synonymous_external_concept .(pm#string ,?,sumo#language ) (^the 2nd argument has the same meaning as the 1st in the language denoted by the 3rd argument^);

               sumo#subsumed_external_concept .(pm#string ,?,sumo#language ) (^the 2nd argument is subsumed by the 1st in the language denoted by the 3rd argument^);

               sumo#subsuming_external_concept .(pm#string ,?,sumo#language ) (^the 2nd argument subsumes the 1st in the language denoted by the 3rd argument^);


         pm#version .(pm#description_content/medium/container ,pm#description_content/medium/container )
          > pm#ascii_content ;

            pm#ascii_content .(pm#description_content/medium/container ,pm#string )
             > pm#exact_ascii_content pm#ascii_content_except_for_spaces ;

         pm#version_id .(pm#description_content/medium/container ,pm#string )
          > pm#latest_stable_version ;


         dc#Coverage___coverage .(pm#description_content/medium/container ,?) (^to specify 1 or several topics^);

         dc#Contributor___contributor .(pm#description_content/medium/container ,pm#entity ) (^to specify an entity responsible for making contributions to the content of a resource^);

         dc#Source___source .(pm#description_content/medium/container ,pm#entity ) (^to specify a resource from which a resource is derived^);

         dc#Publisher___publisher .(pm#description_content/medium/container ,pm#entity ) (^to specify an entity responsible for making a resource available^);

         dc#Rights___rights .(pm#description_content/medium/container ,pm#entity ) (^to specify rights held in and over a resource^);


         pm#authoring_time .(pm#description_content/medium/container -> pm#time_measure )
          > pm#authoring_date ;

            pm#authoring_date .(pm#description_content/medium/container -> pm#time_measure );

         pm#author .(pm#description ,pm#causal_entity )
          > pm#main_author pm#co-author ,
          = tap#has_author ;

         dc#Language .(pm#description_content/medium/container -> pm#entity ) (^to specify a language for the content of a resource^)
          > pm#language ;

            pm#language .(pm#description_content/medium/container -> pm#description_medium );

         dc#Format .(pm#description_content/medium/container -> pm#entity ) (^to specify the physical or digital manifestation of a resource; in WebKB, this relation type SHOULD NOT BE USED; see pm#format, pm#description_instrument and pm#descr instead^)
          > pm#format ;

            pm#format .(pm#description_content/medium/container -> pm#description_content/medium/container );


         pm#description_instrument___descr_instrument .(pm#description_content/medium/container ,pm#description_medium )
          > pm#language ;

         pm#description_object___descr_object .(pm#description_content/medium/container ,?) (^just for documentation: its reverse, pm#descr, should be used instead^);

         pm#physical_support___description_physical_support___descr_physical_support___descr_support .(pm#description_content/medium/container ,pm#physical_entity );


         pm#rhetorical_relation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^main sources: the Rhetorical Structure Theory (RST) and the PENMAN ontology; DO NOT USE such fuzzy relations: instead, use relations from/to situations!^)
          > rst#presentational_rhetorical_relation rst#subject_matter_rhetorical_relation rst#symmetric_rhetorical_relation pm#opposition pm#negative_consequence ;

            rst#presentational_rhetorical_relation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^connect to details which should increasing the reader's positive regard or enabling the reader to perform the described action^)
             > {rst#enablement rst#background rst#motivation rst#evidence rst#justify rst#antithesis rst#concession };

            rst#subject_matter_rhetorical_relation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^connect to details for making a better description^)
             > {rst#circumstance rst#solution rst#elaboration rst#cause rst#effect rst#definition rst#comparison rst#means rst#condition rst#otherwise rst#interpretation rst#restatement rst#summary rst#theme rst#contrast };

               rst#elaboration .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^e.g., rst#subtype rst#property, rst#part^)
                > {rst#subtype rst#instance rst#illustration rst#attributive_relation rst#part rst#subtask rst#specialization };

                  rst#attributive_relation .(pm#description_content/medium/container ,pm#description_content/medium/container )
                   > {rst#property rst#attribute rst#possession };

               rst#cause .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^not a subtype of pm#cause since pm#cause connects situations^)
                > {rst#volitional_cause rst#non-volitional_cause rst#purpose };

                  rst#volitional_cause .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^cause of the described intended situation^);

                  rst#non-volitional_cause .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^cause of the described not intended situation^);

                  rst#purpose .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^situation that the described action is intended to reach^);

               rst#effect .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^not a subtype of pm#consequence since pm#consequence connects situatons^)
               > {rst#volitional_result rst#non-volitional_result };

               rst#definition .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^a logical relation should be used instead of this relation^);

               rst#comparison .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^use one of the subtypes of pm#similar instead of this relation^);

               rst#interpretation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^interpretation/abstraction/comment on the described facts^)
                > rst#evaluation;

                  rst#evaluation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^positive interpretation/abstraction/comment on facts^);

               rst#contrast .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^comparability and differences of two situations^)
                > rst#antithesis;

            rst#symmetric_rhetorical_relation .(pm#description_content/medium/container ,pm#description_content/medium/container ) (^e.g., rst#restatement^)
             > {rst#restatement rst#contrast };


         pm#argumentation_relation .(pm#description_content/medium/container ,pm#description_content/medium/container )
          > pm#answer pm#contribution pm#replacement pm#confirmation pm#reference pm#argument pm#contradiction ;

            pm#argument .(pm#description_content/medium/container ,pm#description_content/medium/container )
             > pm#weak_argument pm#strong_argument pm#illustration pm#argument_by_authority pm#argument_by_popularity ;

               pm#strong_argument .(pm#description_content/medium/container ,pm#description_content/medium/container )
                > pm#proof ;

            pm#contradiction .(pm#description_content/medium/container ,pm#description_content/medium/container )
             > pm#objection ;


2.1.5.  Relations from attributes or measures

      pm#relation_from_attribute_or_quality_or_measure .(pm#attribute_or_quality_or_measure ,*)
       > sumo#extension_fn  pm#relation_to_another_attribute_or_quality_or_measure ;

         sumo#extension_fn .(sumo#Attribute -> sumo#class ) (^a unary_function that maps an attribute into the class whose condition for membership is the attribute^);

         pm#relation_to_another_attribute_or_quality_or_measure .(pm#attribute_or_quality_or_measure ,pm#attribute_or_quality_or_measure )
          > pm#measure dl#q_location ;

            pm#measure .(pm#attribute_or_quality_or_measure ,pm#attribute_or_quality_or_measure ) (^e.g., [a weight, measure: 75 kg]^);

            dl#q_location .(dl#quality ,dl#region )
             - dl#q_location_of ,
             > dl#has_quale ;

               dl#has_quale___ql .(dl#quality ,dl#quale )
                - dl#quale_of ,
                & dolce#ql ;
             //ex: dl#ql___quale .(dl#quality ,dl#region ) (^the DOLCE predicate ql(x,y,t) means "x is a quale of y" but this relation respects the usual reading conventions: the 1st argument has for quale the 2nd argument^);


2.1.6.  Relations to situations

      pm#relation_to_situation .(*,pm#situation ) (^in WebKB, prefer using relations "from" a situation^)
       > {pm#relation_from_time_to_situation pm#relation_from_situation_to_situation };

         pm#relation_from_time_to_situation .(pm#time_measure ,pm#situation );


2.1.7.  Spatial relations to entities with spatial features

      pm#spatial_relation_to_entity_with_spatial_feature .(*,sumo#object )
       > pm#relation_to_spatial_object  sumo#partly_located ;

         pm#relation_to_spatial_object .(*,pm#spatial_object ) (^in WebKB, prefer using relations "from" a spatial object^)
          > pm#relation_to_another_spatial_object  sumo#where_fn ;

            sumo#where_fn .(sumo#physical ,sumo#time_point -> sumo#region ) (^maps an object and a time_point at which the object exists to the region where the object existed at that time_point^)
             & sumo#when_fn ;

         sumo#partly_located___partly_located_at .(sumo#physical ,sumo#object ) (^the instance of the 1st argument is at least partially located at the 2nd argument, e.g., Istanbul is partly located in Asia and partly located in Europe^)
          > sumo#contains  sumo#located ;

            sumo#contains .(sumo#self_connected_object ,sumo#object ) (^the relation of spatial containment for two separable objects; when the two objects are not separable (e.g., an automobile and one of its seats), the relation of part should be used; (sumo#contains ?OBJ1 ?OBJ2) means that the self_connected_object ?OBJ1 has a space (i.e. a hole) which is at least partially filled by ?OBJ2^)
             ! sumo#part ;

            sumo#located .(sumo#physical ,sumo#object ) (^the 1st argument is partly_located at the object, and there is no part or sub_process of the 1st argument that is not located at the object^)
             > sumo#exactly_located ;

               sumo#exactly_located .(sumo#physical ,sumo#object ) (^the actual, minimal location of an object^);


2.1.8.  Relations to time measures

      pm#relation_to_time .(*,pm#time_measure )
       > pm#relation_from_situation_to_time  pm#relation_from_time_to_time  pm#relation_from_physical_entity_to_time 
         pm#creation_date ;

         pm#relation_from_time_to_time .(pm#time_measure ,pm#time_measure )
          > pm#near_time pm#before pm#after ;

            pm#before .(pm#time_measure ,pm#time_measure )
             - pm#after ;

         pm#relation_from_physical_entity_to_time .(pm#physical_entity -> pm#time_measure )
          > pm#check-in pm#check-out ;

         pm#creation_date .(*,pm#time_measure )
          > pm#first_release ;


2.1.9.  Relations to collections (lists, types, ontologies, strings, ...)

      pm#relation_to_collection .(*,pm#collection )
       > pm#member_of  kif#list_of  kif#set_of  pm#parts  kif#item  sumo#in_list  sumo#list_fn
         pm#function_returning_a_collection_from_2_elements
         pm#relation_between_collections  pm#relation_to_set_or_class  pm#relation_to_type  pm#relation_to_string ;

         pm#member_of .(*,pm#collection ) (^this type SHOULD NOT BE USED IN WEBKB (its inverse may be used); this type is only provided for knowledge sharing purposes^)
          > kif#member ;

            kif#member .(?,kif#set ) (^this type SHOULD NOT BE USED IN WEBKB: if the common reading conventions of parameters had been respected, the parameters would be swapped or the type would be named member_of^);

         kif#list_of .(* -> pm#collection )
          = kif#listof ;

         kif#set_of .(* -> pm#collection )
          = kif#setof ;

         pm#parts .(*,pm#collection );

         kif#item .(?,kif#list ) (^USE pm#item INSTEAD OF THIS RELATION TYPE: if the common reading conventions of parameters had been respected, the parameters would be swapped or the type would be named item_of^)
          - pm#item (pm);

         sumo#in_list .(?,sumo#list) (^true if the 1st argument is in the list; analog of element and instance for lists^); // = kif#item ?

         sumo#list_fn .(* -> sumo#list) (^a function that takes any number of arguments and returns the list containing those arguments in exactly the same order^);

         pm#function_returning_a_collection_from_2_elements .(?,? -> pm#collection )
          > kif#cons kif#adjoin kif#remove ;

            kif#cons .(?,kif#list -> kif#list );

            kif#adjoin .(?,kif#list -> kif#list );

            kif#remove .(?,kif#list -> kif#list );


         pm#relation_to_set_or_class .(*,pm#set_or_class )
          > sumo#closed_on  sumo#reflexive_on  sumo#irreflexive_on  sumo#partial_ordering_on  sumo#total_ordering_on  sumo#trichotomizing_on  sumo#equivalence_relation_on pm#relation_to_class pm#relation_to_another_set_or_class ;

            sumo#closed_on .(pm#function_type ,sumo#set_or_class ) (^a binary_function is closed on a set_or_class if it is defined for all instances of the set_or_class and its value is always an instance of the set_or_class^);

            sumo#reflexive_on .(pm#binary_relation_type,sumo#set_or_class ) (^a binary_relation is reflexive on a set_or_class only if every instance of the set_or_class bears the relation to itself^);

            sumo#irreflexive_on .(pm#binary_relation_type ,sumo#set_or_class ) (^a binary_relation is irreflexive on a set_or_class only if no instance of the set_or_class bears the relation to itself^);

            sumo#partial_ordering_on .(pm#binary_relation_type,sumo#set_or_class) (^a binary_relation is a partial ordering on a set_or_class only if the relation is reflexive_on the set_or_class, and it is both an antisymmetric_relation, and a transitive_relation^);

            sumo#total_ordering_on .(pm#binary_relation_type,sumo#set_or_class) (^a binary_relation ?REL is a total ordering on a set_or_class only if it is a partial ordering for which either (?REL ?INST1 ?INST2) or (?REL ?INST2 ?INST1) for every ?INST1 and ?INST2 in the set_or_class^);

            sumo#trichotomizing_on .(pm#binary_relation_type ,sumo#set_or_class );

            sumo#equivalence_relation_on .(pm#binary_relation_type ,sumo#set_or_class ) (^a binary_relation is an equivalence_relation_on a set_or_class only if the relation is reflexive_on the set_or_class and it is both a transitive_relation and a symmetric_relation^);

            pm#relation_to_class .(*,rdfs#class )
             > pm#kind  sumo#extension_fn ; //+ pm#menu ?

               pm#kind___type___class___instance_of .(?,rdfs#class ) (^the '^' link in the FT notation^)
                - pm#instance,       //pm#type? (pb in CGs)
                = rdf#type daml#type ;


         pm#relation_to_type .(*,pm#type )
          > pm#relation_to_class ;


         pm#relation_to_string .(*,pm#string )
          > dl#extrinsic_relation ;

            dl#extrinsic_relation .(?,rdfs#Literal ) (^support for relations ranging on concrete data types^)
             > dl#name dl#identifier ;

               dl#name .(dl#entity ,rdfs#Literal ) (^a relation between an instance of a concept and the name (instance of a concrete data type) of that concept; the name has to be a lexically meaningful name^)
                - dl#name_of ;

               dl#identifier .(dl#entity -> rdfs#Literal ) (^a relation between an individual of a concept and the identifier of that concept; the identifier is a concrete data type, usually non_meaningful from the lexical viewpoint; useful to map many database relationships^)
                - dl#identifier_of ;


2.1.10.  Relations to attributes or measures

      pm#relation_to_attribute_or_quality_or_measure .(*,pm#attribute_or_quality_or_measure )
       > pm#attribute  pm#relation_to_another_attribute_or_quality_or_measure  akts#has-unit-of-measure ;

         pm#attribute .(?,pm#attribute_or_quality_or_measure ) (^e.g., [a car, attribute: a weight]^)
          > sumo#property dl#qt ; //pm#spatial_attribute pm#physical_attribute pm#process_attribute pm#social_attribute

            sumo#property .(?,sumo#Attribute )
             > {sumo#attribute  sumo#manner };

               sumo#attribute .(sumo#object ,sumo#Attribute ) (^$(same normalization as sumo#Attribute)$ the 2nd argument is an attribute of the 1st^);

               sumo#manner .(sumo#process ,sumo#Attribute ) (^the 1st argument is qualified by the 2nd (which is usually denoted by and adverb), e.g., the speed of the wind, the style of a dance, or the intensity of a sports competition^);

            dl#qt___quality .(dl#quality_or_endurant_or_perdurant ,dl#quality ) (^the DOLCE predicate qt(x,y,t) means "x is a quality of y" but this relation respects the usual reading conventions: the 1st argument has for quality the 2nd argument^)
             > dl#direct_quality ;

               dl#direct_quality___dqt .(dl#quality_or_endurant_or_perdurant ,dl#quality ) (^the DOLCE predicate dqt(x,y,t) means "x is a direct quality of y" (not a quality of a quality of x) but this relation respects the usual reading conventions: the 1st argument has for direct quality the 2nd argument^);



         akts#has-unit-of-measure .(akts#Physical-Quantity , akts#Unit-Of-Measure );


2.2.  Categorization of relations according to their roles

   pm#relation_playing_a_special_role .(*)  (^this type permits to categorize relations according to their roles ; this is a traditional but quite subjective way of categorizing relations^)
    > {pm#attributive_relation  pm#mereological_relation  pm#intentional_relation  pm#temporal_relation 
       pm#object_relation }  dl#conceptual_relation  pm#relation_for_an_application ;


2.2.1.  Attributive relations

      pm#attributive_relation .(*) (^like pm#binary_relation, this type mostly exists to categorize what cannot be categorized elsewhere^)
       > {rst#attributive_relation pm#purpose aktp#has-author aktp#owned-by pm#owner pm#owner_of  sumo#leader pm#seller pm#customer pm#generator pm#creator pm#spatial_origin  sumo#exploits  sumo#has_purpose  sumo#has_purpose_for_agent pm#measure pm#attribute pm#name dc#Date rdf#value pm#rdf_reification_relation pm#support pm#example pm#syntax akts#has-magnitude };

         pm#purpose .(?,?)
          > pm#goal rst#purpose ;

         aktp#has-author .(aktp#Publication-reference_or_Information-Bearing-Object_or_Technology_or_Method , aktp#Generic-Agent );

         aktp#owned-by .(aktp#Information-Bearing-Object_or_Technology_or_Method , aktp#Legal-Agent );

         pm#owner .(?, pm#causal_entity ) (^this is not a function: 0..N owner allowed^)
          > pm#sole_owner ;

            pm#sole_owner .(? -> pm#causal_entity );

         pm#owner_of .(pm#causal_entity , ?)
          > sumo#possesses  sumo#property_fn ,
          - pm#owner ;

            sumo#possesses .(dl#agentive_physical_object ,sumo#object ) (^the agent has ownership of the object^);

            sumo#property_fn .(dl#agentive_physical_object -> sumo#set) (^maps an agent to the set of objects owned by the agent^);

         sumo#leader___leader_of .(sumo#human,dl#agentive_physical_object) (^(sumo#leader ?INSTITUTION ?PERSON) means that the leader of ?INSTITUTION is ?PERSON^);

       //pm#seller___vendor___vender .(? -> pm#goal_directed_agent );
       //pm#customer___client___buyer___purchaser___vendee .(?,pm#goal_directed_agent );

         pm#generator .(? -> pm#causal_entity )
          > pm#parent ;
   
         pm#creator .(pm#entity ,pm#entity )
          > dc#Creator ;

            dc#Creator___creator .(pm#entity ,pm#entity ) (^to specify an entity primarily responsible for making the content of a resource^)
             > pm#author (pm);

         pm#spatial_origin .(?,?)
          > pm#cuisine_origin ; //pm#cuisine_origin .(pm#meal_shop ,?);

         sumo#exploits .(sumo#object ,dl#agentive_physical_object ) (^the object is used by the agent as a resource in an unspecified instance of process^);

         sumo#has_purpose .(sumo#physical ,sumo#formula ) (^the instance of physical has, as its purpose, the proposition expressed by the formula; note that there is an important difference in meaning between the predicates has_purpose and result; although the second argument of the latter can satisfy the second argument of the former, a conventional goal is an expected and desired outcome, while a result may be neither expected nor desired; for example, a machine process may have outcomes but no goals, aimless wandering may have an outcome but no goal; a learning process may have goals with no outcomes, and so on^);

         sumo#has_purpose_for_agent .(sumo#physical ,sumo#formula ,sumo#cognitive_agent ) (^the purpose of the physical thing for the agent is the proposition expressed by the formula; very complex issues are involved here; in particular, the rules of inference of the first order predicate calculus are not truth-preserving for the formula^);

         pm#name .(?,?)  //pm#naming .(?,?)    pm#name .(?. [0..*] ,? pm#string)
          > dc#Title dc#Identifier rdfs#label tap#plural tap#singular ;
   
            dc#Title___title .(? -> pm#entity ) (^to specify a name of a resource^)
             = tap#title (tap);

            dc#Identifier___identifier .(? -> pm#string ) (^to specify a reference that is unambiguous within a given context; SHOULD NOT BE USED IN WEBKB^)
             > dl#identifier ;

            rdfs#label .(?,pm#string ) (^in WebKB, with FO, use the link '_'^)
             > dl#name  akts#has-pretty-name (pm)  akts#has-variant-name (pm),
             = daml#label (daml);

            tap#plural .(?,pm#string ) (^to specify plural names; do not use in WebKB^);

            tap#singular .(?,pm#string ) (^to specify singular names; do not use in WebKB^);

         dc#Date___date .(? -> pm#entity ) (^to specify a date associated with an event in the life cycle of a resource; in WebKB, pm#time or other MORE PRECISE RELATIONS SHOULD BE USED INSTEAD^)
          > pm#date pm#authoring_time pm#publish_date ;

         rdf#value .(?,? ) (^principal value (usually a string) of a property when the property value is a structured resource (e.g., "2 kg" or " 020 in Dewey Decimal Code")^)
          = daml#value (daml);

         pm#rdf_reification_relation .(?,?)
          > rdf#predicate rdf#subject rdf#object ;

            rdf#predicate .(rdf#statement -> pm#binary_relation_type ) (^the property used in a statement when representing the statement in reified form^);

            rdf#subject .(rdf#statement -> ?) (^resource that a statement is describing when representing the statement in reified form^);

            rdf#object .(? -> ?) (^object of a statement when representing the statement in reified form^);

         pm#support .(?,?);

         pm#example .(?,pm#description_content/medium/container )
          > pm#illustration ;

         pm#syntax .(?,pm#description_content/medium/container ); //#syntax should work

         akts#has-magnitude .(akts#Physical-Quantity , xsd#decimal );


2.2.2.  Mereological relations

      pm#mereological_relation .(?,*)
       > pm#part_or_parts pm#part_of pm#overlap_with  ;

         pm#part_or_parts .(?,?)
          > pm#part pm#parts ; //pm#subdomain

            pm#part .(?,?)
             > {pm#sub_situation pm#spatial_part } pm#sub_collection 
               pm#main_part pm#first_part pm#last_part pm#part_in_Dolce_Lite ;

               pm#sub_situation .(pm#situation ,pm#situation )
                > pm#sub_process dl#temporal_part dl#spatial_part ;

                  dl#temporal_part___P.T .(dl#perdurant ,dl#perdurant );

                  dl#spatial_part___P.S .(dl#perdurant ,dl#perdurant );

               pm#first_part .(?,?)
                > kif#first ;

               pm#last_part .(?,?)
                > kif#last ;


               pm#part_in_Dolce_Lite .(dl#entity ,dl#entity )
                > dl#part dl#proper_part dl#temporary_proper_part dl#temporary_part dl#constant_part dl#sibling_part ;

                  dl#part .(dl#entity ,dl#entity ) (^$(transitive)$ the subpart may or may not be different from the whole^)
                   - dl#part_of ,
                   > dl#component dl#atomic_part ;

                     dl#component .(dl#entity ,dl#entity )
                      - dl#component_of ;

                     dl#atomic_part .(dl#entity ,dl#atom ) (^an undivisible part^)
                      - dl#atomic_part_of ,
                      > dl#temporary_atomic_part ;

                        dl#temporary_atomic_part___AtP .(dl#entity ,dl#atom )
                         - dl#temporary_atomic_part_of ;

                  dl#proper_part .(dl#entity ,dl#entity ) (^$(transitive)$ the subpart is different from the whole^)
                   - dl#proper_part_of ;

                  dl#temporary_proper_part .(dl#endurant ,dl#endurant )
                   - dl#temporary_proper_part_of ,
                   & dolce#temporary_proper_part ;

                  dl#temporary_part .(dl#endurant ,dl#endurant )
                   - dl#temporary_part_of ,
                   > dl#temporary_component ;

                     dl#temporary_component .(dl#endurant ,dl#endurant )
                      - dl#temporary_component_of ;

                  dl#sibling_part .(dl#entity ,dl#entity )
                   - dl#sibling_part;

            pm#parts .(?, pm#collection ) (^such a type (using a collection as destination) should NOT be used: pm#part or a subtype of it should be used instead^);

         pm#part_of .(?,?) (^this type SHOULD NOT BE USED IN WEBKB (its inverse may be used); this type is only provided for knowledge sharing purposes^)
          > sumo#part  pm#part_in_Dolce_Full ,
          - pm#part ;

            pm#part_in_Dolce_Full .(dolce#world ,dolce#particular ,dolce#particular +)
             > dolce#part dolce#atomic_part dolce#temporary_atomic_part dolce#proper_part dolce#temporary_proper_part dolce#temporary_part ;

               dolce#part___P .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular )
                & dl#part_of ;

               dolce#atomic_part___AtP .(dolce#world ,dolce#particular ,dolce#particular )
                & dl#atomic_part_of ;

               dolce#temporary_atomic_part___AtP .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular )
                & dl#temporary_atomic_part_of ;

               dolce#proper_part___PP .(dolce#world ,dolce#particular ,dolce#particular ) (^a subpart (different from the whole)^)
                & dl#proper_part_of ;

               dolce#temporary_proper_part___PP .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular )
                & dl#temporary_proper_part_of ;

               dolce#temporary_part___P .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular )
                & dl#temporary_part_of ;

         pm#overlap_with .(?,?)
          > dl#overlap ;

            dl#overlap___O .(dl#abstract_or_perdurant ,dl#abstract_or_perdurant );


2.2.3.  Intentional relations

      pm#intentional_relation .(sumo#cognitive_agent ,?) (^relations between an agent and one or more entities, where the relation requires that the agent has awareness of the entity^)
       > sumo#prefers  sumo#in_scope_of_interest pm#propositional_attitude_relation pm#object_attitude_relation ;

         sumo#prefers .(sumo#cognitive_agent ,sumo#formula ,sumo#formula ) (^the cognitive_agent prefers the state of affairs expressed by the 1st formula over the state of affairs expressed by the 2nd formula, all things being equal^);

         sumo#in_scope_of_interest .(sumo#cognitive_agent ,?) (^the 2nd argument is within the scope of interest of the agent;  the interest indicated can be either positive or negative^);

         pm#propositional_attitude_relation .(sumo#cognitive_agent ,sumo#formula ) (^intentional_relations where the agent has awareness of a proposition^)
          > sumo#desires  sumo#considers  sumo#believes  sumo#knows ;

            sumo#desires .(sumo#cognitive_agent ,sumo#formula ) (^the agent wants to bring about the state of affairs expressed by the formula (which may be already true); desires is distinguished from wants only in that the former is a propositional_attitude, while wants is an object_attitude^);

            sumo#considers .(sumo#cognitive_agent,sumo#formula ) (^the agent considers or wonders about the truth of the proposition expressed by the formula^);

            sumo#believes .(sumo#cognitive_agent,sumo#formula ) (^the agent believes the proposition expressed by the formula^);

            sumo#knows .(sumo#cognitive_agent,sumo#formula ) (^the agent knows the proposition expressed by the formula; knows entails conscious awareness, so this predicate cannot be used to express tacit or subconscious or unconscious knowledge^);

         pm#object_attitude_relation .(sumo#cognitive_agent ,sumo#physical ) (^intentional_relations where the agent has awareness of an instance of sumo#physical^)
          > sumo#needs sumo#wants ;

            sumo#needs .(sumo#cognitive_agent ,sumo#physical ) (^the 2nd argument is physically required for the continued existence of the cognitive agent^);

            sumo#wants .(sumo#cognitive_agent ,sumo#physical ) (^the agent believes that the 2nd argument will satisfy one of its goals; what is wanted may or may not be already possessed by the agent^);


2.2.4.  Temporal relations

      pm#temporal_relation .(?,?)
       > pm#relation_from_time_to_situation  pm#relation_to_time  akts#temporal_relation
         sumo#time  sumo#temporal_part  sumo#begin_fn  sumo#end_fn  sumo#starts  sumo#finishes  sumo#before
         sumo#before_or_equal  sumo#temporally_between  sumo#temporally_between_or_equal  sumo#overlaps_temporally
         sumo#meets_temporally  sumo#earlier  sumo#cooccur  sumo#time_interval_fn  sumo#recurrent_time_interval_fn
         sumo#when_fn  sumo#past_fn  sumo#immediate_past_fn  sumo#future_fn  sumo#immediate_future_fn
         sumo#year_fn  sumo#month_fn  sumo#day_fn  sumo#hour_fn  sumo#minute_fn  sumo#second_fn
         sumo#temporal_composition_fn  sumo#relative_time_fn
         sumo#holds_during ; 

         akts#temporal_relation .(?,?) 
          > akts#temporal_relation_from_time_point akts#temporal_relation_from_time_interval akts#has-time-interval akts#in-timezone ;

            akts#temporal_relation_from_time_point .(akts#Time-Point , xsd#nonNegativeInteger )
             > akts#second-of  akts#minute-of  akts#hour-of  akts#day-of  akts#month-of akts#year-of ;

            akts#temporal_relation_from_time_interval .(akts#Time-Interval , dl#temporal_region)
             > akts#begins-at-time-point  akts#ends-at-time-point  akts#has-duration ;

               akts#begins-at-time-point .(akts#Time-Interval , akts#Time-Point );
               akts#ends-at-time-point .(akts#Time-Interval , akts#Time-Point );
               akts#has-duration .(akts#Time-Interval , akts#Duration );

            akts#has-time-interval .(akts#Temporal-Thing, akts#Time-Interval);

            akts#in-timezone .(akts#Time-Position , xsd#integer );

         sumo#time .(sumo#physical ,sumo#time_position ) (^means that temporal lifespan of the 1st argument includes the time_position in the 2nd argument, i.e. the 1st argument existed or occurred at that time_position; sumo#time does for instances of physical what sumo#holds_during does for instances of sumo#formula; sumo#located and sumo#time are the basic spatial and temporal predicates, respectively^)
          & sumo#located sumo#holds_during ;

         sumo#holds_during .(sumo#time_position,sumo#formula) (^means that the proposition denoted by is true at (every temporal_part of) the time_position^)
          &  sumo#time;

         sumo#when_fn .(sumo#physical -> sumo#time_interval) (^maps an object or process ?p to the exact time_interval during which it exists (for every time_point ?t outside of the time_interval, (time ?p ?t) does not hold^);


2.2.5.  Object relations

      pm#object_relation .(?,?)
       > pm#object  pm#domain_object ;


2.2.6.  Conceptual relations

      dl#conceptual_relation .(dl#entity ,dl#entity ) 
       - dl#conceptual_relation ,
       > dl#immediate_relation  dl#mediated_relation ;

         dl#immediate_relation .(dl#entity ,dl#entity )
          > dl#inherent_in  dl#q_location  dl#constituted_by  dl#part  dl#participant ;

            dl#inherent_in .(dl#quality ,dl#entity )
             - dl#has_quality ;

            dl#constituted_by___substance___K .(dl#entity ,dl#entity )
             - dl#constitutes ,
             > dl#has_member ,
             & dolce#constitution ; 

               dl#has_member .(dl#entity ,dl#entity )
                - dl#member_of ;

         dl#mediated_relation .(dl#entity ,dl#entity )
          > dl#present_at dl#q_present_at dl#happens_at dl#overlaps dl#sibling_part dl#proper_part dl#generic_location dl#depends_on dl#host ,
          - dl#mediated_relation;

            dl#present_at .(dl#endurant ,dl#time_interval )
             - dl#time_of_presence_of ;

            dl#q_present_at .(dl#physical_quality ,dl#time_interval )
             - dl#time_of_q_presence_of ;

            dl#happens_at .(dl#perdurant ,dl#time_interval )
             - dl#time_of_happening_of ;

            dl#overlaps .(dl#entity ,dl#entity )
             - dl#overlaps;

            dl#generic_location .(dl#entity ,dl#entity )
             - dl#generic_location_of ,
             > dl#exact_location ;

               dl#exact_location .(dl#entity ,dl#region)
                - dl#exact_location_of ,
                > dl#location dl#e_temporal_location dl#p_spatial_location dl#abstract_location dl#depends_on_spatial_location ;

                  dl#location .(dl#entity ,dl#region)
                   - dl#location_of,
                   > dl#physical_location dl#temporal_location ;

                     dl#physical_location .(dl#physical_endurant ,dl#physical_region )
                      > dl#spatial_location ;

                        dl#spatial_location .(dl#physical_endurant ,dl#space_region )
                         - dl#spatial_location_of ;

                     dl#temporal_location .(dl#perdurant ,dl#temporal_region )
                      > dl#duration ,
                      - dl#temporal_location_of ;

                      dl#duration .(dl#perdurant ,dl#temporal_region )
                       - dl#duration_of ;

                  dl#e_temporal_location .(dl#endurant ,dl#temporal_region ) 
                   - dl#e_temporal_location ;

                  dl#p_spatial_location .(dl#perdurant ,dl#space_region )
                   - dl#p_spatial_location_of ;

                  dl#abstract_location .(dl#non-physical_endurant ,dl#abstract_region )
                   - dl#abstract_location_of ;

                  dl#depends_on_spatial_location .(dl#non-physical_endurant ,dl#space_region )
                   - dl#depend_on_spatial_location_of ;

            dl#depends_on .(dl#endurant ,dl#quality_or_endurant_or_perdurant )
             - dl#depend_on_of ,
             > dl#physically_depends_on dl#descriptively_depends_on ;

               dl#physically_depends_on .(dl#endurant ,dl#PQ_or_PED_or_PR_or_PD )
                - dl#physical_depend_on_of ;

               dl#descriptively_depends_on .(dl#endurant ,dl#non-physical_endurant )
                - dl#descriptive_depend_on_of ;

            dl#host .(dl#feature ,dl#entity)
             - dl#host_of ;


2.2.7.  Relations for particular applications

      pm#relation_for_an_application .(*) (^relation introduced by an application^)
       > pm#relation_coming_from_an_ontology ;

         pm#relation_coming_from_an_ontology
          > aktp#relation  pm#P3P_relation ;


2.3.  Categorization of relations according to the what/who/why/.../how questions

   pm#wh-/how_relation .(*) (^this type permits to categorize relations according to the usual who/what/why/where/when/how questions ; this is a traditional but very subjective and ineffective way of categorizing relations ^)
    > pm#who_relation  pm#what_relation  pm#why_relation  pm#where_relation  pm#when_relation  pm#how_relation ;

      pm#who_relation
       > pm#agent pm#initiator pm#experiencer pm#owner pm#generator pm#creator ;

      pm#what_relation
       > pm#object/result pm#process_attribute pm#mereological_relation pm#method pm#relation_from_collection pm#relation_to_collection pm#contextualizing_relation ;

      pm#why_relation
       > pm#cause pm#consequence pm#method pm#goal pm#triggering_event pm#ending_event pm#precondition pm#postcondition pm#purpose ;

      pm#where_relation (^where, from/to where, ...^)
       > pm#from/to pm#place pm#path_length pm#within_group pm#relation_to_another_spatial_object pm#spatial_origin ;

      pm#when_relation .(?,?)
       > {pm#relation_to_time pm#relation_from_situation_to_situation pm#temporal_relation } ;

      pm#how_relation
       > pm#instrument pm#method pm#sub_process pm#how_much_relation ;

         pm#how_much_relation
          > pm#duration pm#relation_to_attribute_or_quality_or_measure pm#relation_from_collection_to_number ;


2.4.  Categorization of relations according to certain properties

   pm#relation_with_particular_property (^this rather fuzzy type permits to group categorization schemes less common than those covered by the previous sibling categories^)
    > pm#relation_with_particular_mathematical_property
      {pm#binary_relation  pm#ternary_relation  pm#quaternary_relation  pm#relation_with_variable_arity }
      pm#relation_using_a_world_as_argument ;


2.4.1.  Relations with particular mathematical properties (transitivity, reflexivity, ...)

      pm#relation_with_particular_mathematical_property .(*)
       > pm#binary_relation_with_particular_mathematical_property ;

         pm#binary_relation_with_particular_mathematical_property .(?,?) //or (?x,?y) or (? *x, ? *y) or (pm#thing ?x, pm#thing ?y)  what if many defs?(ok if nbArgs fixed) //(?x) or (? *x) or (pm#thing ?x) declares a concept or refines a rel.//this declaration cat be prefixed by "type " or "relation " or "concept " or "metatype " or "individual "
          > pm#injective_binary_relation pm#trichotomizing_relation pm#reflexive_relation pm#irreflexive_relation pm#symmetric_relation pm#antisymmetric_relation pm#transitive_relation pm#intransitive_relation ;

            pm#injective_binary_relation .(?,?) (^if P is injective, then if P(x,y) and P(z,y) then x=z; e.g., if nameOfMonth(m,"Feb") and nameOfMonth(n,"Feb") then m and n are the same month; this category only serves structuration purposes: it is instance of pm#injective_binary_relation_type which is not instance of pm#class_of_inheritable_relation_type^);

            pm#trichotomizing_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#trichotomizing_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
              > pm#trichotomizing_relation_on_real_number ;

                pm#trichotomizing_relation_on_real_number .(sumo#quantity , sumo#quantity )
                 > sumo#less_than  sumo#greater_than  sumo#less_than_or_equal  sumo#greater_than_or_equal ;

            pm#reflexive_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#reflexive_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#equivalence_relation pm#partial_ordering_relation    sumo#overlaps_temporally  sumo#connected  sumo#overlaps_spatially ;

               pm#equivalence_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#equivalence_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
                > pm#similar pm#equal pm#equivalence  sumo#copy  sumo#equivalent_content_class  sumo#equivalent_content_instance  sumo#cooccur  sumo#family_relation ;
             // - pm#equivalence_relation ;

                  pm#similar .(?,?) (^DO NOT USE SUCH A RELATION TYPE DIRECTLY^)
                   > {pm#closely_similar pm#loosely_similar } pm#related_to ;

                     pm#closely_similar .(?,?) (^the '~' link in WebKB-2: currently only used between categories for Greek gods and their Roman counterparts, and between some types from the 3D (endurantist) approach and their counterparts from the 4D (perdurantist) approach or the ?D (vague/unspecified) approach)^);

                     pm#related_to .(?,?) (^the '&' link in WebKB-2 (currently used for representing a sumo#related_internal_concept relation)^)
                      > sumo#related_internal_concept ,
                        //pm#related_subdomain  pm#related_subdomain_object  pm#core_domain_object
                      & sumo#related_external_concept ;

                        sumo#related_internal_concept .(?,?) (^the two arguments are related concepts within the SUMO, i.e. there is a significant similarity of meaning between them; to indicate a meaning relation between a SUMO concept and a concept from another source, use sumo#related_external_concept^);

                  pm#equal .(?,?) (^"=" in KIF; true if the 1st argument is identical to the 2nd^)
                   > owl#same_as ,
                   ! pm#different ,
                   = sumo#equal ;

                     owl#same_as .(?,?) (^MORE PRECISE TYPES THAN THIS ONE SHOULD BE USED^)
                      > pm#same_type_as owl#same_individual_as ,
                      = daml#equivalent_to ;

                        owl#same_individual_as .(?,?)
                         ! owl#different_from ;

                  sumo#copy .(sumo#object ,sumo#object ) (^relates an object to an exact copy of the object, where an exact copy is indistinguishable from the original with regard to every property except (possibly) spatial and/or temporal location^);

               pm#partial_ordering_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#partial_ordering_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
                > pm#total_ordering_relation pm#inferior_or_equal_to pm#superior_or_equal_to pm#generalizing_type  sumo#subclass pm#specializing_type pm#constitution pm#part pm#wnMember pm#sub_collection  sumo#sub_attribute   sumo#sub_collection  sumo#less_than_or_equal_to  sumo#greater_than_or_equal_to  sumo#sub_list  sumo#initial_list  sumo#subsumes_content_class  sumo#subsumes_content_instance  sumo#temporal_part  sumo#before_or_equal  sumo#sub_process  sumo#sub_organization  sumo#geometric_part ;

                  pm#total_ordering_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#total_ordering_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
                   > pm#inferior_to pm#superior_to pm#before pm#after pm#before_location ;

                     pm#inferior_to___less_than___superior .(?,?) (^fuzzy category, DO NOT USE DIRECTLY^)
                      - pm#superior_or_equal_to ;

                     pm#superior_to___more_than___inferior .(?,?) (^fuzzy category, DO NOT USE DIRECTLY^)
                      - pm#inferior_or_equal_to ;

                  pm#inferior_or_equal_to___less_than_or_equal_to___superior_or_equal___maximum .(?,?) (^fuzzy category, DO NOT USE DIRECTLY^)
                   - pm#superior_to ;

                  pm#superior_or_equal_to___more_than_or_equal_to___inferior_or_equal___minimum .(?,?) (^fuzzy category, DO NOT USE DIRECTLY^)
                   - pm#inferior_to ;

                  pm#generalizing_type .(?,pm#type ) (^fuzzy category, DO NOT USE DIRECTLY^)
                   > pm#supertype pm#kind ,
                   - pm#specializing_type ;

                  pm#constitution .(?,?)
                   > pm#substance dl#constituted_by ;

                     pm#substance .(? -> ?)
                      > pm#matter ;

                        pm#matter .(pm#physical_entity -> pm#physical_entity_part_or_substance );

                  pm#wnMember .(?,?) (^member relation in WordNet^)
                   > pm#member ;

                  sumo#sub_attribute .(sumo#Attribute ,sumo#Attribute ) (^the second argument can be ascribed to everything which has the first argument ascribed to it^);

            pm#irreflexive_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#irreflexive_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#asymmetric_relation  sumo#successor_attribute_closure pm#different pm#inverse   sumo#less_than sumo#greater_than  sumo#increases_likelihood  sumo#decreases_likelihood  sumo#inhibits  sumo#prevents  sumo#sub_proposition  sumo#sub_plan  sumo#larger  sumo#smaller  sumo#starts  sumo#finishes  sumo#before  sumo#during  sumo#earlier  sumo#meets_spatially  sumo#overlaps_partially  sumo#superficial_part  sumo#connected_engineering_components  sumo#ancestor  sumo#sibling  sumo#brother  sumo#sister  sumo#spouse ;

               pm#asymmetric_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#asymmetric_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
                > sumo#immediate_instance  sumo#immediate_subclass  sumo#range  sumo#range_subclass  sumo#valence  sumo#documentation  sumo#successor_attribute  sumo#front_fn    sumo#back_fn  sumo#proper_part  sumo#contains  sumo#member  sumo#contains_information  sumo#leader  sumo#attribute  sumo#manner  sumo#probability_fn  sumo#in_list  sumo#closed_on  sumo#reflexive_on  sumo#irreflexive_on  sumo#partial_ordering_on  sumo#total_ordering_on  sumo#trichotomizing_on  sumo#equivalence_relation_on  sumo#causes  sumo#causes_subclass  sumo#time  sumo#holds_during  sumo#exploits  sumo#has_purpose  sumo#has_skill  sumo#crosses  sumo#penetrates  sumo#possesses  sumo#precondition  sumo#realization  sumo#expressed_in_language  sumo#uses  sumo#identity_element  sumo#element  sumo#cardinality_fn  sumo#measure  sumo#duration  sumo#frequency  sumo#meets_temporally  sumo#date  sumo#surface  sumo#interior_part  sumo#hole  sumo#hole_host_fn  sumo#partially_fills  sumo#properly_fills  sumo#completely_fills  sumo#fills  sumo#hole_skin_fn  sumo#geographic_subregion  sumo#geopolitical_subdivision  sumo#developmental_form  sumo#inhabits  sumo#authors  sumo#editor  sumo#publishes  sumo#version  sumo#parent  sumo#husband  sumo#wife  sumo#citizen  sumo#modal_attribute ;

                  sumo#successor_attribute .(sumo#Attribute ,sumo#Attribute ) (^the second argument is the attribute that comes immediately after the first on the scale that they share^);

               sumo#successor_attribute_closure .(sumo#Attribute ,sumo#Attribute ) (^transitive closure of successor_attribute: there is a chain of sumo#successor_attribute assertions connecting the two arguments^);

               pm#different___different_from .(?,?)
                > owl#different_from pm#exclusive_class ,
                ! pm#equal ;

                  owl#different_from .(?,?)
                   ! owl#same_individual_as ,
                   = daml#different_individual_from ;

            pm#symmetric_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#symmetric_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#equivalence_relation pm#different   sumo#independent_probability  sumo#overlaps_temporally  sumo#connected  sumo#meets_spatially  sumo#overlaps_spatially  sumo#overlaps_partially  sumo#connected_engineering_components  sumo#sibling  sumo#legal_relation  sumo#spouse  sumo#consistent ;

            pm#antisymmetric_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#antisymmetric_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#asymmetric_relation pm#partial_ordering_relation pm#different  sumo#partly_located ;

            pm#transitive_relation .(?,?)(^this category only serves structuration purposes: it is instance of pm#transitive_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#equivalence_relation pm#partial_ordering_relation    sumo#successor_attribute_closure  sumo#proper_part  sumo#less_than  sumo#greater_than  sumo#located  sumo#crosses  sumo#precondition  sumo#sub_proposition  sumo#sub_plan  sumo#larger  sumo#smaller  sumo#starts  sumo#finishes  sumo#before  sumo#during  sumo#earlier  sumo#superficial_part  sumo#interior_part  sumo#geographic_subregion  sumo#geopolitical_subdivision  sumo#developmental_form  sumo#version  sumo#ancestor  sumo#brother  sumo#sister dl#part dl#proper_part ;

            pm#intransitive_relation .(?,?) (^this category only serves structuration purposes: it is instance of pm#intransitive_relation_type which is not instance of pm#class_of_inheritable_relation_type^)
             > pm#inverse   sumo#immediate_instance  sumo#immediate_subclass  sumo#member  sumo#penetrates  sumo#element  sumo#meets_temporally  sumo#parent ;


2.4.2.  Relations categorized according to their fixed or variable arities

      pm#binary_relation .(?,?) (^in WebKB, most relation types are binary and some have a variable number of arguments (as in KIF), hence this type is currently only specialized by types that I do not want to see as direct subtypes of pm#relation^)
       > pm#unary_function dc#Relation {dc#Type dc#Description } pm#relation_from_or_to_WordNet_type ;

         pm#unary_function .(? -> ?) (^function that requires a single argument; currently not specialized by the SUMO ternary relations since this seems useless (for now)^);
   //     >  sumo#power_set_fn  sumo#front_fn  sumo#back_fn  sumo#abstraction_fn  sumo#extension_fn  sumo#probability_fn  sumo#list_length_fn  sumo#property_fn  sumo#absolute_value_fn  sumo#ceiling_fn  sumo#cosine_fn  sumo#denominator_fn  sumo#floor_fn  sumo#imaginary_part_fn  sumo#integer_square_root_fn  sumo#numerator_fn  sumo#rational_number_fn  sumo#real_number_fn  sumo#reciprocal_fn  sumo#round_fn  sumo#signum_fn  sumo#sine_fn  sumo#square_root_fn  sumo#tangent_fn  sumo#successor_fn  sumo#predecessor_fn  sumo#complement_fn  sumo#generalized_union_fn  sumo#generalized_intersection_fn  sumo#cardinality_fn  sumo#kilo_fn  sumo#mega_fn  sumo#giga_fn  sumo#tera_fn  sumo#milli_fn  sumo#micro_fn  sumo#nano_fn  sumo#pico_fn  sumo#magnitude_fn  sumo#wealth_fn  sumo#begin_fn  sumo#end_fn  sumo#when_fn  sumo#past_fn  sumo#immediate_past_fn  sumo#future_fn  sumo#immediate_future_fn  sumo#year_fn  sumo#hole_host_fn  sumo#hole_skin_fn  sumo#immediate_family_fn  sumo#government_fn  sumo#premises_fn ; //to do: check transitivity

         dc#Relation .(?,?) (^to specify a reference to a related resource; in WebKB, pm#relation or MORE PRECISE RELATION TYPES SHOULD BE USED INSTEAD^)
          > sumo#refers (pm);

            sumo#refers .(?,?) (^the 1st argument mentions or includes a reference to the 2nd argument, e.g., an article whose topic is a recent change in the price of oil may refer to many other things, e.g., the general state of the economy, the weather in California, the prospect of global warming, the options for alternative energy sources, the stock prices of various oil companies, etc.^)
             > sumo#names  sumo#represents rdfs#see_also ;

               sumo#represents .(?,?) (^the 1st argument in some way indicates, expresses, connotes, pictures, describes ... the 2nd argument^)
                > sumo#contains_information  sumo#realization ;

                  sumo#contains_information .(sumo#content_bearing_object ,sumo#proposition ) (^relates a content_bearing_object to the proposition it expresses; examples include the relationships between a physical novel and its story and between a printed score and its musical content^);

               rdfs#see_also .(?,pm#entity )
                > rdfs#is_defined_by owl#imports ,
                = daml#see_also (daml);

                  rdfs#is_defined_by .(?,pm#entity ) (^in WebKB, pm#definition SHOULD BE USED INSTEAD^)
                   > pm#definition ,
                   = daml#is_defined_by (daml);

                     pm#definition .(?,pm#description_content/medium/container ) (^see also #definition^)
                      > rst#definition ;

                  owl#imports .(?,pm#entity ) (^if imports(X,Y) and you believe X, then you should believe what is in Y^);

         dc#Type___type .(?,pm#entity ) (^to specify the nature or genre of the content of a resource; SHOULD NOT BE USED IN WEBKB^)
          > sumo#instance (pm);

            sumo#instance .(?, sumo#set_or_class ) (^if the common reading conventions of parameters had been respected, this type would have been named instance_of; an object is an instance of a set_or_class if it is included in that set_or_class; an individual may be an instance of many classes, some of which may be subclasses of others; thus, there is no assumption in the meaning of instance about specificity or uniqueness^)
             > pm#kind (pm)  sumo#immediate_instance ;

               sumo#immediate_instance .(?, sumo#set_or_class ) (^if the common reading conventions of parameters had been respected, this type would have been named immediate_instance_of; an object is an immediate_instance of a set_or_class if it is an instance of the set_or_class and there does not exist a subclass of set_or_class such that it is an instance of the subclass^);
   // [sumo#immediate_instance (*x,*c) =>
   //   ![a sumo#set_or_class *s, sumo#subclass: *c, sumo#instance of: *x] ]

         dc#Description .(?,pm#entity ) (^to specify an account of the content of a resource; in WebKB, pm#topic or pmdescr SHOULD BE USED INSTEAD^)
          > pm#topic (pm) pm#url (pm) pm#file_or_file_element (pm) owl#version_info (pm) pm#title (pm) rdfs#comment (pm) ;

            pm#topic .(?,pm#entity )
             > pm#annotation ;

               pm#annotation .(?,pm#description_content/medium/container ) 
                > pm#descr dc#Subject pm#origin  pm#use pm#advantage pm#disadvantage pm#definition pm#role pm#requirement pm#issue pm#trap ; //pm#purpose(?,?) already declared

                  pm#descr .(?,pm#description_content/medium/container ) (^for connecting an object to a formal representation of it, e.g., a representation written with a fcg^);
   
                  dc#Subject___subject .(pm#description,pm#entity ) (^to specify 1 or several topics; in WebKB, pm#descr SHOULD BE USED INSTEAD^);

            pm#url .(?,pm#URL );
   
            pm#file_or_file_element .(?,pm#description_container )
             > pm#file pm#file_element pm#descr_in ;

               pm#file .(?,pm#document_element )
                > pm#home_page ;

   //             pm#home_page .(? -> pm#document_element )
   //              = tap#home_page ;

               pm#file_element .(?,pm#document_element );

               pm#descr_in .(?,pm#description_container ) (^when a thing t has a description stored in a description container dc, there is a relation pm#descr_in from t to dc^)
                > pm#descr_container ;

                  pm#descr_container___description_support___descr_support .(pm#description,pm#description_container ) (^permits to associate a statement with an object on which it is represented^);

            owl#version_info .(? -> pm#entity ) (^generally, a string giving information about this version; e.g., RCS/CVS keywords^);

            pm#title .(? -> pm#string ) (^for connecting an object to its "title" in a natural language^);

            rdfs#comment .(?,pm#string ) (^for connecting an object to an informal representation of it, typically a node with a string inside; in WebKB, the FT and FCG notations permit to avoid using this relation type^)
             = daml#comment (daml) tap#description (pm)  sumo#documentation (pm);

               sumo#documentation .(?,pm#string ) (^a relation between objects in the domain of discourse and strings of natural language text; the domain of this relation is not constants (names), but the objects themselves; this means that one does not quote the names when associating them with their documentation^);


      pm#ternary_relation___ternary_only_relation .(?,?,?) (^relation with a fixed arity equal to 3; specialized by the SUMO ternary relations not categorized elsewhere^)
       > pm#binary_function  {sumo#confers_norm  sumo#deprives_norm };  //sumo#domain  sumo#domain_subclass  sumo#related_external_concept  sumo#conditional_probability  sumo#prefers  sumo#capability  sumo#has_purpose_for_agent  sumo#confers_norm  sumo#deprives_norm  sumo#between  sumo#represents_for_agent  sumo#represents_in_language  sumo#distance  sumo#temporally_between  sumo#temporally_between_or_equal  sumo#connects  sumo#orientation  sumo#occupies_position  sumo#point_of_intersection  sumo#geometric_distance ; //to do: check transitivity

         pm#binary_function .(?,? -> ?) (^function that requires two arguments; currently not specialized by the  SUMO ternary relations since this seems useless (for now)^);
   //     > pm#function_returning_a_collection_from_2_elements  sumo#list_order_fn  sumo#list_concatenate_fn  sumo#where_fn  sumo#multiplication_fn  sumo#addition_fn  sumo#subtraction_fn  sumo#division_fn  sumo#exponentiation_fn  sumo#log_fn  sumo#max_fn  sumo#min_fn  sumo#remainder_fn  sumo#union_fn  sumo#intersection_fn  sumo#relative_complement_fn  sumo#kappa_fn  sumo#measure_fn  sumo#interval_fn  sumo#per_fn  sumo#time_interval_fn  sumo#recurrent_time_interval_fn  sumo#month_fn  sumo#day_fn  sumo#hour_fn  sumo#minute_fn  sumo#second_fn  sumo#temporal_composition_fn  sumo#mereological_sum_fn  sumo#mereological_product_fn  sumo#mereological_difference_fn  sumo#edition_fn  sumo#series_volume_fn  sumo#periodical_issue_fn  sumo#relative_time_fn ; //to do: check transitivity

         sumo#confers_norm .(pm#thing ,sumo#formula ,sumo#objective_norm ) (^the 1st argument brings it about that the formula has the objective_norm^);

         sumo#deprives_norm .(pm#thing ,sumo#formula ,sumo#objective_norm ) (^the 1st argument brings it about that the formula does not have the objective_norm^);


      pm#quaternary_relation___quaternary_only_relation .(?,?,?) (^relation with a fixed arity equal to 4^)
       > kif#subst ;

         kif#subst .(?,?,? -> ?);


      pm#relation_with_variable_arity .(*) (^this category only serves structuration purposes: it is instance of pm#variable_arity_relation_type which is not instance of pm#class_of_inheritable_relation_type; currently not specialized by the SUMO ternary relations since this seems useless (for now)^);
   //  > sumo#disjoint_relation  sumo#contrary_attribute  sumo#exhaustive_attribute  sumo#exhaustive_decomposition  sumo#disjoint_decomposition  sumo#partition  sumo#assignment_fn  sumo#holds  sumo#list_fn  sumo#greatest_common_divisor_fn  sumo#least_common_multiple_fn ;


2.4.3.  Relations using a world as argument

      pm#relation_using_a_world_as_argument .(dolce#world , *)
       > pm#relation_from_a_world ;

         pm#relation_from_a_world .(dolce#world , *)
          > pm#concept_in_Dolce_Full  pm#relation_in_Dolce_Full ;
   
            pm#concept_in_Dolce_Full .(dolce#world , ?)
             > dolce#non-empty_universal ;
   
               dolce#non-empty_universal___NEP .(dolce#world ,dolce#universal );
                // := [ wldr(?w0,world ?w) => ?f(?w,a particular ?y) ];
   
               pm#relation_in_Dolce_Full .(dolce#world ,*)
                > dolce#wldr  dolce#constitution
                  pm#participant_in_Dolce_Full  pm#part_in_Dolce_Full  pm#quality_in_Dolce_Full  pm#quale_in_Dolce_Full ;
   
                  dolce#wldr___WLDR .(dolce#world ,dolce#world );
   
                  dolce#constitution___K .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular );
   
                  pm#participant_in_Dolce_Full .(dolce#world ,dolce#particular ,dolce#particular +)
                   > dolce#participant dolce#total_participant dolce#temporary_total_participant dolce#constant_participant dolce#maximal_participant dolce#maximal_physical_participant ;
   
                     dolce#participant___PC .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular);
   
                     dolce#total_participant___PC.T .(dolce#world ,dolce#particular ,dolce#particular );
   
                     dolce#temporary_total_participant___PC.t .(dolce#world ,dolce#particular ,dolce#particular ,dolce#particular );
   
                     dolce#maximal_participant___mpc .(dolce#world ,dolce#particular ,dolce#particular );
   
                     dolce#maximal_physical_participant___mppc .(dolce#world ,dolce#particular ,dolce#particular );
   
                  pm#quality_in_Dolce_Full .(dolce#world ,dolce#particular ,dolce#particular +)
                   > dolce#qt dolce#direct_quality ;
   
                     dolce#qt___quality .(dolce#world ,dolce#particular ,dolce#particular );
   
                     dolce#direct_quality___dqt .(dolce#world ,dolce#particular ,dolce#particular);
   
                  pm#quale_in_Dolce_Full .(dolce#world ,dolce#particular ,dolce#particular +)
                   > dolce#ql___quale dolce#temporary_quale ;
   
                     dolce#ql___quale .(dolce#world ,dolce#particular ,dolce#particular );
                       //pm: arg inversion wrt dl#has_quale
                     dolce#temporary_quale___ql .(dolce#world, dolce#particular, dolce#particular, dolce#particular);




Annexe 1.  WordNet categories

These categories and their relationships are stored in html/kb/lexical/theKB_Wordnet.html.
echo "loading WordNet ...";   load html/kb/lexical/theKB_Wordnet.html;




Annexe 2.  Categories/links below or between WordNet categories

if (1)
{
//----- Specializations of pm#situation

#factor
 > pm#human_factor ;

#movement
 > #movement.change (pm) #human_motion (pm);

#life
 > #life.organic_phenomenon (pm);

#radiation 
 > #radiation.action (pm);

#explosion
 > #explosion.action (pm);

#verbal_creation
  > pm#interlingual_translation ;

    pm#interlingual_translation___translation ;

#prayer
 > #petition.prayer (pm);

#battle
 > pm#battle_in_France ;

   pm#battle_in_France
    : #Agincourt #French_Revolution #battle_of_the_Marne #Chalons-sur-Marne #battle_of_Crecy #battle_of_Ivry #Meuse-Argonne_operation #siege_of_Orleans #battle_of_Poitiers #battle_of_Rocroi #battle_of_Saint_Mihiel #battle_of_Soissons-Reims #WWI_battle_of_the_Somme #WWII_battle_of_the_Somme #battle_of_Tertry #battle_of_Valmy #battle_of_Verdun ,
    location:  #France ;


//----- Specializations of pm#space

#figure.shape
 > pm#thing_with_a_special_shape ;

   pm#thing_with_a_special_shape
    > pm#flat_thing  pm#car_with_a_special_shape ;

#district
 > pm#australian_district ,
 : pm#Darmstadt ;

   #Germany
    part:  pm#Darmstadt ;

   #Queensland //p QLD#area_near_Brisbane ;
     part:  QLD#Gold_Coast QLD#Fortitude_Valley ;

   pm#australian_district (^$(many specializations)$ ^)
    : QLD#Gold_Coast QLD#Fortitude_Valley QLD#Sunshine_Coast QLD#Whitsunday #Adelaide NT#Alice_Springs NSW#Armidale #Auckland NT#Ayers_Rock Oz#Blackwater Oz#Brampton_Island #Brisbane Oz#Broken_Hill Oz#Broome Oz#Bundaberg Oz#Burnie QLD#Cairns #Canberra NSW#Coffs_Harbour #Darwin Oz#Devonport Oz#Dubbo Oz#Dunk_Island SA#Edinburgh Oz#Emerald Oz#Gladstone QLD#Coolangatta Oz#Gove Oz#Grafton QLD#Great_Keppel QLD#Hervey_Bay #Hobart Oz#Kalgoorlie Oz#Karratha Oz#Kempsey Oz#Launceston QLD#Lizard_Island QLD#Lord_Howe_Island QLD#Mackay QLD#Maroochydore Oz#Maryborough Oz#McArthur_River #Melbourne Oz#Mildura Oz#Moree Oz#Mount_Gambier Oz#Narrabri Oz#Newcastle #Perth Oz#Port_Hedland Oz#Port_Lincoln Oz#Port_Macquarie QLD#Proserpine Oz#Renmark Oz#Rockhampton #Sydney Oz#Tamworth Oz#Taree Oz#Thursday_Island Oz#Toowoomba QLD#Townsville #Wellington Oz#Whyalla QLD#Arundel QLD#Ashmore QLD#Labrador QLD#Nerang QLD#Parkwood QLD#Robina QLD#Southport QLD#Surfers_Paradise ;

      QLD#Gold_Coast
       part:  QLD#Arundel QLD#Ashmore QLD#Coolangatta QLD#Labrador QLD#Nerang QLD#Parkwood QLD#Robina QLD#Southport QLD#Surfers_Paradise ;

      QLD#Sunshine_Coast
       part:  QLD#Maroochydore ;

      QLD#Whitsunday
       part:  QLD#Proserpine ;

#city
 > #capital_city (pm);


//----- Specializations of pm#physical_entity


//----- Specializations of pm#entity_that_can_be_or_was_alive

#female
 > #female_person (pm);

#male
 > #male_person (pm);


//----- Specializations of dl#non-agentive_physical_object //not as strong as (now obsolete) pm#physical_entity_that_cannot_be_alive

#physical_object
 name: objet (pm) chose (pm);  //pm:2020-04-04: the next line !works if theKB_Wordnet.html is not loaded
// name: objet (pm #French) chose (pm #French);

   #system.instrumentality
    > pm#GPS___geo_positioning_system pm#air_conditioning_system ;

      pm#GPS___geo_positioning_system ;

      pm#air_conditioning_system___air_conditioning___air-con___air ;

   sumo#compound_substance (^$(not in top-level ontology)$ substances that contain two or more elements (sumo#elemental_substances), in definite proportion by weight; the composition of a pure compound will be invariant, regardless of the method of preparation; compounds are composed of more than one kind of atom (element); the term molecule is often used for the smallest unit of a compound that still retains all of the properties of the compound; examples: table salt (sodium chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), and water (H_2O)^);

   sumo#elemental_substance (^$(not in top-level ontology)$ pure_substances that cannot be separated into two or more substances by ordinary chemical (or physical) means; this excludes nuclear reactions; elemental_substances are composed of only one kind of atom, e.g., iron (Fe), copper (Cu), and oxygen (O_2); elemental_substances are the simplest pure_substances^)
    > sumo#metal  sumo#atom  sumo#subatomic_particle ;

      sumo#metal (^an elemental_substance that conducts heat and electricity, is shiny and reflects many colors of light, and can be hammered into sheets or drawn into wire; about 80% of the known chemical elements (sumo#elemental_substances) are metals^);

      sumo#atom (^an extremely small unit of matter that retains its identity in Chemical reactions; it consists of an atomic_nucleus and electrons surrounding the atomic_nucleus^);

      sumo#subatomic_particle (^the class of elemental_substances that are smaller than atoms and compose atoms^)
       > sumo#atomic_nucleus  sumo#electron  sumo#proton  sumo#neutron ;

         sumo#atomic_nucleus (^the core of the atom; it is composed of protons and neutrons^)
          part:  sumo#proton  sumo#neutron ;
         sumo#electron (^sumo#subatomic_particles that surround the atomic_nucleus; they have a negative charge^);

         sumo#proton (^components of the atomic_nucleus; they have a positive charge^);

         sumo#neutron (^components of the atomic_nucleus; they have no charge^);



//----- Specializations of pm#psychological_entity

#theoretical_account
 > pm#graph_model pm#KADS_model ;

   pm#graph_model
    > pm#Conceptual_Graph_model pm#RDF_model ;

   pm#KADS_model
    > pm#KADS1_model ;

      pm#KADS1_model
       > pm#KADS1_layer_of_Model_of_Expertise pm#KADS1_Model_of_Expertise pm#KADS1_Conceptual_Model ;

         pm#KADS1_layer_of_Model_of_Expertise
          > pm#KADS1_inference_layer pm#KADS1_task_layer pm#KADS1_domain_layer ;

         pm#KADS1_Model_of_Expertise
          > pm#KADS1_model_of_problem_solving_expertise pm#KADS1_model_of_communication_expertise pm#KADS1_model_of_cooperation_expertise pm#KADS1_strategy_layer ,
          part:  pm#KADS1_inference_layer pm#KADS1_task_layer pm#KADS1_domain_layer ;

         pm#KADS1_Conceptual_Model
          part:  pm#KADS1_model_of_problem_solving_expertise pm#KADS1_model_of_communication_expertise pm#KADS1_model_of_cooperation_expertise ;

#project
 > #software (pm);




//----- Specializations of pm#description_content

#info
 > #publication (pm);

   #data_format
    > {format#purpose_related_format format#media_dependant_format }(format);

      format#purpose_related_format
       > {format#executable_format format#archive_format format#compressed_data_format };

         format#executable_format
          > {format#bin format#exe };

         format#archive_format
          > {format#tar format#gtar format#shar format#sit format#hqx };

         format#compressed_data_format
          > {format#zip format#gz format#Z };

#definition
 > {pm#formal_definition pm#informal_definition }(pm) {(pm#partial_definition pm#total_definition )}(pm) pm#category_definition ;



//----- Specializations of pm#description_medium

//#linguistic_communication
// > sumo#language ;

#programming_language
 > pm#declarative_language pm#Web-scripting_language ;

   #algorithmic_language
    > pm#procedural_language ;

      pm#procedural_language
       > pm#procedural_compiled_language  pm#procedural_scripting_language ;

         pm#procedural_compiled_language
          > #Java_language #COBOL #C #Pascal ;

            #Java_language
             > pm#Java_1.0 pm#Java_2.0 ;

         pm#procedural_scripting_language
          > pm#procedural_Web-scripting_language #LISP  #BASIC ;

            pm#procedural_Web-scripting_language
             > pm#Javascript ;

               pm#Javascript
                > pm#Javascript_1.0 pm#Javascript_2.0 ;

   pm#declarative_language
    > pm#rule_based_language pm#file_formatting_language pm#declarative_Web-scripting_language ;

      pm#rule_based_language
       > pm#purely_declarative_rule_based_language ;

         pm#purely_declarative_rule_based_language (^rule-based language without implicit instructions, e.g., the order between the rules is not important^);

      pm#declarative_Web-scripting_language
       > pm#style_sheet_language ;

   pm#Web-scripting_language___language_interpreted_by_Web_browsers
    > {pm#procedural_Web-scripting_language pm#declarative_Web-scripting_language } /* ,
    pm#url:  http://www.phmartin.info/cours/int3004/ */ ;

//#software
// > pm#knowledge_based_management_system pm#information_retrieval_system ;

   #text_editor
    > pm#Emacs_text_editor ;

/* in IT.html:
   km#knowledge_based_IR_system //also a subtype of it#IR_system (see below)
    > {km#WebKB km#CGKAT };

      km#WebKB
       > {km#WebKB-1 km#WebKB-2},
       pm#url:  http://www.webkb.org;

         km#WebKB-1___WebKB_private_annotation_tool;
         km#WebKB-2___WebKB_shared_annotation_tool;

      km#CG_based_KBMS > {km#WebKB km#CGWorld km#PROLOG\+CG km#CoGITaNT km#Notio };
*/

   #computer_program
    > is#script is#program_written_in_a_certain_language ;

      is#script (^program witten with an interpreted language^)
       > {is#class_script is#object_script is#global_script};

         is#class_script (^script associated to a class^);

         is#object_script (^script associated to a class instance (that is not a class itself^);

         is#global_script (^script that is not associated to an object or a class^);

      is#program_written_in_a_certain_language
       > {#LISP_program  #FORTRAN_program  #C_program };

#sensitivity
 > is#case_sensitivity ;

#parameter
 > is#subroutine_parameter ;

#language_unit
 > pm#category_identifier ;

   #markup_language
    > pm#XML pm#XML_based_language ;

      pm#XML (^the language for describing XML-based languages; see http://www.w3.org/XML^);

      pm#XML_based_language___XML_based_notation (^any notation following an XML schema; see http://www.w3.org/^)
       > pm#XHTML pm#SVG pm#RDF/XML pnml#PNML (pnml);

         pm#XHTML (^description in http://www.w3.org/MarkUp/^);

         pm#SVG (^Scalable Vector Graphics; description in http://www.w3.org/Graphics/SVG/^);

         pm#RDF/XML (^XML notation for the RDF model^)
          : pm#RDF_syntax_of_22-02-1999 ;

            pm#RDF_syntax_of_22-02-1999 (^description in http://www.w3.org/TR/1999/REC-rdf-syntax-19990222^);

         pnml#PNML (^the PNML language^)
          > pnml#EPNML pnml#PNK;

   #name
    > pm#previous_surname pm#middle_name ;

   pm#category_identifier___formal_term ;


//----- Specializations of pm#description_container

#file
 > pm#special_file pm#unretrievable_file ;

   #computer_file
    > {#binary_file #text_file }(pm);

      #binary_file
       > pm#GIF_file ;

      #text_file
       > pm#plain_text_file pm#structured_text_file pm#encoded_text_file ;

         pm#structured_text_file
          > pm#HTML_file ;

         pm#encoded_text_file
          > pm#postscript_file ;

   pm#special_file
    > pm#computer_program pm#documentation pm#repository pm#WWW_file ;

      pm#computer_program___software_file
       > pm#freeware_file pm#web_search_engine #source_code ;

      pm#documentation
       > pm#tutorial pm#lecture pm#user_manual #software_documentation;

      pm#repository
       > pm#web_index pm#Yellow_Pages pm#WWW_home_page pm#cookie ;

         pm#web_index
          > pm#web_index_and_search_engine ;


//----- Specializations of pm#attribute_or_quality_or_measure

#day_of_the_week
 > {#rest_day #weekday }(pm) {(pm#workday pm#weekend_day )}(pm);

   #weekday
    > pm#workday (pm);

      pm#workday
       > {(#Monday #Tuesday #Wednesday #Thursday #Friday )};

   pm#weekend_day
    > {(#Saturday #Sunday )};

#acceleration
 > #acceleration_unit (pm);

#distance
 > #linear_unit (pm) #length.distance (pm);

   #length.distance
     > #length (pm);

#flux_density
 > #flux_density_unit (pm);

#angle
 > #angular_unit (pm);

#color
 > {(#chromatic_color #achromatic_color )}(pm);

   #chromatic_color
    > {#red #orange_color #yellow #green #blue #purple #pink #brown #olive_color #pastel }(pm);

   #yellow
    > pm#blond_color ;

      pm#blond_color___blond___blonde (^light yellow^);

   #achromatic_color
    > {#black #white #gray }(pm);

#rate
 > pm#computer_speed #pace.rate (pm) pm#m/s ;

   pm#computer_speed
    > pm#computer_speed_unit ;

      pm#computer_speed_unit
       > #MFLOPS #MIPS ;

   pm#m/s___meter_per_second ;

#temperature
 > #temperature_unit (pm);

#mass
 > #mass_unit (pm);

#temperature_unit
 > pm#celsius pm#fahrenheit ;

#capacity.indefinite_quantity
 > #computer_memory_unit (pm);

#capacity.volume
 > #metric_capacity_unit (pm);

#price
 > #monetary_value (pm);

   #monetary_value
    > #cost (pm)  pm#free;

#age
 > #time_of_life (pm);

#viscosity
 > #unit_of_viscosity (pm);

#hardness
 > #Brinell_number (pm);

#sound.mechanical_phenomenon
 > #sound_unit (pm);  //not = #sound  //semantically and because of handling pbs

#inductance
 > #inductance_unit (pm);

#weight
 > #metric_weight_unit (pm) #weight_unit (pm);

#forcefulness
 > #force_unit (pm);

#size
 > #unit_of_measurement (pm) #physical_size (pm) pm#queen_size pm#king_size;
   //pm: new: #physical_size   pm#queen_size pm#king_size
   //pm: new: #size.magnitude #size_of_it marked as artificial

#field_strength
 > #field_strength_unit (pm);

#surface_area
 > #area_unit (pm);

#pressure
 > #pressure_unit (pm);

//impossible: #work.energy > #work_unit (pm);
//            #electromagnetism > #electromagnetic_unit (pm);

#month part:  #day (pm);  #calendar_month part:  #day (pm);



//----- Specializations of pm#collection

pm#ontology (^$(not in top-level ontology)$ a set of categories, and definitions or axioms about these categories^)
 > dolce#Dolce_version ,
 part:  pm#category_identifier pm#category_definition ,
 = owl#ontology ;

   dolce#Dolce_version___Dolce (^a version of the Dolce ontology^)
    > dolce#dolce_full dolce#Dolce_lite,
    pm#url:  http://wonderweb.semanticweb.org/deliverables/D18.shtml ;

      dolce#dolce_full___Dolce (^a full version of Dolce^)
       pm#url:  http://wonderweb.semanticweb.org/deliverables/D18.shtml ; //associated with dolce

      dolce#Dolce_lite___dl (^a restricted version of Dolce that can be expressed in OWL DL^)
       pm#url:  http://www.loa-cnr.it/DOLCE.html ; //associated with the user dl
      //dc#creator: a.gangemi at istc.cnr.it, pm#object: pm#thing, owl#versionInfo: 2.2; 10/12/2002

#French_people
 pm#member: #French_person (pm);


//----- Specializations of pm#divisible_entity

#money
 > #monetary_unit (pm);

#monetary_value
 > #monetary_unit (pm);

#creation_result
 > #written_document (pm);

// #product > #artifact (pm); wrong, and this was actually the reverse in WordNet
//I now have added: pm#created_thing > #artifact


//----- Specializations of pm#causal_entity

#person
 > pm#male_or_female_person pm#in_relationship_person ;

   #French_person
    > pm#French_researcher ;

      pm#French_researcher
       : spamOnly@phmartin.info f.modave@gu.edu.au ;

   #Australian
    > pm#Australian_researcher ;

//    pm#Australian_researcher
//     : spamOnly@phmartin.info ;  in Feb 2004; then change filtering example

   #researcher
    > pm#Australian_researcher ;

   #Gibraltarian
    location:  #Gibraltar (pm);

   pm#male_or_female_person
    > {(#male_person #female_person )};

   pm#in_relationship_person
    > {pm#single_person #spouse pm#person_in_de_facto_relationship };

#institution
 > pm#research_center ;


#agency
 > pm#real_estate_agency pm#tour_operator ;



//----- Specializations of pm#thing_playing_some_role

//pm#Domain_object (^$(not in top-level ontology)$ ^)
// > comms#comms_object (comms);

pm#thing_needed_for_knowledge_engineering (^$(not in top-level ontology)$ ^)
 > pm#thing_needed_for_KADS_knowledge_engineering ;

   pm#thing_needed_for_KADS_knowledge_engineering
    > pm#knowledge_engineering_with_KADS pm#KADS_model pm#description_with_KADS_inference_structure kads#role ;

#component_part
 > pm#address_part #region (pm);

   pm#address_part
    > pm#integer_address_part pm#street_name pm#housing_name pm#building_name pm#additional_address_details ;

//#pain > #pain_unit (pm); //no, the first is a situation

#employee
 > #cashier (pm) #managing_director (pm);

#sibling
 > #female_sibling (pm) #male_sibling (pm);
}



Philippe A. MARTIN