Relation pm#relation_from_type (type,*) type of relations from a concept/relation type, i.e. in RDFS terminology, from a class or a property
supertype: relation_from_collection
subtype: specializing_type (type,?)
subtype: instance (type,?) the ':' link in the FT notation
subtype: subtype__subtype_or_equal (type,type) subtype links should actually be strict subtype links or not much checking can be done
subtype: strict_subtype (type,type) the '>' link in the FT notation
subtype: properly_subsumes_leaf__PSBL (type,type) the 2nd type is a leaf type properly subsumed by the 1st type
subtype: subsumes_leaf__SBL (type,type) the 2nd type is a leaf type subsumed by the 1st type
subtype: properly_subsumes_leaf__PSBL (type,type) the 2nd type is a leaf type properly subsumed by the 1st type
subtype: supertype (type,type) in the FT notation, the '<' link is only used to connect to a "strict" supertype
subtype: sub_class_of__subclassof__super_class__superclas (class,class) in WebKB, use the link '<'
subtype: subrelation (relation_type,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
subtype: sub_property_of (binary_relation_type,binary_relation_type) in WebKB, use the link '<'
subtype: same_type_as (type,type)
subtype: equivalent_class (class,class) in WebKB, use the link '='
subtype: equivalent_property (binary_relation_type,binary_relation_type) in WebKB, use the link '='
subtype: exclusive_type__exclusivetype (type,type) in WebKB, use the '!' link
subtype: exclusive_class__exclusiveclas (class,class) the 2 classes have no common subtype/instance; in WebKB, use the link '!'
subtype: complement_class (class -> class) if something is not in one of the classes, then it is in the other, and vice versa; in WebKB, use the link '/'
subtype: closed_exclusion (type -> 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
subtype: complement_type (type -> type) a supertype of owl#complement_of which can only connect RDFS/OWL classes
subtype: complement_class (class -> class) if something is not in one of the classes, then it is in the other, and vice versa; in WebKB, use the link '/'
subtype: relation_from_relation_type (relation_type,*)
subtype: relation_from_binary_relation_type (binary_relation_type,*)
subtype: relation_to_another_binary_relation_type (binary_relation_type,binary_relation_type)
subtype: equivalent_property (binary_relation_type,binary_relation_type) in WebKB, use the link '='
subtype: sub_property_of (binary_relation_type,binary_relation_type) in WebKB, use the link '<'
subtype: inverse__reverse (binary_relation_type -> 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 '-'
subtype: domain (binary_relation_type,class)
subtype: range (binary_relation_type,class)
subtype: domain (relation_type,positive_integer,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
subtype: domain_subclass (relation_type,positive_integer,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
subtype: range (function_type,set_or_class) gives the range of a function, i.e. all of the values assigned by the function are instances of sumo#class
subtype: range_subclass (function_type,set_or_class) all of the values assigned by the function in the 1st argument are subclasses of the 2nd argment
subtype: valence (relation_type,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
subtype: disjoint_relation (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
subtype: holds__hold (relation_type,*) (holds P N1 ... NK) is true when the tuple of objects denoted by N1,..., NK is an element of the relation P
subtype: assignment_fn (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
subtype: distributes__distribute (binary_function_type,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
subtype: relation_from_class (class,*)
subtype: relation_from_class_to_collection (class,collection)
subtype: union_of__unionof (class,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
subtype: disjoint_union_of (class,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
subtype: intersection_of (class,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
subtype: one_of__oneof (class,list) for oneOf(C,L) read everything in C is one of the things in L
subtype: distinct_members (all_different,list)
subtype: relation_to_another_class (class,class+)
subtype: sub_class_of__subclassof__super_class__superclas (class,class) in WebKB, use the link '<'
subtype: equivalent_class (class,class) in WebKB, use the link '='
subtype: exclusive_class__exclusiveclas (class,class) the 2 classes have no common subtype/instance; in WebKB, use the link '!'
subtype: restricted_by (class,restriction)
subtype: disjoint_decomposition (class,class+) a disjoint_decomposition of a class C is a set of mutually disjoint subclasses of C
subtype: partition (class,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
subtype: exhaustive_decomposition (class,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)
subtype: partition (class,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
subtype: abstraction_fn__abstractionfn (class -> Attribute) a unary_function that maps a class into an attribute that specifies the condition(s) for membership in the class
subtype: relation_from_sumo_process_class (sumo_process_class,*)
subtype: causes_subclass (sumo_process_class,sumo_process_class) the 1st argument brings about the 2nd, e.g., (causes_subclass killing death)
subtype: capability (sumo_process_class,case_relation_type,object) the object has the ability to play the role (case relation) in the given kinds of processes
subtype: has_skill__hasskill (sumo_process_class,agentive_physical_object) similar to the capability predicate with the additional restriction that the ability be practised or demonstrated to some measurable degree
subtype: relation_from_attribute_type (attribute_class,*)
subtype: contrary_attribute (attribute_class,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
subtype: exhaustive_attribute (attribute_class,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
subtype: relation_from_restriction (restriction,*)
subtype: on_property (restriction,binary_relation_type) for onProperty(?restrClass,?rel), read: ?restrClass is a restricted with respect to property ?rel
subtype: all_values_from (restriction,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)
subtype: has_value__hasvalue (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
subtype: some_values_from (restriction,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
subtype: has_class_q__hasclassq (restriction,class) property for specifying class restriction with cardinalityQ constraints
subtype: cardinality (restriction -> nonnegative_integer) 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)
subtype: cardinality_q__cardinalityq (restriction -> nonnegative_integer) 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)
subtype: min_cardinality__mincardinality (restriction -> nonnegative_integer) 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)
subtype: min_cardinality_q__mincardinalityq (restriction -> nonnegative_integer) 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)
subtype: max_cardinality__maxcardinality (restriction -> nonnegative_integer) 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)
subtype: max_cardinality_q__maxcardinalityq (restriction,nonnegative_integer) 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)
subtype: wnObject (class,?)
subtype: wnNounType (class,?)
subtype: relation_from_type_to_collection (type,collection)
subtype: partition (type,collection)
subtype: instances__instance (type -> collection)
subtype: subtypes (type -> collection)
subtype: relation_from_class_to_collection (class,collection)
subtype: material__material_type_of (substance_class,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